操作系統(tǒng)概念學(xué)結(jié)
經(jīng)過一天半的戰(zhàn)斗,終于把操作系統(tǒng)概論這本書給拿下了。對(duì)于曾經(jīng)專業(yè)課學(xué)過一些電腦硬件知識(shí)的我來說,這本書更加吸引我,以前一些聽過的名詞或高大上的詞語在這本書上被詳細(xì)介紹了,看的非常有收獲。下面來總結(jié)下自己的收獲:
首先第一章引論,在這里首先介紹了計(jì)算機(jī)系統(tǒng),包括了軟件和硬件兩部分。
接下來就是第一章的重點(diǎn):操作系統(tǒng)。如下圖:
當(dāng)前流行的操作系統(tǒng)有windows、unix、linux等。微軟的windows系統(tǒng)經(jīng)歷了一個(gè)從簡(jiǎn)單到復(fù)雜,從低級(jí)到高級(jí)的過程;從ms-dos---windows 3---windows 95---windows 98---windows nt---windows 2000,再到現(xiàn)在win7、8甚至win10,微軟始終在進(jìn)步。unix是一個(gè)通用的交互式分時(shí)操作系統(tǒng),有at&t公司下屬的bell實(shí)驗(yàn)室開發(fā),在誕生后,源代碼就一直公開,用戶可以參與到unix的升級(jí)中。unix的特點(diǎn):1.短小精悍;2.可裝卸的多層次文件系統(tǒng);3.可移植性好;4.網(wǎng)絡(luò)通信功能強(qiáng)。linux是網(wǎng)絡(luò)時(shí)代的產(chǎn)品,繼承于unix,并做了很多改進(jìn)。
第一章總領(lǐng)了全書,后面的二三四五六章都是講的計(jì)算機(jī)的各種管理,總結(jié)如下圖:
在這里我把每章中的重點(diǎn)用紅色的顏色標(biāo)記出來了,這樣在精讀的時(shí)候就可以有重點(diǎn)的向外擴(kuò)散,抓住考點(diǎn),征服考試。第一遍閱讀畫的有點(diǎn)粗糙,在精讀的時(shí)候再大大的豐富下。
操作系統(tǒng)概念學(xué)結(jié) [篇2]
1.什么是計(jì)算機(jī)性能
所謂計(jì)算機(jī)的性能(performance)通常是指計(jì)算機(jī)的速度,它是程序執(zhí)行時(shí)間的倒數(shù)。而程序執(zhí)行時(shí)間是指用戶向計(jì)算機(jī)送入一個(gè)任務(wù)后,直到獲得他需要的結(jié)果這一段等待時(shí)間。
包括:
1.訪問磁盤和訪問存儲(chǔ)器的時(shí)間
2.cpu 運(yùn)算時(shí)間
#url#動(dòng)作時(shí)間
4.操作系統(tǒng)的開銷時(shí)間等。
2.linux桌面操作系統(tǒng)性能分析意義1.操作系統(tǒng)的性能直接影響了其上應(yīng)用系統(tǒng)的性能
2.性能評(píng)估結(jié)果是用戶在操作系統(tǒng)選購過程中的重要參考指標(biāo)
3.為開發(fā)者優(yōu)化操作系統(tǒng)的性能提供指導(dǎo)
4.為操作系統(tǒng)的評(píng)測(cè)提供依據(jù)
3.linux桌面操作系統(tǒng)性能分析難點(diǎn)1.應(yīng)用千差萬別
2.測(cè)試點(diǎn)過多
3.依賴多種因素和特征
4.沒有針對(duì)性
5.沒有實(shí)際應(yīng)用前景
4.如何評(píng)測(cè)計(jì)算機(jī)的性能1.機(jī)器級(jí)的性能評(píng)測(cè)
機(jī)器級(jí)的性能評(píng)測(cè),包括 cpu 和存儲(chǔ)器的某些基本性能指標(biāo),計(jì)算機(jī)的可用性與有效性以及機(jī)器成本、價(jià)格與性/價(jià)比等,它是引進(jìn)和購買計(jì)算機(jī)時(shí)最主要的選擇依據(jù)。
2.算法級(jí)的性能評(píng)測(cè)
算法級(jí)的性能評(píng)測(cè)方法主要用于并行機(jī)評(píng)測(cè),最初大都是為了評(píng)價(jià)并行算法的性能提出的,后來這些評(píng)測(cè)方法也被推廣到并行程序上。
3.程序級(jí)的性能評(píng)測(cè)
程序級(jí)的性能評(píng)測(cè)主要是使用一組基準(zhǔn)測(cè)試程序(benchmark)測(cè)試和評(píng)價(jià)計(jì)算機(jī)系統(tǒng)的各種性能。
5.測(cè)試程序準(zhǔn)確度層次1.真實(shí)程序
通過運(yùn)行實(shí)際應(yīng)用程序, 例如 c 語言的各種編譯程序、 tex 文本處理軟件、 cad 設(shè)計(jì)工具 spice等
2.核心程序
它是從實(shí)際程序中抽取少量但很關(guān)鍵的代碼段,并以此來評(píng)估程序性能
3.小測(cè)試程序
這些測(cè)試程序的代碼長(zhǎng)度一般在100行之內(nèi),用戶可以根據(jù)自己的目的隨時(shí)編寫一些小段程序,并按已預(yù)知的輸出結(jié)果(如皇后問題、排序問題、求素?cái)?shù)等)來判斷機(jī)器的性能。
4.綜合測(cè)試程序
它是首先對(duì)大量的應(yīng)用程序中的操作進(jìn)行統(tǒng)計(jì),得到各種操作比例,再以此比例人為制造出測(cè)試程序。
6.基準(zhǔn)測(cè)試 6.1 含義基準(zhǔn)測(cè)試程序用于測(cè)試和預(yù)測(cè)計(jì)算機(jī)系統(tǒng)的性能, 揭示不同結(jié)構(gòu)機(jī)器的長(zhǎng)處和短處,為用戶決定購買或使用哪種機(jī)器最適合他們的應(yīng)用要求提供決策;鶞(zhǔn)測(cè)試程序試圖提供一個(gè)客觀、公正的評(píng)價(jià)機(jī)器性能的標(biāo)準(zhǔn)。
6.2 分類宏觀微觀:
宏觀基準(zhǔn)測(cè)試程序(macro-benchmark)和微觀基準(zhǔn)測(cè)試程序(micro-benchmark)兩大類。 前者將計(jì)算機(jī)系統(tǒng)作為一個(gè)整體來測(cè)試其性能,它相對(duì)于某一應(yīng)用類來比較不同的計(jì)算機(jī)系統(tǒng),所以對(duì)機(jī)器買主很有用,但它不能揭示計(jì)算機(jī)系統(tǒng)性能好、壞的原因。后者是測(cè)試機(jī)器的某一特定方面的性質(zhì),如cpu速度、存儲(chǔ)器速度、i/o速度、os性能、網(wǎng)絡(luò)特性等。
應(yīng)用類別:
定點(diǎn)性能
浮點(diǎn)性能
web服務(wù)性能
數(shù)據(jù)處理性能
系統(tǒng)軟件性能
科學(xué)與工程計(jì)算性能
6.3 主要的基準(zhǔn)測(cè)試工具
lmbench
是由sgi的larry mcvoy所維護(hù),是一種用于測(cè)試不同 unix 平臺(tái)上 os 開銷以及處理器、高速緩存、主存、網(wǎng)絡(luò)和磁盤之間數(shù)據(jù)傳輸能力的可移植的基準(zhǔn)測(cè)試程序。
whetstone
比較不同的計(jì)算機(jī)的浮點(diǎn)性能而設(shè)計(jì)的綜合性基準(zhǔn)測(cè)試程序。lmbench 著重測(cè)量以下內(nèi)核組件:調(diào)度程序、進(jìn)程管理、通信、聯(lián)網(wǎng)、內(nèi)存映射和文件系統(tǒng)。
dhrystone
主要為測(cè)試整數(shù)與邏輯運(yùn)算性能而設(shè)計(jì)的綜合型基準(zhǔn)測(cè)試程序whetstone,dhrystone不能預(yù)測(cè)用戶程序性能,這些基準(zhǔn)程序的主要缺點(diǎn)是對(duì)編譯程序比較敏感。
linpack
測(cè)試的基準(zhǔn)是用全精度64位字長(zhǎng)的子程序求解100階線性方程組的速度,測(cè)試的'結(jié)果以mflops(每秒百萬次浮點(diǎn)運(yùn)算)作單位給出。
spec
原主要是測(cè)試cpu性能的,現(xiàn)在強(qiáng)調(diào)開發(fā)能反映真實(shí)應(yīng)用(如實(shí)際負(fù)載等)的基準(zhǔn)測(cè)試程序,并已推廣至客戶/服務(wù)器計(jì)算、商業(yè)應(yīng)用、i/o子系統(tǒng)等。
unixbench
應(yīng)用比較廣泛的unix類操作系統(tǒng)性能測(cè)試工具之一,它屬于微觀基準(zhǔn)測(cè)試程序,它主要從cpu浮點(diǎn)運(yùn)算能力,以不同緩沖區(qū)大小拷貝不同大小文件,管道吞吐量,進(jìn)程生成速度,系統(tǒng)調(diào)用開銷等方面來測(cè)試linux相關(guān)性能。
xbench
主要測(cè)試 xwindow 圖形界面的性能。
iozone
文件系統(tǒng)的評(píng)測(cè)工具,對(duì)read,write,re-read,re-write,read backwards,read
strided,fread,fwrite,random read,pread,mmap,aio-read,aio_write 等一系列文件i/o性能進(jìn)行了評(píng)測(cè),是十分有用的文件系統(tǒng)性能分析工具。
ltp
最大的 linux 性能測(cè)試團(tuán)體 linux test project 開展的開源測(cè)試項(xiàng)目, 這個(gè)團(tuán)體專門從事 linux 性能測(cè)試研究。 這個(gè)項(xiàng)目收集了各種 linux 內(nèi)核測(cè)試工具和相關(guān)資料, 它的目標(biāo)就是為了通過把自動(dòng)化測(cè)試引入到 linux 內(nèi)核測(cè)試以提高linux 內(nèi)核性能。
6.4 現(xiàn)狀和不足
linux 基準(zhǔn)測(cè)試程序都是微觀基準(zhǔn)測(cè)試程序,都是在測(cè)試機(jī)器的某一特定方面的性質(zhì),分別著重于 cpu 速度、存儲(chǔ)器速度、i/o 速度、網(wǎng)絡(luò)特性等等某一方面或多個(gè)方面,偏重于硬件。把 linux 操作系統(tǒng)作為一個(gè)整體,針對(duì) linux 的操作系統(tǒng)性能的宏觀基準(zhǔn)測(cè)試程序目前還沒有。
現(xiàn)有的linux測(cè)試工具都是基于微觀基準(zhǔn)測(cè)試程序,對(duì)于操作系統(tǒng)而言微觀可測(cè)點(diǎn)實(shí)在是太多,寫一個(gè)全面的基于自頂向下三層的全面測(cè)試工具工作量大,并且也沒有太大實(shí)用價(jià)值。畢竟應(yīng)用是千差萬別的,不利于在有限的時(shí)間內(nèi)快速的得出 linux 版本性能優(yōu)劣結(jié)論。
7.性能評(píng)測(cè)方法學(xué)如何進(jìn)行性能評(píng)測(cè),一般一個(gè)性能評(píng)測(cè)的實(shí)際解決方案應(yīng)該包括以下三個(gè)方面:
1.讓被評(píng)測(cè)系統(tǒng)處于壓力負(fù)荷下;
2.測(cè)量系統(tǒng)執(zhí)行有效特定任務(wù)的能力,執(zhí)行特定任務(wù)的耗時(shí),執(zhí)行特定任務(wù)的 cpu 利用率;
3.基于性價(jià)比考慮進(jìn)行改進(jìn)。進(jìn)行性能評(píng)測(cè)分析的目的是為了幫助開發(fā)人員更好更深層次的理解系統(tǒng), 找出系統(tǒng)瓶頸,并作出相應(yīng)的改進(jìn)。
8.三種性能評(píng)價(jià)技術(shù)1.分析技術(shù)(modeling)
分析技術(shù)也叫建模分析,在一定假設(shè)條件下,計(jì)算機(jī)系統(tǒng)參數(shù)與性能指標(biāo)參數(shù)之間存在著某種函數(shù)關(guān)系,按其工作負(fù)載的驅(qū)動(dòng)條件列出方程,用數(shù)學(xué)方法求解。
2.模擬技術(shù)(simulation)
模擬技術(shù)按被評(píng)價(jià)系統(tǒng)的運(yùn)行特性建立系統(tǒng)模型; 按系統(tǒng)可能有的工作負(fù)載特性建立工作負(fù)載模型;語言編寫模擬程序,模仿被評(píng)價(jià)系統(tǒng)的運(yùn)行;設(shè)計(jì)模擬實(shí)驗(yàn),依照評(píng)價(jià)目標(biāo),選擇與目標(biāo)有關(guān)因素,得出實(shí)驗(yàn)值,再進(jìn)行統(tǒng)計(jì)、分析。該技術(shù)的特點(diǎn)是可應(yīng)用于設(shè)計(jì)中或?qū)嶋H應(yīng)用中的系統(tǒng),可與分析技術(shù)相結(jié)合,構(gòu)成一個(gè)混合系統(tǒng)。
3.測(cè)量技術(shù)(measurement)
測(cè)量技術(shù)只能對(duì)已投入使用的系統(tǒng)進(jìn)行測(cè)量, 通常采用不同層次的基準(zhǔn)測(cè)試。
9.工作量選區(qū)(workload)工作量就是模擬實(shí)際工作的工作任務(wù),一個(gè)工作量它要產(chǎn)生針對(duì)該被評(píng)測(cè)系統(tǒng)實(shí)際工作應(yīng)用的典型的工作任務(wù),并且該工作任務(wù)應(yīng)該對(duì)系統(tǒng)產(chǎn)生相應(yīng)的壓力負(fù)荷 ,一個(gè)好的性能評(píng)測(cè)工作量應(yīng)該包括以下基本特征。
可測(cè)量性
可反復(fù)性
不變性
典型性
10.自頂向下分析法1.系統(tǒng)層(system level):包括處理器、內(nèi)存、硬盤、網(wǎng)絡(luò)等;(硬件資源)
2.應(yīng)用層(appalication level):包括鎖、線程、堆、api 等;(程序資源)1
3.微結(jié)構(gòu)層(micro-achitecture):包括數(shù)據(jù)隊(duì)列、循環(huán)結(jié)構(gòu)、cache 優(yōu)化等。
11.衡量linux桌面系統(tǒng)性能評(píng)價(jià)的主要標(biāo)準(zhǔn)和參數(shù)1.響應(yīng)時(shí)間(elapsed time)
內(nèi)核完成某一任務(wù)(程序)所花費(fèi)的時(shí)間,如磁盤訪問、存儲(chǔ)器訪問、輸入/
輸出等待。
2.cpu 時(shí)間
程序在cpu中的執(zhí)行時(shí)間。以秒為單位。
3.cpu 利用率
12.衡量linux桌面操作系統(tǒng)性能評(píng)價(jià)的主要標(biāo)準(zhǔn)提供一個(gè)統(tǒng)一的、客觀的、公正的和可相互比較的評(píng)價(jià)計(jì)算機(jī)的標(biāo)準(zhǔn)。
1.權(quán)威性
不是自己憑空想象,要有可靠的理論及事實(shí)依據(jù)支撐,業(yè)界廣泛認(rèn)可。
2.系統(tǒng)化
不是現(xiàn)有benchmark和工具的簡(jiǎn)單組合,而是能夠系統(tǒng)化評(píng)估整機(jī)性能的方案。
它能夠反映出整個(gè)計(jì)算機(jī)軟件及硬件的綜合處理能力,而不單純是軟件或者硬件,也就是說同一個(gè)硬件平臺(tái)上測(cè)試,能夠反映出不同操作系統(tǒng)性能不同,且在同一個(gè)操作系統(tǒng),在不同的硬件平臺(tái)上,性能測(cè)試也應(yīng)該有所不同。
3.全面性
是對(duì)整機(jī)的整體性能測(cè)試,不是單純的某個(gè)硬件或者某一方面能力的測(cè)試。
4.實(shí)用
要求該方法有實(shí)用價(jià)值,參考意義。
5.公正性
不一某些利益為目的的。
13.如何確定測(cè)試負(fù)載從微觀基準(zhǔn)理論的角度來看,操作系統(tǒng)的基本性能參數(shù)實(shí)在是太多,基本性能參數(shù)測(cè)試包括 cpu、內(nèi)存、i/o、網(wǎng)絡(luò)、操作系統(tǒng)、文件系統(tǒng)、編譯器、數(shù)據(jù)庫的性能指標(biāo)。
從宏觀基準(zhǔn)測(cè)試?yán)碚摮霭l(fā)就簡(jiǎn)單多了, 主要是要確定合適的工作量來模擬有代表性的用戶作業(yè)。工作量的確定需要一定的理論依據(jù),可以借鑒現(xiàn)有各種linux 測(cè)試工具實(shí)踐結(jié)果。
14.如何測(cè)試linux操作系統(tǒng)性能linux 桌面操作系統(tǒng)是近幾年來基于 linux 內(nèi)核發(fā)展起來的面向用戶桌面應(yīng)用的操作系統(tǒng),內(nèi)核還是基于 linux,只是在其上添加了很多窗口程序,并且在用戶界面和友好度上作出了很大的改進(jìn),更加易用和實(shí)用。
測(cè)試 linux 性能的關(guān)健在于測(cè)試 linux 內(nèi)核性能,而測(cè)試 linux內(nèi)核性能又可以細(xì)化成五大子系統(tǒng)的測(cè)試。可以針對(duì)內(nèi)核這五大子系統(tǒng)設(shè)計(jì)工作量負(fù)載。
操作系統(tǒng)概念學(xué)結(jié) [篇3]
linux操作系統(tǒng)學(xué)結(jié)(一)
最近粗略地看了一遍linux操作系統(tǒng)的書籍,主要講的都還是一些概念上的知識(shí),并沒有深入地去了解內(nèi)核以及內(nèi)部機(jī)制。現(xiàn)在總結(jié)一下看了書后的一些知識(shí)上的收獲:
linux最大的魅力是支持gpl,并且以網(wǎng)絡(luò)為核心。其實(shí)操作系統(tǒng)的作用就是有效地整合軟、硬件資源而為用戶工作。操作系統(tǒng)提高了開發(fā)的效率,我學(xué)習(xí)linux,關(guān)鍵也是在于研究了解其內(nèi)核構(gòu)造。
說到linux的歷史,其最初版本是有芬蘭的一個(gè)大學(xué)生linustorvalds開發(fā)的,現(xiàn)在的linux版本是聚集了很多人的智慧后開發(fā)出來的。linux包含了人們對(duì)操作系統(tǒng)的很多期望,比如真正的多任務(wù)、虛擬內(nèi)存、世界上最快的tcp/ip程序、共享庫以及多用戶支持等,而很多這些功能在windos中都是沒有支持的。linux繼承了unix的幾乎所有特征,又有新創(chuàng)的許多新特征。在home根目錄下可以創(chuàng)建多個(gè)用戶目錄,而實(shí)現(xiàn)多用戶操作。其文件系統(tǒng)與windos也是有很大的區(qū)別的。linux還有豐富的接口。它的源碼開放,可以跨越多個(gè)平臺(tái)?傊,linux的強(qiáng)勢(shì)在與它的網(wǎng)絡(luò)功能和硬件的高效率。
linux是以獨(dú)占方式執(zhí)行最低層的任務(wù),包括程序級(jí)及用戶級(jí)的級(jí)別。與圖形界面比起來,shell用起來更加直接與快速。設(shè)備驅(qū)動(dòng)程序開發(fā)在linux下顯得更加簡(jiǎn)單和方便。從linux2.0內(nèi)核版本開始支持多內(nèi)核模式,并且引入動(dòng)態(tài)的模塊技術(shù),是系統(tǒng)在運(yùn)行時(shí)可以修改內(nèi)核,實(shí)現(xiàn)了內(nèi)核的動(dòng)態(tài)可伸縮性,但是也帶來了一定的負(fù)面影響即不穩(wěn)定性。
我國(guó)的linux研究仍然走在世界一流水平的后面。linux內(nèi)核發(fā)展方向主要是硬件支持,嵌入式系統(tǒng)和分布式系統(tǒng)三個(gè)方面。這需要大量的硬件驅(qū)動(dòng)程序開發(fā)以及互聯(lián)網(wǎng)分布式系統(tǒng)開發(fā)。
處理機(jī)即為cpu。在但處理機(jī)系統(tǒng)中,并不存在真正意義上的并發(fā)執(zhí)行,只是串行執(zhí)行的家鄉(xiāng)而已。提高處理機(jī)的使用率關(guān)鍵是要合理地安排各個(gè)程序之間的相互切換。作業(yè)其實(shí)就是用戶的一個(gè)請(qǐng)求,而聯(lián)機(jī)作業(yè)需要各個(gè)設(shè)備之間的交互性地執(zhí)行。shell命令具有交互性,實(shí)時(shí)性較強(qiáng),可以一次執(zhí)行一條命令或者批處理執(zhí)行腳本命令。進(jìn)程是動(dòng)態(tài)執(zhí)行的程序。linux下的進(jìn)程應(yīng)該與windos下的進(jìn)程是一致的,每一個(gè)進(jìn)程都有一個(gè)唯一的標(biāo)識(shí)號(hào)。而進(jìn)程樹清晰地展現(xiàn)了進(jìn)程之間的關(guān)系。進(jìn)程控制塊pcb包含了處理器以及文件系統(tǒng)的大量信息,很多進(jìn)程都是根據(jù)pcb來進(jìn)行調(diào)度的。
linux中使用的虛擬存儲(chǔ)器的作用是使用有限的內(nèi)存發(fā)揮出巨大的作用,根據(jù)程序運(yùn)行的局部原理來吧物理內(nèi)存劃分成有一定規(guī)則的小塊,每次只裝入需要運(yùn)行的小塊到內(nèi)存中運(yùn)行。這需要合理地調(diào)配內(nèi)存與外存之間的關(guān)系,把內(nèi)存中不需要的小塊暫時(shí)存放至外存之中,而cpu只進(jìn)行部分程序的訪問。通過多次地交換內(nèi)外存之間的信息來制造假象,這就是虛擬內(nèi)存。系統(tǒng)采用段機(jī)制以及三級(jí)分頁機(jī)制。
我們知道設(shè)計(jì)操作系統(tǒng)的目的是為了最大限度地利用硬件資源,是cpu盡可能地處于工作狀態(tài),這就需要一個(gè)良好的cpu調(diào)度了。處理機(jī)調(diào)度的級(jí)別從高至低依次分為作業(yè)調(diào)度、交換調(diào)度、進(jìn)程調(diào)度和線程調(diào)度。作業(yè)調(diào)度是最高級(jí)別的,是針對(duì)作業(yè)的創(chuàng)建以及結(jié)束進(jìn)行的;交換調(diào)度是指進(jìn)行內(nèi)外存之間進(jìn)程的相互調(diào)換;進(jìn)程調(diào)度是指進(jìn)程的各個(gè)狀態(tài)之間的轉(zhuǎn)換;而最后的線程調(diào)度是指占用處理機(jī)與否之間的轉(zhuǎn)換。
外設(shè)通常是指除了cpu與內(nèi)存之外的硬件設(shè)備統(tǒng)稱外設(shè)。通過接口進(jìn)行連接和統(tǒng)一管理。設(shè)備管理的目的是管理協(xié)同好繁多的外部設(shè)備,是它們能夠有序的工作。在linux中把設(shè)備當(dāng)作文件進(jìn)行統(tǒng)一管理,可以用文件操作方式來操作硬件設(shè)備。設(shè)備驅(qū)動(dòng)程序的作用是直接操作硬件,并且為其提供接口。
linux的文件系統(tǒng)是其很重要的一個(gè)部分。文件系統(tǒng)進(jìn)行數(shù)據(jù)以及設(shè)備的統(tǒng)一管理,并為用戶命令和系統(tǒng)函數(shù)提供統(tǒng)一的服務(wù)接口。在進(jìn)程控制塊pcb中有文件的系統(tǒng)信息。把設(shè)備均抽象為文件進(jìn)行統(tǒng)一的管理,并為設(shè)備管理提供統(tǒng)一的接口。
默認(rèn)的文件系統(tǒng)是ext2。虛擬文件系統(tǒng)是位于linux文件系統(tǒng)層析結(jié)構(gòu)的頂層,進(jìn)行管理各種邏輯文件系統(tǒng),或者說是同化各類邏輯文件系統(tǒng),實(shí)現(xiàn)其跨平臺(tái)的特性。
linux文件系統(tǒng)采用多重索引的方式,類似于數(shù)據(jù)結(jié)構(gòu)中的鏈表方式。文件系統(tǒng)中的每一個(gè)文件,目錄以及設(shè)備均同級(jí),并且對(duì)應(yīng)于一個(gè)i節(jié)點(diǎn)。內(nèi)存中的i節(jié)點(diǎn)是磁盤中的i節(jié)點(diǎn)的映像,目的是減少設(shè)備存取的次數(shù),提高文件的訪問效率。
linux目錄本身也是一種文件,稱為目錄文件。單級(jí)目錄存在文件命名的沖突,而在多級(jí)目錄中,使用目錄樹來記錄目錄結(jié)構(gòu)。在文件共享中,一般使用文件的絕對(duì)路徑來訪問文件,如果要進(jìn)行共享文件的話,必須先回溯,在向下尋找共享的文件,這樣的方法效率比較低下。而通過改進(jìn)的鏈接文件的方法進(jìn)行文件共享,會(huì)使目錄樹形成網(wǎng)狀結(jié)構(gòu)。
linux系統(tǒng)的根目錄是root目錄,其下面有多個(gè)默認(rèn)的子目錄。bin是實(shí)用程序的子目錄,存放常用的系統(tǒng)工具;boot子目錄存放系統(tǒng)啟動(dòng)時(shí)的映像文件;dev子目錄中為每個(gè)設(shè)備均分配了一個(gè)i節(jié)點(diǎn);ect是基本數(shù)據(jù)子目錄,存放系統(tǒng)的用戶口令,網(wǎng)絡(luò)配置等設(shè)置文件;home是用戶數(shù)據(jù)子目錄,默認(rèn)情況下的用戶登錄后均到達(dá)這個(gè)子目錄;lib目錄存放庫函數(shù);root是超級(jí)管理員的用戶目錄等。
虛擬文件系統(tǒng)vfs進(jìn)行統(tǒng)一管理各種類型的文件系統(tǒng),無法存在于物理磁盤當(dāng)中,只能存在與內(nèi)存之中,負(fù)責(zé)管理并控制下層的邏輯文件系統(tǒng),可以支持多種不同的邏輯文件系統(tǒng),它為多種邏輯文件系統(tǒng)提供了統(tǒng)一的接口并進(jìn)行管理。
總之,粗略地學(xué)習(xí)了linux操作系統(tǒng)知識(shí)后,對(duì)整個(gè)系統(tǒng)的架構(gòu)和組成有了一定的了解,特別是linux特殊的文件系統(tǒng)和存儲(chǔ)管理有了較深的印象和理解。今后有機(jī)會(huì)一定要更深地了解linux的內(nèi)部構(gòu)造。
操作系統(tǒng)概念學(xué)結(jié) [篇4]
1.什么叫同步? 相互合作的兩個(gè)進(jìn)程之間需要在某個(gè)(些)確定點(diǎn)協(xié)調(diào)它們的工作,一個(gè)進(jìn)程到達(dá)了該點(diǎn)后,除非另一進(jìn)程已經(jīng)完成了某些操作,否則就不得不停下來,等待這些操作的完成。這就是進(jìn)程間的同步。
什么叫互斥?
兩個(gè)進(jìn)程由于不能同時(shí)使用同一臨界資源,只能在一個(gè)進(jìn)程使用完了,另一進(jìn)程才能使用,這種現(xiàn)象稱為進(jìn)程間的互斥。
①同步的主要特征是:一個(gè)進(jìn)程在某一點(diǎn)上等待另一進(jìn)程提供信息,兩進(jìn)程之間存在直接制約關(guān)系,其表現(xiàn)形式為進(jìn)程—進(jìn)程。②互斥的主要特征是爭(zhēng)用資源,兩進(jìn)程間存在間接制約關(guān)系,其表現(xiàn)形式是進(jìn)程—資源—進(jìn)程。
2.試給出p、v操作的定義。
p、v操作是定義在信號(hào)量s上的兩個(gè)操作,其定義如下:
p(s):①s:=s-1;②若s≥0,則調(diào)用p(s)的進(jìn)程繼續(xù)運(yùn)行;③若s<0,則調(diào)用p(s)的進(jìn)程被阻塞,并把它插入到等待信號(hào)量s的阻塞隊(duì)列中。
v(s):①s:=s+1;②若s>0,則調(diào)用v(s)的進(jìn)程繼續(xù)運(yùn)行;③若s≤0,則從等待信號(hào)量s的阻塞隊(duì)列中喚醒頭一個(gè)進(jìn)程,然后調(diào)用v(s)的進(jìn)程繼續(xù)運(yùn)行。
如何利用p、v操作實(shí)現(xiàn)進(jìn)程間的互斥?
p、v操作是解決同步與互斥問題的有力工具。為解決互斥問題,應(yīng)采取如下步驟: 首先根據(jù)給定問題的描述,列出各進(jìn)程要執(zhí)行的程序。其次,設(shè)置信號(hào)量;コ鈫栴}中,在臨界區(qū)前面加p(s),臨界區(qū)后面加v(s)。最后確定信號(hào)量的初值。在互斥問題中,信號(hào)量通常取為互斥資源的個(gè)數(shù)。
說明信號(hào)量的物理意義:
信號(hào)量s>0時(shí),s的數(shù)值表示某類可用資源的數(shù)目,執(zhí)行p操作意味著申請(qǐng)分配一個(gè)單位的資源;當(dāng)s≤0時(shí),表示無資源可用,此時(shí)s的絕對(duì)值表示信號(hào)量s的阻塞隊(duì)列中的進(jìn)程數(shù)。執(zhí)行v操作意味著釋放一個(gè)單位的資源。
3.如何利用p、v操作實(shí)現(xiàn)進(jìn)程間的同步?
p、v操作是解決同步與互斥問題的有力工具。為解決同步問題,應(yīng)采取如下步驟:首先根據(jù)給定問題的描述,列出各進(jìn)程要執(zhí)行的程序。其次,設(shè)置信號(hào)量。同步問題中有幾個(gè)同步點(diǎn)就設(shè)置幾個(gè)信號(hào)量,等待的地方加p(s),發(fā)信號(hào)(解除等待)的
地方加v(s)。最后確定信號(hào)量的初值。在同步問題中,信號(hào)量的初值一般取0.在同步和互斥中,信號(hào)量初值的設(shè)置有何不同:在同步問題中,信號(hào)量的初值一般取為0,在互斥問題中,信號(hào)量通常取為互斥資源的個(gè)數(shù)。
4.高級(jí)通信原語有何優(yōu)點(diǎn)?
能夠?qū)崿F(xiàn)在進(jìn)程之間傳遞大量的信息。
在消息緩沖通信方式中,發(fā)送原語和接收原語的主要功能是什么?
發(fā)送原語的作用:將欲發(fā)送的消息從發(fā)送區(qū)復(fù)制到消息緩沖區(qū),并把它掛起在接收進(jìn)程的消息緩沖隊(duì)列末尾。如果該接收進(jìn)程因等待消息而處于阻塞狀態(tài),則將其喚醒。
接收原語的作用:把發(fā)送者發(fā)來的消息從消息緩沖區(qū)復(fù)制到接收區(qū),然后將消息緩沖區(qū)從消息隊(duì)列中消去,如果沒有消息可以接收,則進(jìn)入阻塞狀態(tài)。
5.什么是信箱?
信箱用于存放信件,而信件是一個(gè)進(jìn)程發(fā)送給另一進(jìn)程的消息。
信箱的數(shù)據(jù)結(jié)構(gòu):信箱頭和信箱體。信箱頭是信箱的描述部分,信箱體由若干格子組成,每個(gè)格子可存放一個(gè)信件。
信箱頭包括的信息:①信箱名②信箱大小③已存信件數(shù)④空的格子數(shù)。
如何用信箱實(shí)現(xiàn)兩個(gè)進(jìn)程之間的通信?
進(jìn)程a想向進(jìn)程b發(fā)送消息前,先把消息組成一封信件,然后調(diào)用send原語向進(jìn)程b發(fā)送信件,并將信件投入進(jìn)程b的信箱中。進(jìn)程b為得到進(jìn)程a的消息,只要調(diào)用receive原語就可以從信箱中索取來自進(jìn)程a的信件。這就完成了一次進(jìn)程a到進(jìn)程b的通信過程。
6.在網(wǎng)絡(luò)操作系統(tǒng)中,為什么要采用消息傳遞的通信機(jī)制?
基于共享變量的通信方式適用于網(wǎng)絡(luò)中各節(jié)點(diǎn)內(nèi)部諸進(jìn)程之間的通信,而基于消息傳遞的通信方式適用于網(wǎng)絡(luò)中各節(jié)點(diǎn)之間的進(jìn)程通信。
在消息傳遞的通信機(jī)制中有哪些通信方式?①通信原語 ②遠(yuǎn)程過程調(diào)用 ③組通信。
7.什么是同步原語?
當(dāng)一個(gè)進(jìn)程調(diào)用一個(gè)send原語時(shí),在消息開始發(fā)送后,發(fā)送進(jìn)程便處于阻塞狀態(tài),直至消息完全發(fā)送完畢,send原語的后繼語句才能繼續(xù)執(zhí)行。當(dāng)一個(gè)進(jìn)程調(diào)用一個(gè)receive原語時(shí),并不立即返回控制,而是等到把消息實(shí)際接收下來,并把它放入指定的接收區(qū),才返回控制,繼續(xù)執(zhí)行該原語的后繼指令。在這段時(shí)間它一直處于阻塞狀態(tài)。上述的send和receive被稱為同步通信原語或阻塞通信原語。
什么是異步原語?發(fā)送進(jìn)程在調(diào)用send原語后,并不進(jìn)入阻塞狀態(tài),它不等消息發(fā)送完就繼續(xù)執(zhí)行其后繼語句。
在使用異步通信原語時(shí),發(fā)送者在消息發(fā)送完成前為什么不能使用緩沖區(qū)?
因?yàn)樘热舭l(fā)送進(jìn)程在消息發(fā)送完成之前,即在消息發(fā)送期間使用或修改原來的緩沖區(qū),將會(huì)造成錯(cuò)誤。
如何解決?
有兩種辦法(應(yīng)采用異步原語):①采用帶拷貝的非阻塞原語,即讓內(nèi)核把消息拷貝到內(nèi)核緩沖區(qū),允許調(diào)用進(jìn)程繼續(xù)運(yùn)行。②帶中斷的非阻塞發(fā)送,即當(dāng)消息發(fā)送完成后,中斷發(fā)送進(jìn)程,通知發(fā)送進(jìn)程此時(shí)緩沖區(qū)可用。
8.在進(jìn)程間通信如何保證消息不會(huì)丟失?
為了保證消息被對(duì)方收到,可采用可靠原語。具體作法是:客戶向服務(wù)器方發(fā)一請(qǐng)求后,服務(wù)器對(duì)這一請(qǐng)求,由其內(nèi)核向客戶內(nèi)核返回一個(gè)確認(rèn)ack,當(dāng)客戶內(nèi)核收到這一消息后,就喚醒客戶進(jìn)程。在客戶與服務(wù)器之間的請(qǐng)求/應(yīng)答共需四個(gè)消息:①從客戶向服務(wù)器的請(qǐng)求②從服務(wù)器內(nèi)核向客戶內(nèi)核返回一個(gè)確認(rèn)③從服務(wù)器到客戶的應(yīng)答④從客戶的內(nèi)核向服務(wù)器內(nèi)核返回一個(gè)確認(rèn)。
9.遠(yuǎn)程過程調(diào)用:在網(wǎng)絡(luò)或分布式系統(tǒng)中,設(shè)有任意兩個(gè)節(jié)點(diǎn)a、b,節(jié)點(diǎn)a上的進(jìn)程調(diào)用節(jié)點(diǎn)b上的一個(gè)進(jìn)程時(shí),節(jié)點(diǎn)a上的進(jìn)程被掛起,在節(jié)點(diǎn)b上執(zhí)行被調(diào)用的過程,消息以參數(shù)的形式從調(diào)用進(jìn)程傳送到被調(diào)用進(jìn)程,并將被調(diào)用過程執(zhí)行的結(jié)果返回給調(diào)用進(jìn)程。這種通信方式稱為遠(yuǎn)程過程調(diào)用。
其基本原理是什么?
允許某一節(jié)點(diǎn)上的程序調(diào)用其他節(jié)點(diǎn)上的過程或函數(shù)。例如節(jié)點(diǎn)機(jī)a上的進(jìn)程調(diào)用節(jié)點(diǎn)機(jī)b上的過程,節(jié)點(diǎn)機(jī)a的調(diào)用進(jìn)程被掛起,在節(jié)點(diǎn)機(jī)b上執(zhí)行被調(diào)用過程。消息以參數(shù)的形式從調(diào)用過程傳到被調(diào)用過程,被調(diào)用過程執(zhí)行的結(jié)果再返回給調(diào)用過程。對(duì)程序員來說,他看不到消息傳遞過程和i/o處理過程。
10.rpc的透明性指的是什么?
指的是要使得遠(yuǎn)程過程調(diào)用盡可能像本地調(diào)用一樣。調(diào)用過程應(yīng)該不知道被調(diào)用過程是在另外一臺(tái)計(jì)算機(jī)上執(zhí)行,反過來也是如此,被調(diào)用過程也不應(yīng)該知道是由哪個(gè)機(jī)器上的進(jìn)程調(diào)用的。如何保證這一透明性:遠(yuǎn)程過程調(diào)用為實(shí)現(xiàn)其透明性,在客戶機(jī)上設(shè)置一個(gè)客戶代理,同樣在服務(wù)器機(jī)上設(shè)置一個(gè)服務(wù)器代理。
11.簡(jiǎn)述遠(yuǎn)程過程調(diào)用的步驟。
①客戶過程以通常方式調(diào)用客戶代理。②客戶代理構(gòu)造一個(gè)消息并陷入內(nèi)核。③本地內(nèi)核發(fā)送消息給遠(yuǎn)程內(nèi)核。④遠(yuǎn)程內(nèi)核把消息送給服務(wù)器代理。⑤服務(wù)器代理從消息包中取出參數(shù)并調(diào)用服務(wù)器。⑥服務(wù)器完成相應(yīng)的服務(wù),將結(jié)果送給服務(wù)代理。⑦服務(wù)代理將結(jié)果打包形成一個(gè)消息并陷入內(nèi)核。⑧遠(yuǎn)程內(nèi)核發(fā)送消息給客戶機(jī)內(nèi)核。⑨客戶機(jī)內(nèi)核把消息傳送給客戶代理。⑩客戶代理取出結(jié)果,返回給客戶的調(diào)用程序。并以實(shí)例說明。
12.試說明遠(yuǎn)程過程調(diào)用的優(yōu)缺點(diǎn)。
優(yōu)點(diǎn):格式化好、使用方便、透明性好;
缺點(diǎn):缺乏靈活性。
在具體實(shí)現(xiàn)上尚有哪些難點(diǎn)需要解決?
①遠(yuǎn)程過程調(diào)用的參數(shù)在系統(tǒng)內(nèi)不同機(jī)型之間的通用能力有所不足。②缺乏在一次調(diào)用過程中多次接收返回結(jié)果的能力。③遠(yuǎn)程過程調(diào)用缺乏傳送大量數(shù)據(jù)的能力。
13.什么叫組通信?
在網(wǎng)絡(luò)系統(tǒng)中,一個(gè)相互作用的進(jìn)程集合稱為組。一個(gè)發(fā)送者在一次操作中將一個(gè)消息發(fā)送給多個(gè)接收者的通信,稱為組通信。
它應(yīng)用于何種場(chǎng)合?在網(wǎng)絡(luò)系統(tǒng)中可以采用組通信方式。
組通信的主要特征是?當(dāng)一個(gè)消息發(fā)送給這個(gè)組時(shí),該組的所有成員都可以接收,組通信具有“一對(duì)多”的形式,即一個(gè)發(fā)送者,多個(gè)接收者。
組通信的實(shí)現(xiàn)?組通信的實(shí)現(xiàn)在很大程度上依賴于硬件。在一些網(wǎng)絡(luò)系統(tǒng)中,可以為組指定一個(gè)特殊的網(wǎng)絡(luò)地址?刹捎枚嗖ナ健V播式、單播式。
【操作系統(tǒng)概念學(xué)結(jié)】相關(guān)文章:
關(guān)于操作系統(tǒng)的概念習(xí)題11-14
操作系統(tǒng)基本概念11-18
對(duì)學(xué)結(jié)06-03
遠(yuǎn)程學(xué)結(jié)06-13
對(duì)標(biāo)學(xué)結(jié)06-03
蹲點(diǎn)學(xué)結(jié)06-03