操作系統(tǒng)復(fù)習(xí)_第1頁(yè)
操作系統(tǒng)復(fù)習(xí)_第2頁(yè)
操作系統(tǒng)復(fù)習(xí)_第3頁(yè)
操作系統(tǒng)復(fù)習(xí)_第4頁(yè)
操作系統(tǒng)復(fù)習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

1、操作系統(tǒng)復(fù)習(xí)第一章1. 什么是中斷Interrupt一種允許其他模塊(IO、存儲(chǔ)器)中斷處理器正常處理過(guò)程的機(jī)。利用中斷功能,處理器可以在IO操作的執(zhí)行過(guò)程中執(zhí)行其他指令。2. 什么是指令周期Instruction Cycle一個(gè)單一的指令需要的處理稱為一個(gè)指令周期。兩個(gè)步驟:取指階段、執(zhí)行階段3. 什么是中斷處理當(dāng)CPU執(zhí)行完一條現(xiàn)行指令時(shí),如果外設(shè)向CPU發(fā)出中斷請(qǐng)求,那么CPU在滿足響應(yīng)的情況下,將發(fā)出中斷響應(yīng)信號(hào),與此同時(shí)關(guān)閉中斷,表示CPU不在受理另外一個(gè)設(shè)備的中斷。這時(shí),CPU將尋找中斷請(qǐng)求源是哪一個(gè)設(shè)備,并保存CPU自己的程序計(jì)數(shù)器(PC)的內(nèi)容。然后,他將轉(zhuǎn)移到處理該中斷源的中

2、斷服務(wù)程序。CPU在保存現(xiàn)場(chǎng)信息,設(shè)備服務(wù)(如交換數(shù)據(jù))以后,將恢復(fù)現(xiàn)場(chǎng)信息。在這些動(dòng)作完成以后,開(kāi)放中斷,并返回到原來(lái)被中斷的主程序的下一條指令。 4. 什么是嵌套中斷處理是指中斷系統(tǒng)正在執(zhí)行一個(gè)中斷服務(wù)時(shí),有另一個(gè)優(yōu)先級(jí)更高的中斷提出中斷請(qǐng)求,這時(shí)會(huì)暫時(shí)終止當(dāng)前正在執(zhí)行的級(jí)別較低的中斷源的服務(wù)程序,去處理級(jí)別更高的中斷源,待處理完畢,再返回到被中斷了的中斷服務(wù)程序繼續(xù)執(zhí)行,這個(gè)過(guò)程就是中斷嵌套。 5. 什么是局部性原理局部性原理(principle of locality);概況來(lái)說(shuō),局部性原理描述了一個(gè)進(jìn)程中程序和數(shù)據(jù)引用的集簇傾向??臻g局部性(spatial locality):指執(zhí)行

3、設(shè)計(jì)很多簇聚的存儲(chǔ)器單元的趨勢(shì),這反映了處理器順序訪問(wèn)指令的傾向,同時(shí),也反應(yīng)了程序順序訪問(wèn)數(shù)據(jù)單元的傾向。時(shí)間局部性(temporal locality):指處理器訪問(wèn)最近使用過(guò)的存儲(chǔ)器單元的趨勢(shì)。第二章1、 什么是串行處理Serial Processing系統(tǒng)(特點(diǎn))串行處理:沒(méi)有操作系統(tǒng)特點(diǎn):程序員直接和硬件打交道如何操作:機(jī)器在一個(gè)控制臺(tái)上運(yùn)行,控制臺(tái)包括顯示燈、觸發(fā)器、某種類型的輸入設(shè)備和打印機(jī)。用機(jī)器代碼編寫的程序通過(guò)輸入設(shè)備(如卡片閱讀機(jī))載入計(jì)算機(jī)。問(wèn)題:調(diào)度:大多數(shù)裝置都使用一個(gè)硬拷貝的簽約表約定機(jī)器時(shí)間。提前完成任務(wù)造成閑置浪費(fèi),超時(shí)會(huì)被強(qiáng)制停止。準(zhǔn)備時(shí)間:一個(gè)程序稱為作業(yè)

4、,包括往內(nèi)存中加載編譯器和高級(jí)語(yǔ)言程序(源程序),保存編譯好的程序(目標(biāo)程序),然后加載目標(biāo)程序和公用函數(shù)并鏈接在一起。準(zhǔn)備時(shí)間需要花費(fèi)大量時(shí)間。2、 什么是簡(jiǎn)單批處理系統(tǒng)Simple Batch Systems(特點(diǎn))中心思想:使用一個(gè)稱為監(jiān)控程序的軟件。計(jì)算機(jī)操作員將整個(gè)批作業(yè)放在輸入設(shè)備上,供監(jiān)控程序使用。每個(gè)程序完成處理后返回到監(jiān)控程序,同時(shí)監(jiān)控程序自動(dòng)加載下一個(gè)程序。從兩個(gè)角度分析:1) 監(jiān)控程序角度: 監(jiān)控程序控制事件的順序。大部分監(jiān)控程序必須總是處于主存儲(chǔ)器中并且可以執(zhí)行,成為常駐監(jiān)控程序。2) 處理器角度:略 作業(yè)控制語(yǔ)言(JCL):特殊類型的編程語(yǔ)言 其他硬件功能: 1)內(nèi)存

