操作系統(tǒng)教程注釋一章_第1頁(yè)
操作系統(tǒng)教程注釋一章_第2頁(yè)
操作系統(tǒng)教程注釋一章_第3頁(yè)
操作系統(tǒng)教程注釋一章_第4頁(yè)
操作系統(tǒng)教程注釋一章_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《孫鐘.《孫鐘.操作系程教程》注(稿(第一章操作系統(tǒng)概論校注:陳懷臨[注釋?zhuān)╗注釋?zhuān)?)]在經(jīng)典OS設(shè)計(jì)中,例如Uix“Everytingisafil”一個(gè)外設(shè),最后都通過(guò)文件系統(tǒng)來(lái)表達(dá)。一個(gè)通過(guò)open得到的文件句柄可以唯一的定位一個(gè)設(shè)備,并可以通過(guò)文件的read/ite來(lái)操作。[注釋?zhuān)╗注釋?zhuān)?)]初學(xué)操作系統(tǒng)的大學(xué)生通常會(huì)對(duì)文件句柄(FileHanler)解。就是open()的時(shí)候,操作系統(tǒng)為你構(gòu)建一個(gè)表項(xiàng)的數(shù)組的下標(biāo)。這樣也就理解了一個(gè)進(jìn)程可以打開(kāi)的文件數(shù)目是有上限的。為什么?數(shù)組的大小是固定的,除非改參數(shù)。[注釋?zhuān)╗注釋?zhuān)?)]OS最重要的概念就是進(jìn)程(Prcess)??梢岳斫鉃槭遣僮飨到y(tǒng)“管理”的最小單位。虛存(VM),文件(File)都屬于(Blongto)這個(gè)進(jìn)程的domin的。進(jìn)程就是一個(gè)在運(yùn)行中的程序,通常是一個(gè)ELF的加載。[注釋?zhuān)?0[注釋?zhuān)?0)]白從幼兒園開(kāi)始的情史,是大家彼此過(guò)不去。要學(xué)會(huì)“透明”。概念到文件系統(tǒng),就剎住。否則,為了理解文件系統(tǒng),非要把 13通讀,是沒(méi)有必要的。文件就是文件[注釋?zhuān)?1)]文件系統(tǒng)最重要的是控制塊(CorlBlck)。要知道數(shù)據(jù)(例如,512B)在硬盤(pán)哪個(gè)地方。而且要靠指針串起來(lái)。例如,早期DOS的FAT表都是這個(gè)目的。在現(xiàn)在分布式文件系統(tǒng)中,稱(chēng)為metadta。目的都一樣:在哪里。metadta或者cotrllk定位了。[注[注釋?zhuān)?2)]基礎(chǔ)教材通常會(huì)有意識(shí)的凸顯概念。其實(shí)任何概念本身就是抽象和總結(jié)出來(lái)的。什么是虛擬處理器”。說(shuō)白了,就是每個(gè)進(jìn)程數(shù)據(jù)結(jié)構(gòu)里的CPU相關(guān)寄存器的值。那就是[注釋?zhuān)╗注釋?zhuān)?3)]初學(xué)OS的同學(xué)不要去過(guò)分理解虛擬處理器這個(gè)概念。還是應(yīng)該從經(jīng)典分時(shí)系統(tǒng)出發(fā)?,F(xiàn)代OS候要保存一些狀態(tài)。等下次輪到時(shí),從上次斷的地方重新來(lái)。[注釋?zhuān)╗注釋?zhuān)?4)]輸入輸出I/O)的訪問(wèn)必須串行化(Silization),否則就亂了套。wy驅(qū)動(dòng)就知道,控制設(shè)備的那些cotrlreistr(控制寄存器)還沒(méi)有完成一個(gè)操作,如果被覆蓋,設(shè)備就死機(jī)或者reset了。并發(fā)是CS許多算法的目標(biāo),但底線是:和串行語(yǔ)義要一[注釋?zhuān)╗注釋?zhuān)?5)]操作系統(tǒng)另外一個(gè)重要任務(wù)是參與和指導(dǎo)CPU設(shè)計(jì)?,F(xiàn)代silicondesignco-design。否則,硬件工程師都不知道在干嘛。不能畫(huà)電路圖玩吧。真正懂一個(gè)silicon的必須包括OSarcitect。這也是為什么OS是計(jì)算機(jī)科學(xué)r/and工程的美麗之花。[注釋?zhuān)╗注釋?zhuān)?6)]在單CPU的年代,除了中斷(時(shí)鐘,外設(shè)),一個(gè)計(jì)算環(huán)境不存在并發(fā)。OS調(diào)度也是在幾個(gè)固定的點(diǎn),例如,timersyscll,witforI/O等。[注釋?zhuān)╗注釋?zhuān)?7)]MltiTsking的本質(zhì)就是大家共享資源例如,CPU動(dòng)退讓?zhuān)╕ield)。[注釋?zhuān)?8)]多道(MultiTasking)和多重(MultiProcessing)處理的區(qū)別是:multitasking就是一個(gè)CPU,例如。multitasking是多個(gè)CPU?,F(xiàn)在的多核,多(硬件)線程都屬于這個(gè)范疇。MultiTasking/SingleCPU本質(zhì)上還是串行化的(Serialized)。[注釋?zhuān)╗注釋?zhuān)?9)#在學(xué)習(xí)操作系統(tǒng)的時(shí)候,一個(gè)重要的概念是傳統(tǒng)操作系統(tǒng)內(nèi)核是獨(dú)占,不可的,Kernelisnotpreemptive。這個(gè)概念的理解把握對(duì)閱讀源碼,理解Unix/Linux的演化是至關(guān)[注釋[注釋?zhuān)?0)#用戶態(tài)/核心態(tài)的本質(zhì)是:保護(hù)。保護(hù)什么?Kernel的全局變量。為什么?Kernel是共享的。每個(gè)進(jìn)程,例如,32位系統(tǒng)Linux,是4G空間。3G用戶+1G=進(jìn)程。因[注釋?zhuān)?1)#理解kernel空間是PARTOF之一。例如,經(jīng)典OS有一個(gè)重要的sttement:kernl是沒(méi)有coext的。什么意思?krnl不存在生命。是屬于一個(gè)進(jìn)程的,而且是共享的。[注釋?zhuān)╗注釋?zhuān)?2)#系統(tǒng)調(diào)用是操作系統(tǒng)里略微難理解的一個(gè)概念。其實(shí)就是通過(guò)一個(gè)特殊指令,使得CPU挑戰(zhàn)到異常處理,然后通過(guò)查表(事先填好),最后調(diào)用相應(yīng)的krnl庫(kù)函數(shù)。(典os里),kernl就是全局變量+函數(shù)。寫(xiě)系統(tǒng)調(diào)用時(shí),要注意的是對(duì)參數(shù)傳遞的約定要比較清楚。[注[注釋?zhuān)?3)操作系統(tǒng)的發(fā)展經(jīng)歷了單一內(nèi)核(MonolithicKernel)和微內(nèi)核(MicroKernel)的學(xué)術(shù)爭(zhēng)論。最經(jīng)典的是Linus和操作系統(tǒng)泰斗AndresT1992年的辯論(/S4dT62–Torvalds_debate)。現(xiàn)在基本上是convergence,融合了。特別是在虛擬化技術(shù)的今天。[注[注釋?zhuān)?4)#進(jìn)程是最小管理單位;(SystemScope)線程是最小調(diào)度單位。同一個(gè)進(jìn)程的線程序共享內(nèi)存,例如全局變量。通常說(shuō)的線程在kernel里對(duì)應(yīng)一個(gè)調(diào)度object,通常稱(chēng)呼這樣的thread叫做SystemScope。如果是AppliacationScope,叫做用戶線程,在kernel里不存在entry。[注[注釋?zhuān)?5)在理解操作系統(tǒng)的時(shí)候,內(nèi)核(Kernel)是屬于一個(gè)進(jìn)程(Process)空間的一部分是一個(gè)重要的概念。你編的代碼

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論