

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)操作系統(tǒng)中的幾個(gè)泛系關(guān)系,蘭州大學(xué) 劉永兵 李永禮,引言——操作系統(tǒng)的復(fù)雜性,操作系統(tǒng)的復(fù)雜性對(duì)大家來(lái)說(shuō)不言而明的,就拿源碼開(kāi)放的Linux操作系統(tǒng)內(nèi)核來(lái)說(shuō),其源代碼包含在大約4500個(gè)C語(yǔ)言和匯編語(yǔ)言文件中,這些文件存放在大約270個(gè)子目錄中。源代碼大約由200萬(wàn)行組成,占58M以上的空間。要弄清楚這個(gè)操作系統(tǒng),一行一行的閱讀這200萬(wàn)行代碼似乎是行的同,但實(shí)際上卻是行不同的一個(gè)方法,如何在短時(shí)間內(nèi)抓住其中不同層次的主要
2、關(guān)系,就顯的非常必要,我嘗試用泛系思想方法來(lái)快速理解和掌握其中的關(guān)系,以下的報(bào)告是我用泛系思想研究Linux一些探索。,主要內(nèi)容,1.操作系統(tǒng)的泛系關(guān)系2.內(nèi)核數(shù)據(jù)的動(dòng)靜思想3.Linux文件系統(tǒng)的形影關(guān)系,1.操作系統(tǒng)自身的泛系關(guān)系,1.1原始社會(huì)供求關(guān)系模型,1.2現(xiàn)代供求關(guān)系模型,1.3操作系統(tǒng)的供求關(guān)系,1.4技術(shù)實(shí)現(xiàn),在操作系統(tǒng)供求關(guān)系的技術(shù)實(shí)現(xiàn)上主要作兩個(gè)抽象:即任務(wù)抽象和資源抽象。通過(guò)資源抽象能把計(jì)算機(jī)中的軟硬件資源表
3、示出來(lái);通過(guò)任務(wù)抽象能把系統(tǒng)中計(jì)算任務(wù)表示出來(lái)。,1.4.1任務(wù)抽象,任務(wù)抽象就是我們通常所說(shuō)的計(jì)算任務(wù)的抽象,抽象后的任務(wù)在一般教科書(shū)書(shū)中稱(chēng)之為進(jìn)程。在系統(tǒng)中用進(jìn)程控制塊(PCB)來(lái)描述。在Linux內(nèi)核中每一個(gè)進(jìn)程用task_struct數(shù)據(jù)結(jié)構(gòu)表示 。,1.4.2資源抽象,為了讓操作系統(tǒng)本身知道系統(tǒng)中的軟硬件資源,就需要把計(jì)算機(jī)中的各種軟件資源在操作系統(tǒng)中表示出來(lái),這就是資源抽象。例如,就拿Linux內(nèi)存管理來(lái)說(shuō),Linux在管理
4、內(nèi)存時(shí),把系統(tǒng)中的內(nèi)存分了大小相等的塊,我們稱(chēng)之為頁(yè),一般來(lái)說(shuō)這些頁(yè)的大小為4K,為了表示其中的頁(yè),Linux使用了page數(shù)據(jù)結(jié)構(gòu) 。,1.4.3資源抽象和任務(wù)抽象之間的泛系關(guān)系,資源抽象和任務(wù)抽象的泛系關(guān)系就是供求關(guān)系,也就是說(shuō)操作系統(tǒng)的本質(zhì)便是要在資源抽象和任務(wù)抽象之間建立供求關(guān)系。通過(guò)操作系統(tǒng)的內(nèi)核溝通資源和任務(wù),在這兩者之間充當(dāng)中間商。具體來(lái)說(shuō)就是由操作系統(tǒng)內(nèi)核決定分配當(dāng)前的哪些資源給哪些任務(wù)。,2.操作系統(tǒng)內(nèi)核數(shù)據(jù)管理控制策
5、略的泛系思想方法,——以少控多,以靜制動(dòng),2.1操作系統(tǒng)內(nèi)核數(shù)據(jù)管理控制上的兩難問(wèn)題,操作系統(tǒng)是一個(gè)典型的龐大復(fù)雜巨系統(tǒng),就其內(nèi)核而言,單數(shù)據(jù)的數(shù)量之龐大就不言而諭的。再加上其自身是一個(gè)系統(tǒng),在系統(tǒng)運(yùn)行的時(shí)候數(shù)據(jù)的數(shù)量和值還會(huì)隨著系統(tǒng)處于不同的狀態(tài)而不同,可以說(shuō)是時(shí)時(shí)在變,這就給管理控制這些數(shù)據(jù)帶來(lái)了很多困難。,,如果給這些數(shù)據(jù)分配固定的空間,當(dāng)然在管理控制方面沒(méi)有什么太多的問(wèn)題,既然是事先分配的空間,就能直接的訪問(wèn)。這些數(shù)據(jù)在內(nèi)核空間
6、中也不會(huì)互相干擾,數(shù)據(jù)不會(huì)出現(xiàn)混亂的情況,但一個(gè)嚴(yán)重的后果是系統(tǒng)缺乏了伸縮和靈活性,事先分配的空間總是有限的,當(dāng)然內(nèi)核數(shù)據(jù)的量超過(guò)這個(gè)要求的時(shí)候,系統(tǒng)就沒(méi)辦法正常運(yùn)行,再說(shuō)在內(nèi)核數(shù)據(jù)量比較小的時(shí)候,會(huì)有很多事先分配的空間在這個(gè)時(shí)候沒(méi)有使用上,也是一種資源的浪費(fèi)。,,如果采用讓所有的數(shù)據(jù)都動(dòng)起來(lái),即動(dòng)態(tài)的分配和使用,那么在這個(gè)時(shí)候以上說(shuō)的問(wèn)題就迎刃而解,但這個(gè)時(shí)候出現(xiàn)了另外一個(gè)嚴(yán)重的問(wèn)題,即給這些數(shù)據(jù)的管理控制帶來(lái)了麻煩,要訪問(wèn)的數(shù)據(jù)在某
7、個(gè)時(shí)刻究竟在什么位置,怎樣保證在需要的時(shí)候能快速的找到想要訪問(wèn)的數(shù)據(jù),這些問(wèn)題就顯得很棘手。,2.2內(nèi)核數(shù)據(jù)的管理控制策略,顯然,事先為所有的數(shù)據(jù)分配靜態(tài)的空間的策略是不可取的,那么我們只能使用按需要?jiǎng)討B(tài)分配空間的策略,接下來(lái)的問(wèn)題是我們?nèi)绻麃?lái)管理控制這些數(shù)據(jù),能隨時(shí)很方便的訪問(wèn)到想要訪問(wèn)的數(shù)據(jù).為了能找到解決問(wèn)題的辦法,我們自然而然的一的泛系思想是尋找泛對(duì)稱(chēng),也就是要從這千變?nèi)f化的數(shù)據(jù)中尋找中不變的東西.,,首先,內(nèi)核數(shù)據(jù)是可以分類(lèi)的
8、,例如系統(tǒng)中所有的進(jìn)程控制塊(PCB),可以認(rèn)為是同屬于一個(gè)類(lèi);其次,每在一類(lèi)數(shù)據(jù)中尋找不變的數(shù)據(jù),把這些數(shù)據(jù)做成靜態(tài)結(jié)構(gòu),在系統(tǒng)初始化的過(guò)程中分配固定空間,此后,在系統(tǒng)運(yùn)行的過(guò)程中其位置不再發(fā)生變化,而其它數(shù)據(jù)則在系統(tǒng)運(yùn)行過(guò)程中,需要的時(shí)候分配,用完就退回系統(tǒng),這些隨機(jī)的數(shù)據(jù)可以和這個(gè)類(lèi)中靜態(tài)分配的數(shù)據(jù)關(guān)聯(lián)起來(lái),在系統(tǒng)需要訪問(wèn)的時(shí)候可以通過(guò)這個(gè)類(lèi)中靜態(tài)的數(shù)據(jù)和它們的關(guān)聯(lián)關(guān)系很容易的找到.,2.3泛對(duì)稱(chēng)的顯生過(guò)程(以樹(shù)結(jié)構(gòu)為例),,以上
9、樹(shù)中的所有節(jié)點(diǎn)組成了一類(lèi)數(shù)據(jù),在樹(shù)的變化過(guò)程中,有的節(jié)點(diǎn)消失,又有新的節(jié)點(diǎn)生成。而在這個(gè)千邊萬(wàn)化的過(guò)程中,樹(shù)的根節(jié)點(diǎn)始終沒(méi)有變化,這里就存在一個(gè)泛對(duì)稱(chēng),根節(jié)點(diǎn)便是個(gè)泛極端。,,極端的情況是一類(lèi)中的所有數(shù)據(jù)都是動(dòng)態(tài)變化的,在這個(gè)時(shí)候我們可以仍然可以用同樣的方法分析。但這個(gè)時(shí)候引進(jìn)泛系規(guī)的思想。,,可以把根節(jié)點(diǎn)不變的所有數(shù)據(jù)看成一類(lèi),而這個(gè)根節(jié)點(diǎn)就是這個(gè)類(lèi)的泛極端,在對(duì)所有的泛極端求共影,例如可以把它們共影到某個(gè)固定(靜態(tài))的指針變量P。,
10、2.4Linux操作系統(tǒng)內(nèi)核數(shù)據(jù)以少控多,以靜制多策略實(shí)例,,init_task是系統(tǒng)中的0號(hào)進(jìn)程,也就是第一個(gè)進(jìn)程,這個(gè)進(jìn)程永遠(yuǎn)不會(huì)被撤消,它的描述符被靜態(tài)的分配到內(nèi)核數(shù)據(jù)段中,也就是說(shuō)init_task的進(jìn)程描述符是預(yù)先由編譯器分配的,在運(yùn)行的過(guò)程中保持不變,而其它描述符是在運(yùn)行的過(guò)程中,由系統(tǒng)根據(jù)當(dāng)前的內(nèi)存狀況隨機(jī)分配的,撤消的時(shí)再在歸還給系統(tǒng)。,2.5由該種策略下的內(nèi)存分配圖,,(1)
11、0; 在0—4K之間存放加電自測(cè)期間檢查到的硬件配置。(2) 640K—1M之間被留作BIOS程序使用,并且映射ISA顯示卡上的存儲(chǔ)器(在早期的MS—DOS系統(tǒng)上有很有名的640K地址限制的說(shuō)法)。Linux操作系統(tǒng)被安裝在1M以后的內(nèi)存空間上,在系統(tǒng)初始化的時(shí)候,操作系統(tǒng)被裝了上去,同時(shí)這部分建立了固定的映射,這里我們把它看作靜的,因?yàn)?/p>
12、一但初始化結(jié)束時(shí),這部分的映射在系統(tǒng)運(yùn)行時(shí)不再發(fā)生變化,這部分映射有:(1) _text—_etext之間存放內(nèi)核代碼。(2) _etext—_edata之間存放已初始化的內(nèi)核數(shù)據(jù)。(3)
13、60; _edata—_end之間存放未初始化的內(nèi)核數(shù)據(jù)。在這里,_text是緊挨著1M后的內(nèi)存單元,_text,_etext,_edata,_end這些參數(shù)的值是在編譯內(nèi)核時(shí)產(chǎn)生的。,2.6內(nèi)核數(shù)據(jù)控制策略的再次泛系哲理思考,動(dòng)靜關(guān)系是泛系思想中的一個(gè)重要基本關(guān)系,在這里,我們用少量的靜態(tài)數(shù)據(jù)控制了大量的動(dòng)態(tài)數(shù)據(jù),實(shí)現(xiàn)了我們高效利用存儲(chǔ)空間的目的。這就是以少控多,以靜制動(dòng)。,3.Linux文件系統(tǒng)的形影關(guān)系,,3.1形影關(guān)系的思想淵
14、源,x 1 2 3 4…在人們認(rèn)識(shí)和掌握代數(shù)學(xué)之前,人們做的運(yùn)算都是基于個(gè)體的具體的數(shù)字,但代數(shù)學(xué)使人們理解和掌握操作一類(lèi)事物。,,,,,,3.2泛系的形影關(guān)系,集論意義的形影關(guān)系包括函數(shù),投影,影射,反函數(shù),賦形(投影之逆),直集,商化(轉(zhuǎn)化為商集——子集的某些集合),積化(商化之逆),有時(shí)也包括縮影及其逆——擴(kuò)形以及泛積,并把形影關(guān)系的復(fù)合也看成形影關(guān)系。,3.3Linux
15、所支持的文件系統(tǒng),有Unix家族系統(tǒng)(Unix System V及BSD)的文件系統(tǒng);有微軟公司的文件系統(tǒng),如MS-DOS,VFAT(Windows 98)及NTFS(Windows NT);有ISO9660 CD-ROM文件系統(tǒng)(以前的High Sierra文件系統(tǒng));還有其它有專(zhuān)利權(quán)的文件系統(tǒng),如HPFS(IBM公司的OS/2),HFS(蘋(píng)果公司的Macintosh),FFS(Amiga公司的快速文件系統(tǒng))以及ADFS(Acorn公
16、司的系列機(jī))。,3.4.1Linux文件系統(tǒng)的形影關(guān)系,在Linux文件系統(tǒng)為了要兼容各種操作系統(tǒng)下的文件系統(tǒng),提出了“虛擬文件系統(tǒng)”VFS(Virtual Filesystem Switch)的概念。為了能做到兼容各種文件系統(tǒng),Linux對(duì)各種文件系統(tǒng)作了極其美妙的抽象,在各個(gè)操作系統(tǒng)的文件系統(tǒng)上面又做了一層,這一層就是虛擬文件系統(tǒng)層。,,“虛擬文件系統(tǒng)”VFS 相當(dāng)于所有Linux所支持的具體的文件系統(tǒng)(EXT2文件系統(tǒng),MS-DO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)操作系統(tǒng)
- 計(jì)算機(jī)操作系統(tǒng)教案
- 計(jì)算機(jī)操作系統(tǒng)試題
- 計(jì)算機(jī)操作系統(tǒng)題庫(kù)
- 計(jì)算機(jī)操作系統(tǒng)作業(yè)2(《計(jì)算機(jī)操作系統(tǒng)》4-5章內(nèi)容)
- 計(jì)算機(jī)操作系統(tǒng)原理分析
- “計(jì)算機(jī)操作系統(tǒng)”課程輔導(dǎo)
- 《計(jì)算機(jī)操作系統(tǒng)》試卷(1)
- 計(jì)算機(jī)操作系統(tǒng)及答案
- 計(jì)算機(jī)操作系統(tǒng)試題6
- 計(jì)算機(jī)操作系統(tǒng)課后答案
- 計(jì)算機(jī)操作系統(tǒng)應(yīng)用教案
- 計(jì)算機(jī)操作系統(tǒng) 考試習(xí)題
- 《計(jì)算機(jī)操作系統(tǒng)》ppt課件
- 銀行計(jì)算機(jī)常用操作系統(tǒng)
- 計(jì)算機(jī)操作系統(tǒng) 考試習(xí)題
- 《計(jì)算機(jī)操作系統(tǒng)》試卷(9)
- 計(jì)算機(jī)專(zhuān)業(yè)操作系統(tǒng)試題
- 《計(jì)算機(jī)操作系統(tǒng)》試卷 (2)
- 計(jì)算機(jī)操作系統(tǒng)論文—微內(nèi)核操作系統(tǒng)
評(píng)論
0/150
提交評(píng)論