5、保護(hù):當(dāng)用戶程序正在運(yùn)行時(shí),不能改變包含監(jiān)控程序的內(nèi)存區(qū)域。 2)定時(shí)器:防止一個(gè)作業(yè)獨(dú)占系統(tǒng) 3)特權(quán)指令:某些機(jī)器級(jí)指令被設(shè)計(jì)成特權(quán)指令,只能由監(jiān)控程序執(zhí)行。 4)中斷CPU模式:用戶模式:有些內(nèi)存區(qū)域是受保護(hù)的,特權(quán)指令不允許執(zhí)行內(nèi)核模式:可以執(zhí)行特殊指令,可以訪問(wèn)受保護(hù)的區(qū)域3、 什么是多道批處理系統(tǒng)Multiprogrammed Batch Systems(特點(diǎn))背景:IO設(shè)備比處理器慢,效率低。方案:擴(kuò)展內(nèi)存,存放更多程序。4、 什么是分時(shí)系統(tǒng)Time-Sharing Systems(特點(diǎn))思想:Processors time is shared among multiple us

6、ers/jobs5、 什么是實(shí)時(shí)系統(tǒng)Real-time operating system,RTOS (特點(diǎn))實(shí)時(shí)系統(tǒng)能夠在指定或者確定的時(shí)間內(nèi)完成系統(tǒng)功能和外部或內(nèi)部、同步或異步時(shí)間做出響應(yīng)的系統(tǒng)。 特點(diǎn):時(shí)間約束性;可預(yù)測(cè)性;可靠性;與外部環(huán)境的交互作用性、6、 什么是操作系統(tǒng)Operating System操作系統(tǒng)是控制應(yīng)用程序執(zhí)行的程序,并充當(dāng)應(yīng)用程序和計(jì)算機(jī)硬件之間的接口。7、 多道程序Multiprogramming的概念及其好處多道程序設(shè)計(jì)技術(shù)是在計(jì)算機(jī)內(nèi)存中同時(shí)存放幾道相互獨(dú)立的程序,使它們?cè)诠芾沓绦蚩刂葡?,相互穿插運(yùn)行。好處:提高cpu利用率8、 操作系統(tǒng)的目標(biāo)1. 方便:使計(jì)

7、算機(jī)更易于使用2. 有效:操作系統(tǒng)允許以更有效的方式使用計(jì)算機(jī)系統(tǒng)資源。3. 擴(kuò)展的能力:允許在不妨礙服務(wù)的前提下有效地開(kāi)發(fā)、測(cè)試和引進(jìn)新的系統(tǒng)功能。第三章1. 進(jìn)程映像的組成1. 標(biāo)識(shí)符:2. 狀態(tài):3. 優(yōu)先級(jí)4. 程序計(jì)數(shù)器:程序中即將被執(zhí)行的下一條指令的地址5. 內(nèi)存指針:6. 上下文數(shù)據(jù):進(jìn)程執(zhí)行時(shí)處理器的寄存器中的數(shù)據(jù)7. I/O狀態(tài)信息8. 審計(jì)信息:可包括處理器時(shí)間總和、使用的時(shí)鐘數(shù)總和、時(shí)間限制、審計(jì)號(hào)2. 什么是執(zhí)行模式,為什么需要不同的cpu執(zhí)行模式用戶模式(非特權(quán)模式):內(nèi)核模式(系統(tǒng)模式、控制模式、特權(quán)模式):某些指令只能在特權(quán)模式下運(yùn)行,包括讀取或改變諸如程序狀態(tài)字

8、之類控制寄存器的指令、原始IO指令和內(nèi)存管理相關(guān)的指令,有部分內(nèi)存區(qū)域僅在特權(quán)模式下可以被訪問(wèn)。作用:保護(hù)操作系統(tǒng)和重要的操作系統(tǒng)和重要的操作系統(tǒng)數(shù)據(jù)表不受用戶程序的干涉。3. 什么是進(jìn)程,進(jìn)程和程序的區(qū)別1. 一個(gè)正在執(zhí)行中的程序2. 一個(gè)正在計(jì)算機(jī)上執(zhí)行的程序?qū)嵗?. 能分配給處理器并由處理器執(zhí)行的實(shí)體4. 一個(gè)具有以下特征的活動(dòng)單元:一組執(zhí)行序列的執(zhí)行、一個(gè)當(dāng)前狀、相關(guān)的系統(tǒng)資源的集合4. 什么是進(jìn)程控制塊Process Control Block,有什么作用一個(gè)數(shù)據(jù)結(jié)構(gòu),存放上述列表信息,由操作系統(tǒng)創(chuàng)建和管理作用:是操作系統(tǒng)能夠支持多進(jìn)程和提供多處理的關(guān)鍵工具。因此可以說(shuō):進(jìn)程是由程序

9、代碼和相關(guān)數(shù)據(jù)還有進(jìn)程控制塊組成的。5. 進(jìn)程切換的流程1. 保存處理器上下文,包括程序計(jì)數(shù)器和其他寄存器2. 更新當(dāng)前處于運(yùn)行態(tài)的進(jìn)程的進(jìn)程控制塊3. 吧把進(jìn)程的進(jìn)程控制塊移到相應(yīng)的隊(duì)列4. 選擇另一個(gè)進(jìn)程執(zhí)行5. 更新所選擇的進(jìn)程控制塊6. 更新內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)7. 恢復(fù)處理器在被選擇進(jìn)程最近一次切換出運(yùn)行態(tài)時(shí)的上下文,可以通過(guò)載入程序計(jì)數(shù)器和其他寄存器以前的值來(lái)實(shí)現(xiàn)。6. 進(jìn)程切換和模式切換的異同模式切換:如果存在一個(gè)未處理的中斷:1.把程序計(jì)數(shù)器置成中斷處理器的開(kāi)始地址。2,把處理器模式從用戶模式切換成內(nèi)核模式,使得中斷處理代碼可以執(zhí)行有特權(quán)的指令不同:進(jìn)程狀態(tài)需要設(shè)計(jì)到狀態(tài)變化,發(fā)

10、生模式切換可以不改變正處于運(yùn)行態(tài)的進(jìn)程狀態(tài),在這種情況下,保存上下文和以后恢復(fù)上下文只需要很少的開(kāi)銷。7. 進(jìn)程狀態(tài)變化:兩狀態(tài)、五狀態(tài),能畫圖并描述兩狀態(tài)進(jìn)程模型 進(jìn)入 /分派(即調(diào)度)> 退出>未運(yùn)行 運(yùn)行> <暫停/ 狀態(tài)變遷圖 進(jìn)入 分派 > 隊(duì)列 >處理器> < _| 暫停五狀態(tài)模型背景:兩狀態(tài)是不適用的:存在一些處于非運(yùn)行狀態(tài)但已經(jīng)就緒等待執(zhí)行的進(jìn)程,同時(shí)存在一些處于阻塞態(tài)等待I/O操作結(jié)束的進(jìn)程,使用單個(gè)隊(duì)列,調(diào)度器不能只考慮選擇隊(duì)列中最老的進(jìn)程。1. 運(yùn)行態(tài)Running2. 就緒態(tài)Ready3. 阻塞態(tài)Blocked4. 新建態(tài)

11、New:通常是進(jìn)程控制塊已經(jīng)創(chuàng)建但還沒(méi)有加載到主存中的新進(jìn)程5. 退出態(tài)Exit 分派 允許進(jìn)入 /> 釋放新建>就緒 運(yùn)行>退出 | <_超時(shí) _/ | / 事件發(fā)生 | / 等待事件 | / | / 阻塞程序、數(shù)據(jù)、棧和屬性的集合稱為進(jìn)程映像。程序狀態(tài)字(WSP)這個(gè)寄存器里包含有狀態(tài)信息第四章1. 什么是SMP對(duì)稱多處理在微操作級(jí)別,同一時(shí)刻會(huì)有多個(gè)控制信號(hào)產(chǎn)生,可以把取操作和執(zhí)行操作重疊起來(lái)。通過(guò)復(fù)用處理器提供并行性的手段:對(duì)稱多處理(SMP)系統(tǒng)、集群系統(tǒng)2. 指令和數(shù)據(jù)流的不同類型1. 單指令單數(shù)據(jù)(SISD)流:一個(gè)單處理器執(zhí)行一個(gè)單指令流,對(duì)保存在一個(gè)存

12、儲(chǔ)器中的數(shù)據(jù)進(jìn)程進(jìn)行操作。2. 單指令多數(shù)據(jù)(SIMD)流:一個(gè)機(jī)器指令控制許多處理部件步伐一致地同時(shí)執(zhí)行。每個(gè)處理部件都有一個(gè)相關(guān)的數(shù)據(jù)存儲(chǔ)空間,因此,每條指令由不同的處理器在不同的數(shù)據(jù)集合上執(zhí)行。向量和陣列處理器屬于這一類3. 多指令單數(shù)據(jù)(MISD)流:一系列數(shù)據(jù)被傳送到一組處理器上,每個(gè)處理器執(zhí)行不同的指令序列。這個(gè)結(jié)構(gòu)從未實(shí)現(xiàn)。4. 多指令多數(shù)據(jù)(MIMD)流:一組處理器同時(shí)在不同的數(shù)據(jù)集上執(zhí)行不同的指令序列3. 什么是微內(nèi)核Microkernel、單體內(nèi)核monolithic kernel,有什么優(yōu)缺點(diǎn)微內(nèi)核:微內(nèi)核是一個(gè)小型的操作系統(tǒng)核心,為模塊化擴(kuò)展提供了基礎(chǔ)。只提供基本功能。

13、微內(nèi)核組織結(jié)構(gòu)的優(yōu)點(diǎn):1. 一致接口Uniform interface:進(jìn)程不需要區(qū)分是內(nèi)核級(jí)服務(wù)還是用戶級(jí)服務(wù),因?yàn)樗械姆?wù)都是通過(guò)消息傳遞提供的。2. 可擴(kuò)展性Extensibility:允許增加新的服務(wù)以及在同一功能區(qū)域中提供多個(gè)服務(wù)3. 靈活性Flexibility:可以刪減現(xiàn)有功能4. 可移植性Portability:5. 可靠性Reliability6. 分布式系統(tǒng)支持7. 對(duì)面向?qū)ο蟛僮飨到y(tǒng)的支持微內(nèi)核的潛在缺點(diǎn):性能問(wèn)題。單體內(nèi)核monolithic kernel是一個(gè)提供操作系統(tǒng)應(yīng)該提供的功能的大內(nèi)核,包括調(diào)度、文件系、網(wǎng)絡(luò)、存儲(chǔ)管理等。內(nèi)核的所有功能成分都能夠訪問(wèn)它的內(nèi)部

14、數(shù)據(jù)結(jié)構(gòu)和程序。典型情況下,這個(gè)大內(nèi)核是作為一個(gè)進(jìn)程實(shí)現(xiàn)的,所有元素都共享相同的地址空間。優(yōu)點(diǎn):減少了進(jìn)程通信和狀態(tài)切換的系統(tǒng)開(kāi)銷,獲得較高的運(yùn)行效率;缺點(diǎn):內(nèi)核比較龐大。4. 進(jìn)程process和線程 thread 的概念以及他們之間的關(guān)系線程:分派Dispatching(調(diào)度執(zhí)行)的單位通常稱為線程或輕量進(jìn)程(LightWeight Process,LWP)。而擁有資源所有權(quán)的單位稱為進(jìn)程或任務(wù)。線程是調(diào)度執(zhí)行單位,進(jìn)程是資源分配單位。關(guān)系:一個(gè)進(jìn)程可能有一個(gè)或多個(gè)線程5. 線程的實(shí)現(xiàn)方法(包括內(nèi)核級(jí)線程如何實(shí)現(xiàn)及優(yōu)缺點(diǎn),用戶級(jí)線程)用戶級(jí)線程User-Level Threads ULT在

15、純粹的用戶級(jí)線程中,線程的管理工作由應(yīng)用程序完成,內(nèi)核沒(méi)有意思到線程的存在。過(guò)程:應(yīng)用程序從單線程開(kāi)始,該應(yīng)用程序和它的線程被分配改一個(gè)由內(nèi)核管理的進(jìn)程。產(chǎn)生新線程通過(guò)調(diào)用線程庫(kù)中的派生例程完成。使用用戶級(jí)線程代替內(nèi)核級(jí)線程的優(yōu)點(diǎn):1. 線程管理數(shù)據(jù)結(jié)構(gòu)在一個(gè)進(jìn)程的用戶地址空間中,線程切換不需要內(nèi)核模式特權(quán),節(jié)省了在兩種模式間進(jìn)行切換的開(kāi)銷2. 調(diào)用可以是應(yīng)用程序?qū)S玫?。調(diào)度算法可以去適應(yīng)應(yīng)用程序,而不會(huì)擾亂底層的操作系統(tǒng)調(diào)度器3. 用戶級(jí)線程可以再任何操作系統(tǒng)中運(yùn)行。線程庫(kù)是一組供所有應(yīng)用程序共享的應(yīng)用級(jí)軟件包缺點(diǎn):1. 在典型的操作系統(tǒng)中,許多系統(tǒng)調(diào)用都會(huì)引起阻塞。用戶級(jí)線程執(zhí)行一個(gè)系統(tǒng)調(diào)

16、用時(shí),進(jìn)程中所有線程都會(huì)被阻塞2. 在純粹的用戶級(jí)線程策略中,一個(gè)多線程應(yīng)用程序不能利用多處理技術(shù)。內(nèi)核級(jí)線程Kernel-Level Threads在純粹的內(nèi)核級(jí)線程軟件中,線程管理工作由內(nèi)核完成。應(yīng)用程序沒(méi)有進(jìn)行線程管理的代碼,只有一個(gè)到內(nèi)核級(jí)線程設(shè)施的API內(nèi)核級(jí)線程優(yōu)點(diǎn):1、 內(nèi)核可以同時(shí)把同一個(gè)進(jìn)程中的多個(gè)線程調(diào)度到多個(gè)處理器中,如果進(jìn)程中的一個(gè)線程被阻塞,內(nèi)核可以調(diào)度同一進(jìn)程中的另一個(gè)線程。2、 內(nèi)核例程自身也可以使用多線程缺點(diǎn):1. 同一進(jìn)程在把控制從一個(gè)線程時(shí)傳送到另一個(gè)進(jìn)程時(shí)需要到內(nèi)核的模式切換,開(kāi)銷大第五章1. 怎樣通過(guò)硬件、軟件方法實(shí)現(xiàn)同步Synchronization互

17、斥Mutual Exclusion硬件:中斷禁用Interrupt Disabling、專用(特殊)機(jī)器指令Special Machine Instructions軟件:增強(qiáng)互斥的軟件算法2. 什么是互斥當(dāng)一個(gè)進(jìn)程在臨界區(qū)訪問(wèn)共享資源時(shí),其他進(jìn)程不能進(jìn)入該臨界區(qū)訪問(wèn)任何共享資源3. 什么是競(jìng)爭(zhēng)條件Race Condition多個(gè)線程或進(jìn)程在讀寫一個(gè)共享數(shù)據(jù)時(shí)結(jié)果一來(lái)于他們執(zhí)行的相對(duì)時(shí)間4. 什么是臨界區(qū)critical section一段代碼,在這段代碼中進(jìn)程將訪問(wèn)共享資源,只能同時(shí)有一個(gè)進(jìn)程在這段代碼中運(yùn)行5. 什么是信號(hào)量Semaphores(一般信號(hào)量、二元信號(hào)量、強(qiáng)信號(hào)量、弱信號(hào)量)一

18、個(gè)特殊變量。兩個(gè)或多個(gè)進(jìn)程可以通過(guò)簡(jiǎn)單的信號(hào)進(jìn)行合作,一個(gè)進(jìn)程可以被迫在某一個(gè)位置停止,直到它接收到一個(gè)特定的信號(hào)。6. 什么是死鎖兩個(gè)或兩個(gè)以上的進(jìn)程因每個(gè)進(jìn)程都在等待其他進(jìn)程完成某些事情而不能繼續(xù)執(zhí)行7. 什么是活鎖兩個(gè)或兩個(gè)以上的進(jìn)程為了響應(yīng)其他進(jìn)程中變化而繼續(xù)改變自己的狀態(tài)但不做有用的工作。8. 什么是饑餓一個(gè)可運(yùn)行的進(jìn)程盡管能繼續(xù)執(zhí)行,但被調(diào)度器無(wú)限期地忽視,而不能被調(diào)度執(zhí)行。9. 怎么用信號(hào)量和臨界區(qū)實(shí)現(xiàn)同步互斥10. 并發(fā)過(guò)程中考慮的四個(gè)重點(diǎn)問(wèn)題1. 操作系統(tǒng)必須能夠記住各種活躍進(jìn)程2. 操作系統(tǒng)必須為每個(gè)活躍進(jìn)程分配和釋放各種資源3. 操作系統(tǒng)必須保護(hù)每個(gè)進(jìn)程的數(shù)據(jù)和物理資源,

19、避免其他進(jìn)程無(wú)意的干涉4. 一個(gè)進(jìn)程的功能和輸出結(jié)果必須與執(zhí)行速度無(wú)關(guān)。11. 生產(chǎn)者和消費(fèi)者模型描述:有一個(gè)或多個(gè)生產(chǎn)者產(chǎn)生某種類型的數(shù)據(jù),并放置在緩沖區(qū)中;有一個(gè)消費(fèi)者從緩沖區(qū)中取數(shù)據(jù),每次取一項(xiàng)。12. 讀者寫者問(wèn)題13. 哲學(xué)家就餐問(wèn)題第六章1. 資源的類別(可重用資源、)可重用資源Reusable Resources:一次只能供一個(gè)進(jìn)程安全地使用,并且不會(huì)由于使用而耗盡的資源。如處理器、IO通道等??上M(fèi)資源Consumable Resources:可以創(chuàng)建并且可以銷毀的資源。如中斷、信號(hào)、IO緩沖區(qū)的信息。2. 什么是死鎖Deadlock、饑餓Starvation死鎖可以被定義為一

20、組競(jìng)爭(zhēng)系統(tǒng)資源或相互通信的進(jìn)程間相互的“永久”阻塞。3. 死鎖發(fā)生的四個(gè)條件1. 互斥Mutual exclusion。一次只有一個(gè)進(jìn)程可以使用一個(gè)資源2. 占有且等待Hold-and-wait。當(dāng)一個(gè)進(jìn)程在等待分配到的其他資源時(shí),其繼續(xù)占有已分配得到的資源3. 非搶占No preemption。不能強(qiáng)行搶占進(jìn)程中已經(jīng)占有的戲院。4. 循環(huán)等待Circular wait。存在一個(gè)封閉的進(jìn)程鏈,使得每個(gè)資源至少占有此鏈中下一個(gè)進(jìn)程所需要的一個(gè)資源。4. 解決死鎖的三種方法(避免Avoidanc、檢測(cè)、預(yù)防Prevention)的異同之處死鎖預(yù)防死鎖預(yù)防策略:試圖設(shè)計(jì)一種系統(tǒng)來(lái)排除發(fā)生死鎖的可能性

21、。實(shí)現(xiàn)方式:通過(guò)約束資源請(qǐng)求,防止四個(gè)死鎖條件中至少一個(gè)的發(fā)生,會(huì)導(dǎo)致低效的資源使用和低效的進(jìn)程執(zhí)行。死鎖避免原理:允許三個(gè)必要條件,但通過(guò)明智的選擇,確保永遠(yuǎn)不會(huì)達(dá)到死鎖點(diǎn),比死鎖預(yù)防允許更多的并發(fā)。兩種死鎖避免方法:1. 進(jìn)程啟動(dòng)拒絕2. 資源分配拒絕(銀行家算法) 安全狀態(tài):至少有一個(gè)進(jìn)程執(zhí)行序列不會(huì)導(dǎo)致死鎖(即所有進(jìn)程都能運(yùn)行知道結(jié)束) 不安全狀態(tài):不安全的一個(gè)狀態(tài)。死鎖避免的優(yōu)點(diǎn):不需要死鎖預(yù)防中的搶占和重新運(yùn)行進(jìn)程,而且限制少。死鎖避免使用限制:1. 必須事先聲明每個(gè)進(jìn)程請(qǐng)求的最大資源2. 考慮的進(jìn)程必須是無(wú)關(guān)的,他們執(zhí)行的順序必須沒(méi)有任何同步要求的限制3. 分配的資源數(shù)目必須是固

22、定的4. 在占有資源時(shí),進(jìn)程不能退出死鎖檢測(cè)死鎖檢測(cè)算法步驟:1. 標(biāo)記Allocation矩陣中一行全為0的進(jìn)程2. 初始化一個(gè)臨時(shí)向量W,令W等于Available向量3. 查找下標(biāo)i,使進(jìn)程i的請(qǐng)求小于或等于W,標(biāo)記此進(jìn)程,并令W=W+這一進(jìn)程之前所分配的資源。找不到則終止算法。4. 返回步驟3.5. 銀行家算法(重點(diǎn))第七章1. 內(nèi)存管理的需求1. Relocation重定位:程序被換出到磁盤,下一次被換入時(shí),不必放在以前的區(qū)域,而是可以重定位到內(nèi)存的不同區(qū)域。2. Protection保護(hù):每個(gè)進(jìn)程都應(yīng)該受到保護(hù),避免其他進(jìn)程的干涉。注意:內(nèi)存保護(hù)的需求必須由處理器(硬件)實(shí)現(xiàn),而不

23、是由操作系統(tǒng)滿足。3. Sharing共享:4. Logical Organization邏輯組織5. Physical Organization物理組織:主存不足時(shí),程序員使用覆蓋(overlaying)技術(shù)來(lái)組織程序和數(shù)據(jù),不同的模塊被指派到主存中的同一區(qū)域,主程序負(fù)責(zé)在需要時(shí)換入或換出程序。2. 什么是內(nèi)部碎片internal fragmentation、外部碎片external fragmentation內(nèi)部碎片:由于被裝入的數(shù)據(jù)塊小于分區(qū)大小,而導(dǎo)致分區(qū)內(nèi)部有空間浪費(fèi),這種現(xiàn)象稱為內(nèi)存碎片。外部碎片:動(dòng)態(tài)分區(qū)方法開(kāi)始時(shí)是很好的,但它最終會(huì)導(dǎo)致在內(nèi)存中出現(xiàn)許多小的空洞,這種現(xiàn)象稱為外部

24、碎片。3. 邏輯地址、相對(duì)地址、物理地址的概念和關(guān)系邏輯地址Logical Address:是指與當(dāng)前數(shù)據(jù)在內(nèi)存中的物理分配地址無(wú)關(guān)的訪問(wèn)地址,在執(zhí)行對(duì)內(nèi)存的訪問(wèn)之前必須把它轉(zhuǎn)換為物理地址相對(duì)地址Relative Address:是邏輯地址的特例,是相對(duì)于某些已知點(diǎn)的存儲(chǔ)單元物理地址Physical Address:是數(shù)據(jù)在主存中的實(shí)際位置4. 重定位、覆蓋Overlaying、交換swapping的概念重定位:程序被換出到磁盤,下一次被換入時(shí),不必放在以前的區(qū)域,而是可以重定位到內(nèi)存的不同區(qū)域。覆蓋:主存不足時(shí),程序員使用覆蓋(overlaying)技術(shù)來(lái)組織程序和數(shù)據(jù),不同的模塊被指派到主

25、存中的同一區(qū)域,主程序負(fù)責(zé)在需要時(shí)換入或換出程序。5. 固定分區(qū)Fixed Partitioning和分頁(yè)P(yáng)aging的異同1. 在系統(tǒng)生成階段,主存被劃分為許多靜態(tài)分區(qū)。進(jìn)程可以裝入到大于或等于自身大小的分區(qū)中。優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單。缺點(diǎn):有內(nèi)部碎片,對(duì)內(nèi)存使用不充分,活動(dòng)進(jìn)程的最大數(shù)目是固定的。2. 簡(jiǎn)單分頁(yè):主存被劃分成許多大小相等的幀;每個(gè)進(jìn)程被劃分成許多大小與幀相等的頁(yè);要裝入一個(gè)進(jìn)程,需要把進(jìn)程包含的所有頁(yè)都裝入到主存內(nèi)不一定連續(xù)的某些幀中優(yōu)點(diǎn):沒(méi)有外部碎片缺點(diǎn):有很少數(shù)量的內(nèi)部碎片6. 動(dòng)態(tài)分區(qū)dynamic partitioning和分段Segmentation的異同1.動(dòng)態(tài)分區(qū):分

26、區(qū)是動(dòng)態(tài)創(chuàng)建的,因而使得每個(gè)進(jìn)程可以裝入到與自身大小相等的分區(qū)中。 優(yōu)點(diǎn):沒(méi)有內(nèi)部碎片 缺點(diǎn):由于需要壓縮外部碎片,對(duì)內(nèi)存的使用不充分2.簡(jiǎn)單分段:每個(gè)進(jìn)程被劃分成許多端;要裝入一個(gè)進(jìn)程,需要把進(jìn)程包含的所有段都裝入到主存內(nèi)不一定連續(xù)的某些動(dòng)態(tài)分區(qū)中。優(yōu)點(diǎn):沒(méi)有內(nèi)部碎片,相對(duì)于動(dòng)態(tài)分區(qū),提高了內(nèi)存利用率,減少了開(kāi)銷。缺點(diǎn):存在外部碎片第8章 :虛擬內(nèi)存1. 什么是命中率 訪問(wèn)某個(gè)特定的存儲(chǔ)器層時(shí),CPU找到所需數(shù)據(jù)的百分比2. 什么是系統(tǒng)抖動(dòng)系統(tǒng)抖動(dòng)(thrashing):處理器大部分時(shí)間用于交換塊,而不是執(zhí)行指令。3. 虛擬地址和實(shí)地址的概念虛地址指的是存在于虛擬內(nèi)存中的地址,它有時(shí)候在磁盤

27、中有時(shí)候在主存中。實(shí)地址指的是主存中的地址。4. 取策略和清除策略的概念(預(yù)約式清除、請(qǐng)求式清除)讀取策略確定一頁(yè)何時(shí)取人主存,常用的兩種方法:請(qǐng)求式分頁(yè)(demand paging)和預(yù)約式分頁(yè)(prepaging)。請(qǐng)求式分頁(yè):只有當(dāng)訪問(wèn)到某頁(yè)中的一個(gè)單元時(shí),才將該頁(yè)取人主存。當(dāng)進(jìn)程第一次啟動(dòng)時(shí),會(huì)出現(xiàn)一陣大量的頁(yè)錯(cuò)誤。預(yù)約式分頁(yè):讀取的頁(yè)并不是頁(yè)錯(cuò)誤請(qǐng)求的頁(yè),一次讀取多個(gè)連續(xù)的頁(yè)比隔一段時(shí)間讀取一頁(yè)更有效。清除策略確定何時(shí)將一個(gè)被修改過(guò)的頁(yè)寫會(huì)輔存。請(qǐng)求式清除:只有當(dāng)一頁(yè)被選擇用于替換時(shí)才被寫回輔存預(yù)約式清除:將這些被修改的多個(gè)頁(yè)在需要用到它們所占據(jù)的頁(yè)幀之前成批地寫回輔存。5. 頁(yè)面替

28、換調(diào)度算法、缺頁(yè)次數(shù)、頁(yè)面替換次數(shù)1. 最佳(optimal,OPT):替換下次訪問(wèn)距當(dāng)前時(shí)間最長(zhǎng)的頁(yè)2.最近最少使用(least recently used,LRU):替換主存中上次使用距當(dāng)前最遠(yuǎn)的頁(yè)3. 先進(jìn)先出(FIFO):替換駐留在主存中時(shí)間最長(zhǎng)的頁(yè)4. 時(shí)鐘(Clock):給每一幀關(guān)聯(lián)一個(gè)附加位,成為使用位。效率:OPT>LRU>Clock>FIFO6. 分頁(yè)系統(tǒng)、分段、分頁(yè)分段結(jié)合的地址轉(zhuǎn)換、TLB、頁(yè)表、主存、磁盤地址轉(zhuǎn)換,把圖畫出來(lái)并解釋過(guò)程第九章1. 調(diào)度(Scheduling)的標(biāo)準(zhǔn),如何評(píng)價(jià)調(diào)度的好壞2. 什么是搶占和非搶占 (1)Nonpreempti

29、ve非搶占:一旦進(jìn)程處于運(yùn)行態(tài),它就不斷執(zhí)行直到終止,或者在IO請(qǐng)求或系統(tǒng)調(diào)用時(shí)阻塞自己。 (2)Preemptive搶占:當(dāng)前正在運(yùn)行的進(jìn)程可能被操作系統(tǒng)中斷,并轉(zhuǎn)移到就緒態(tài)。3. 周轉(zhuǎn)時(shí)間Turnaround time、歸一化周轉(zhuǎn)時(shí)間Normalized turnaround time、吞吐率Throughput、可預(yù)測(cè)性Predictability的概念周轉(zhuǎn)時(shí)間:指一個(gè)進(jìn)程從提交到完成之間的時(shí)間間隔,包括實(shí)際執(zhí)行時(shí)間加上等待資源之間。歸一化周轉(zhuǎn)時(shí)間:作業(yè)的周轉(zhuǎn)時(shí)間和與服務(wù)為其提供服務(wù)的服務(wù)時(shí)間之比。吞吐率:調(diào)度策略應(yīng)該試圖使得每個(gè)時(shí)間單位完成的進(jìn)程數(shù)目達(dá)到最大??深A(yù)測(cè)性:無(wú)論系統(tǒng)非負(fù)載如

30、何,一個(gè)給定的工作運(yùn)行的總時(shí)間量和總代價(jià)是相同的。用戶不希望響應(yīng)時(shí)間或周轉(zhuǎn)時(shí)間的變化太大。4. 進(jìn)程的調(diào)度,不同的調(diào)度算法(畫圖),計(jì)算周轉(zhuǎn)時(shí)間,歸一化周轉(zhuǎn)時(shí)間1.先來(lái)先服務(wù)(FCFS):選擇在就緒隊(duì)列中存在時(shí)間最長(zhǎng)的進(jìn)程運(yùn)行。缺點(diǎn):可能導(dǎo)致處理器和IO設(shè)備都沒(méi)有得到充分利用2.輪轉(zhuǎn)Round-Robin :基于時(shí)鐘的搶占策略,以一個(gè)周期性間隔產(chǎn)生時(shí)鐘中斷,當(dāng)中斷發(fā)生時(shí),當(dāng)前正在運(yùn)行的進(jìn)程被置于就緒隊(duì)列中,然后基于FCFS策略選擇下一個(gè)。缺點(diǎn):處理器中斷、執(zhí)行調(diào)度和分派函數(shù)都需要處理器開(kāi)銷。3.最短進(jìn)程優(yōu)先(SPN):非搶占策略,原則是下一次選擇所需處理時(shí)間最短的進(jìn)程。缺點(diǎn):長(zhǎng)進(jìn)程可能會(huì)餓死。

31、4.最短剩余時(shí)間(SRT):增加搶占機(jī)制,調(diào)度器總是選擇預(yù)期剩余時(shí)間最短的進(jìn)程。缺點(diǎn):必須記錄過(guò)去的服務(wù)時(shí)間,增加了開(kāi)銷5.Highest Response Ratio Next (HRRN最高響應(yīng)比優(yōu)先:5. 長(zhǎng)程、中程、短程調(diào)度的概念作用1. Long-Term Scheduling長(zhǎng)程調(diào)度:決定加入到待執(zhí)行的進(jìn)程池中2. Medium-Term Scheduling中程調(diào)度:決定加入到部分或全部在主存中的進(jìn)程集合中3. 短程調(diào)度:決定哪一個(gè)可用進(jìn)程將被處理器執(zhí)行第十一章1. IO的三種模式(可編程IO、)1. 可編程IO Programmed I/O:處理器代表進(jìn)程給IO模塊發(fā)送一個(gè)IO

32、命令,該進(jìn)程進(jìn)入忙等待,等待操作的完成,然后才可以繼續(xù)執(zhí)行2. 中斷驅(qū)動(dòng)IO Interrupt-driven I/O:處理器代表進(jìn)程向IO模塊發(fā)出一個(gè)IO命令,然后繼續(xù)執(zhí)行后續(xù)指令,當(dāng)IO模塊完成工作后,處理器被改模塊中斷。3. 直接存儲(chǔ)器訪問(wèn)(DMA)Direct Memory Access :一個(gè)DMA模塊控制主存和IO模塊之間的數(shù)據(jù)交換。為傳送一塊數(shù)據(jù),處理器給DMA模塊發(fā)請(qǐng)求,只有當(dāng)整個(gè)數(shù)據(jù)塊傳送結(jié)束后,處理器才被中斷。2. 什么是IO buffer,作用是什么在輸入請(qǐng)求發(fā)出前就開(kāi)始執(zhí)行輸入傳送,并且在輸出請(qǐng)求發(fā)出一段時(shí)間之后才開(kāi)始執(zhí)行輸出傳送,這項(xiàng)技術(shù)叫緩沖。預(yù)輸入,緩輸出作用:避免不必要的開(kāi)銷和低效操作,提高系統(tǒng)性能。3. 面向塊、面向流的設(shè)備的概念和區(qū)別Block-oriented(面向塊)

溫馨提示

  • 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)論