操作系統(tǒng)課件復習_第1頁
操作系統(tǒng)課件復習_第2頁
操作系統(tǒng)課件復習_第3頁
操作系統(tǒng)課件復習_第4頁
操作系統(tǒng)課件復習_第5頁
已閱讀5頁,還剩105頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1 1章章 操作系統(tǒng)引論操作系統(tǒng)引論一、操作系統(tǒng)的目標一、操作系統(tǒng)的目標 能夠能夠高效高效地控制和管理計算機硬件和軟件資源、地控制和管理計算機硬件和軟件資源、公平公平合理地合理地對各類作業(yè)進行調(diào)度、使各用戶能夠靈活對各類作業(yè)進行調(diào)度、使各用戶能夠靈活方便方便有效地使用計算機。有效地使用計算機。有良好的有良好的開放開放性和性和可擴充可擴充性。性。高效:高效:CPU,內(nèi)存內(nèi)存,I/O設備設備,文件文件(程序和數(shù)據(jù)程序和數(shù)據(jù))利用率提高利用率提高公平公平: 應公平合理應公平合理, 否則會產(chǎn)生否則會產(chǎn)生“死鎖死鎖”或或“饑餓饑餓”方便方便: 用戶界面友好,使用靈活方便。用戶界面友好,使用靈活方便。

2、開放開放: 遵循開放系統(tǒng)互連遵循開放系統(tǒng)互連 OSI 國際標準規(guī)范國際標準規(guī)范, 彼此兼容彼此兼容可擴充:可擴充:層次化結(jié)構(gòu),便于增加新的功能層次化結(jié)構(gòu),便于增加新的功能 充分地利用資源充分地利用資源 更好的提供服務更好的提供服務1. 1. 標準服務提供者標準服務提供者 操作系統(tǒng)是在硬件基礎上的第一層軟件操作系統(tǒng)是在硬件基礎上的第一層軟件, , 是用戶及應是用戶及應用軟件和硬件系統(tǒng)的接口用軟件和硬件系統(tǒng)的接口 命令方式命令方式 系統(tǒng)調(diào)用方式系統(tǒng)調(diào)用方式 圖形窗口方式圖形窗口方式給用戶提供需要的標準工具如給用戶提供需要的標準工具如: :標準庫標準庫, ,窗口系統(tǒng)窗口系統(tǒng)用戶通過用戶通過OSOS能

3、方便快捷安全可靠地操縱計算機硬件和運行能方便快捷安全可靠地操縱計算機硬件和運行自己的程序自己的程序操作系統(tǒng)的作用?操作系統(tǒng)的作用?2. 2. 操作系統(tǒng)作為操作系統(tǒng)作為 管理者管理者(government)(government) 高效合理地管理資源。四類資源高效合理地管理資源。四類資源: : 處理器、內(nèi)存、處理器、內(nèi)存、 I/OI/O設備、信息設備、信息( (程序和數(shù)據(jù),作業(yè)和文件程序和數(shù)據(jù),作業(yè)和文件) ) 提供安全、保密措施,共享和保護提供安全、保密措施,共享和保護3. 3. 操作系統(tǒng)作為操作系統(tǒng)作為 仲裁者(協(xié)調(diào)者)仲裁者(協(xié)調(diào)者) 使多個應用程序使多個應用程序/ /用戶高效,公平地一起

4、工作保護用戶不互用戶高效,公平地一起工作保護用戶不互相干擾。相干擾。 例子:并發(fā),存儲保護,文件系統(tǒng),網(wǎng)絡例子:并發(fā),存儲保護,文件系統(tǒng),網(wǎng)絡 4. 操作系統(tǒng)作為操作系統(tǒng)作為 幻覺制造者幻覺制造者(illusionist) 提供硬件的高層界面提供硬件的高層界面(虛擬機虛擬機), 取消硬件限制。取消硬件限制。 操作系統(tǒng)提供無限的內(nèi)存、無限的操作系統(tǒng)提供無限的內(nèi)存、無限的CPU。 擴充機器擴充機器,增強功能,增強功能 。1)1) 多路性多路性: : 一臺主機同時聯(lián)接多個終端一臺主機同時聯(lián)接多個終端, ,系統(tǒng)按分時的原則為系統(tǒng)按分時的原則為每個用戶服務每個用戶服務, , 共享資源。共享資源。2)2)

5、 獨立性獨立性: : 用戶各占一個終端用戶各占一個終端, , 感覺像獨占主機感覺像獨占主機3)3) 及時性及時性: : 用戶請求能在容許的響應周期內(nèi)及時獲得響應用戶請求能在容許的響應周期內(nèi)及時獲得響應, , 響響應周期通常在應周期通常在3 3秒以內(nèi)。秒以內(nèi)。4)4) 交互性交互性: : 用戶通過終端與系統(tǒng)進行廣泛的人機對話用戶通過終端與系統(tǒng)進行廣泛的人機對話, , 以請求以請求系統(tǒng)提供多方面的服務。系統(tǒng)提供多方面的服務。分時系統(tǒng)的特點分時系統(tǒng)的特點現(xiàn)代操作系統(tǒng)的基本特性現(xiàn)代操作系統(tǒng)的基本特性1. 并發(fā)并發(fā)(concurrence) 計算機內(nèi)存中同時存在多個程序計算機內(nèi)存中同時存在多個程序, 宏

6、觀上這些程序是同時宏觀上這些程序是同時在執(zhí)行的在執(zhí)行的, 但在微觀上任何時刻只有一個程序在執(zhí)行。即微觀但在微觀上任何時刻只有一個程序在執(zhí)行。即微觀上這些程序在上這些程序在CPU上輪流執(zhí)行。上輪流執(zhí)行。 注意它和并行的區(qū)別注意它和并行的區(qū)別, 并行是多個程序在不同的硬件上同并行是多個程序在不同的硬件上同時執(zhí)行時執(zhí)行, 即在微觀上這些程序也是真正的同時執(zhí)行。即在微觀上這些程序也是真正的同時執(zhí)行。2. 2. 共享共享(sharing)(sharing) 操作系統(tǒng)與多個用戶的程序共同使用計算機系統(tǒng)中的資操作系統(tǒng)與多個用戶的程序共同使用計算機系統(tǒng)中的資源源( (硬件和軟件硬件和軟件) )。兩種資源共享方

7、式。兩種資源共享方式: :互斥共享方式和同時訪問方式互斥共享方式和同時訪問方式3. 虛擬虛擬(Virtual) 把一個物理時體把一個物理時體“虛擬虛擬”為多個邏輯體,如:為多個邏輯體,如: 虛擬處理機、虛擬內(nèi)存、虛擬設備和虛擬信道。虛擬處理機、虛擬內(nèi)存、虛擬設備和虛擬信道。4. 異步性異步性(asynchronism)(不確定性不確定性) 多個進程并發(fā)執(zhí)行時多個進程并發(fā)執(zhí)行時, 各進程都是以走走停停的方式運行各進程都是以走走停停的方式運行, 運行順序無法預測運行順序無法預測, 即進程以異步方式運行。即進程以異步方式運行。 因此因此, 操作系統(tǒng)必須隨時對以不可預測的不確定的次序隨機操作系統(tǒng)必須隨

8、時對以不可預測的不確定的次序隨機發(fā)生的事件進行響應。發(fā)生的事件進行響應。現(xiàn)代操作系統(tǒng)的功能現(xiàn)代操作系統(tǒng)的功能1. 1. 處理機管理處理機管理進程控制、進程同步、進程通信、進程調(diào)度進程控制、進程同步、進程通信、進程調(diào)度2. 2. 內(nèi)存管理內(nèi)存管理內(nèi)存分配、內(nèi)存保護、地址映射、內(nèi)存擴充內(nèi)存分配、內(nèi)存保護、地址映射、內(nèi)存擴充3. 3. 設備管理設備管理設備分配設備分配, ,緩沖管理緩沖管理, ,設備驅(qū)動設備驅(qū)動, , 虛擬設備虛擬設備4. 4. 文件管理文件管理文件存儲空間管理、目錄管理、讀寫管理、文件保護文件存儲空間管理、目錄管理、讀寫管理、文件保護5. 5. 用戶接口用戶接口命令接口命令接口(

9、(聯(lián)機脫機聯(lián)機脫機), ), 程序接口程序接口, , 圖形接口圖形接口, , 多媒體接口多媒體接口微內(nèi)核結(jié)構(gòu)采用了微內(nèi)核結(jié)構(gòu)采用了3 3項技術(shù):項技術(shù):客戶客戶/ /服務器模式服務器模式面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù)微內(nèi)核技術(shù)微內(nèi)核技術(shù)為了保證系統(tǒng)的安全,為了保證系統(tǒng)的安全,CPUCPU執(zhí)行的程序分為系統(tǒng)態(tài)執(zhí)行的程序分為系統(tǒng)態(tài)( (管態(tài)管態(tài)) )和用戶和用戶態(tài)態(tài)( (目態(tài)目態(tài)), OS), OS程序工作在管態(tài)程序工作在管態(tài), , 是系統(tǒng)的管理和控制者是系統(tǒng)的管理和控制者, , 它享有它享有特權(quán)又稱為管理程序、監(jiān)督程序。應用程序工作在目態(tài)又稱為目特權(quán)又稱為管理程序、監(jiān)督程序。應用程序工作在目態(tài)又稱為目

10、的程序、用戶程序它們沒有特權(quán)。用戶程序需要系統(tǒng)為之服務時的程序、用戶程序它們沒有特權(quán)。用戶程序需要系統(tǒng)為之服務時必須通過系統(tǒng)調(diào)用必須通過系統(tǒng)調(diào)用( (訪管指令訪管指令) )引起一次中斷轉(zhuǎn)入引起一次中斷轉(zhuǎn)入OSOS程序。程序。微內(nèi)核操作系統(tǒng)結(jié)構(gòu)微內(nèi)核操作系統(tǒng)結(jié)構(gòu)第二章第二章 進程管理進程管理 結(jié)構(gòu)性:結(jié)構(gòu)性:由程序由程序+ +數(shù)據(jù)數(shù)據(jù)+ +進程控制塊組成了進程實體進程控制塊組成了進程實體, , 稱之為進程映稱之為進程映像。進程控制塊是進程存在的標志。像。進程控制塊是進程存在的標志。 動態(tài)性動態(tài)性進程是進程實體的執(zhí)行過程進程是進程實體的執(zhí)行過程, , 它由創(chuàng)建而產(chǎn)生它由創(chuàng)建而產(chǎn)生, , 由調(diào)度而由

11、調(diào)度而執(zhí)行執(zhí)行, ,因某事件而暫停因某事件而暫停, , 由撤銷而消亡。在生命周期內(nèi)由撤銷而消亡。在生命周期內(nèi), , 進程在三種基本狀態(tài)之間動態(tài)轉(zhuǎn)換進程在三種基本狀態(tài)之間動態(tài)轉(zhuǎn)換 并發(fā)性并發(fā)性 多個進程同時存于內(nèi)存中多個進程同時存于內(nèi)存中, ,一起向前推進一起向前推進, ,并發(fā)執(zhí)行并發(fā)執(zhí)行 獨立性獨立性 進程是獨立獲得資源和獨立調(diào)度的基本單位進程是獨立獲得資源和獨立調(diào)度的基本單位 異步性異步性 各進程都各自獨立的不可預知的速度向前推進各進程都各自獨立的不可預知的速度向前推進進程的基本特征進程的基本特征進程控制塊的作用:進程控制塊的作用: 系統(tǒng)為管理進程設置一個專門的數(shù)據(jù)結(jié)構(gòu)系統(tǒng)為管理進程設置一個

12、專門的數(shù)據(jù)結(jié)構(gòu)進程控制塊進程控制塊(Process Control Block), (Process Control Block), 用它來記錄進程的外部特征,描用它來記錄進程的外部特征,描述進程的運動變化過程述進程的運動變化過程 ( (從結(jié)構(gòu)的觀點上看從結(jié)構(gòu)的觀點上看, , 程序與進程的程序與進程的區(qū)別就在于有沒有區(qū)別就在于有沒有PCB)PCB)。 進程與進程與PCBPCB一一對應一一對應, , 在進程的整個生命期內(nèi)在進程的整個生命期內(nèi), PCB, PCB隨進隨進程的創(chuàng)建而產(chǎn)生隨進程的終止而消失程的創(chuàng)建而產(chǎn)生隨進程的終止而消失, , 系統(tǒng)利用系統(tǒng)利用PCBPCB來控制來控制和管理進程和管理進

13、程, , 系統(tǒng)根據(jù)系統(tǒng)根據(jù)PCBPCB感知進程的存在感知進程的存在, , 所以所以PCBPCB是進程是進程存在的存在的唯一標志。唯一標志。存放控制進程所需的數(shù)據(jù)存放控制進程所需的數(shù)據(jù)( (進程屬性進程屬性) )。運行運行就緒就緒阻塞阻塞進程的三種基本狀態(tài)及其轉(zhuǎn)換進程的三種基本狀態(tài)及其轉(zhuǎn)換調(diào)度調(diào)度超時超時I/O請求請求I/O完成完成臨界資源臨界資源( (互斥資源互斥資源) ):critical resourcecritical resource 系統(tǒng)中一次只允許一個進程訪問的資源系統(tǒng)中一次只允許一個進程訪問的資源; ; 這些資源既包括這些資源既包括I/OI/O設備設備, , 如打印機等資源如打印

14、機等資源, , 也包括軟件資源也包括軟件資源, , 如共享變量、共如共享變量、共享文件等。享文件等。臨界區(qū)臨界區(qū)( (互斥區(qū)互斥區(qū)): ): critical sectioncritical section 并發(fā)執(zhí)行的進程并發(fā)執(zhí)行的進程中中, , 訪問臨界資源的必須互斥執(zhí)行的程序段訪問臨界資源的必須互斥執(zhí)行的程序段叫叫臨界區(qū)。臨界區(qū)。 臨界區(qū)臨界區(qū)分散在每個要分散在每個要并發(fā)執(zhí)行的并發(fā)執(zhí)行的進程中進程中, , 它們都對某個共它們都對某個共享的數(shù)據(jù)結(jié)構(gòu)享的數(shù)據(jù)結(jié)構(gòu)( (共享資源共享資源) )進行訪問進行訪問1) 1) 信號量的物理含義:信號量的物理含義:S0S0表示有表示有S S個資源可用個資源

15、可用S=0S=0表示無資源可用表示無資源可用S0Sl頁表始址頁表始址 p0+頁號頁號p p 頁內(nèi)地址頁內(nèi)地址dbd物理地址寄存器物理地址寄存器頁表寄存器頁表寄存器邏輯地址邏輯地址頁表頁表01.008003 4C8 003 4C8 2AC4C84C8比較比較0123+2AC頁面分配與置換頁面分配與置換請求調(diào)頁中操作系統(tǒng)提供的支持請求調(diào)頁中操作系統(tǒng)提供的支持 請求調(diào)頁時請求調(diào)頁時, , 把所需的頁從外存調(diào)入內(nèi)存把所需的頁從外存調(diào)入內(nèi)存 置換時置換時, , 將內(nèi)存的某些頁調(diào)至外存將內(nèi)存的某些頁調(diào)至外存問題:問題:進程正常運行所需的最少物理塊是多少?進程正常運行所需的最少物理塊是多少?每個進程分配的物

16、理塊數(shù)是固定的嗎?每個進程分配的物理塊數(shù)是固定的嗎?每個進程分配的物理塊數(shù)依據(jù)是什么?每個進程分配的物理塊數(shù)依據(jù)是什么?1. 1. 最小物理塊數(shù)的確定最小物理塊數(shù)的確定 最小物理塊數(shù)與硬件結(jié)構(gòu)、指令格式、尋址方式有關(guān)。最小物理塊數(shù)與硬件結(jié)構(gòu)、指令格式、尋址方式有關(guān)。 直接尋址方式最少塊數(shù)為直接尋址方式最少塊數(shù)為2 2 間接尋址方式最少塊數(shù)為間接尋址方式最少塊數(shù)為3 3 功能較強的機器最少塊數(shù)為功能較強的機器最少塊數(shù)為6 62. 2. 頁面分配和置換策略頁面分配和置換策略( (固定分配、可變分配固定分配、可變分配) ) 1) 1) 固定分配局部置換固定分配局部置換 系統(tǒng)中駐留的進程數(shù)與分配給進程

17、的頁數(shù)是什么關(guān)系?系統(tǒng)中駐留的進程數(shù)與分配給進程的頁數(shù)是什么關(guān)系?(正比?反比?)(正比?反比?) 塊數(shù)太多會出現(xiàn)什么問題?塊數(shù)太多會出現(xiàn)什么問題? 塊數(shù)太少會出現(xiàn)什么問題?塊數(shù)太少會出現(xiàn)什么問題?2) 2) 可變分配全局置換可變分配全局置換 空閑物理塊由誰管理?空閑物理塊由誰管理?(OS?(OS?進程?)進程?) 缺頁中斷時從何處獲得空閑頁?缺頁中斷時從何處獲得空閑頁? 調(diào)入調(diào)出什么時候發(fā)生(空閑頁用完還是給進程分配的調(diào)入調(diào)出什么時候發(fā)生(空閑頁用完還是給進程分配的頁用完?)頁用完?)3) 3) 可變分配局部置換可變分配局部置換 為每個進程所分配的物理塊數(shù)相對固定為每個進程所分配的物理塊數(shù)相

18、對固定 從每個進程所分配的頁面中進行換入換出。從每個進程所分配的頁面中進行換入換出。 從全局的角度動態(tài)調(diào)整每個進程所分配的頁面從全局的角度動態(tài)調(diào)整每個進程所分配的頁面抖動抖動 在虛存中在虛存中, , 頁面在內(nèi)存與外存之間頻繁調(diào)度頁面在內(nèi)存與外存之間頻繁調(diào)度, , 以至于調(diào)以至于調(diào)度頁面所需時間比進程實際運行的時間還多度頁面所需時間比進程實際運行的時間還多, , 此時系統(tǒng)效此時系統(tǒng)效率急劇下降率急劇下降, , 甚至導致系統(tǒng)崩潰甚至導致系統(tǒng)崩潰, , 這種現(xiàn)象為抖動。這種現(xiàn)象為抖動。產(chǎn)生原因:產(chǎn)生原因:頁面淘汰算法不合理頁面淘汰算法不合理分配給進程的工作集窗口尺寸太小分配給進程的工作集窗口尺寸太小

19、出現(xiàn)出現(xiàn): CPU: CPU利用率下降利用率下降調(diào)入新的進程調(diào)入新的進程 從其它進程獲從其它進程獲得物理塊得物理塊缺頁中斷次數(shù)增加缺頁中斷次數(shù)增加CPUCPU利用率進一步下降的利用率進一步下降的惡性循環(huán)惡性循環(huán) 某程序在內(nèi)存中分配三個塊,訪問頁的走向為4,3,2,1,4,3,5,4,3,2,1,5,按FIFO、 LRU、OPT算法分別計算缺頁次數(shù)。(假設開始時所有頁均不在內(nèi)存)例1FIFO 4 3 2 1 4 3 5 4 3 2 1 5頁1 4 3 2 1 4 3 5 5 5 2 1 1頁2 4 3 2 1 4 3 3 3 5 2 2頁3 4 3 2 1 4 4 4 3 5 5 x x x x

20、 x x x x x 共缺頁中斷9次FIFO LRU 4 3 2 1 4 3 5 4 3 2 1 5頁1 4 3 2 1 4 3 5 4 3 2 1 5頁2 4 3 2 1 4 3 5 4 3 2 1頁3 4 3 2 1 4 3 5 4 3 2 x x x x x x x x x x共缺頁中斷10次 LRU OPT 4 3 2 1 4 3 5 4 3 2 1 5頁1 4 3 2 1 1 1 5 5 5 2 1 1頁2 4 3 3 3 3 3 3 3 5 5 5頁3 4 4 4 4 4 4 4 4 4 4 x x x x x x x 共缺頁中斷7次OPT例2某程序在內(nèi)存中分配四個塊,訪問頁的走向

21、為4,3,2,1,4,3,5,4,3,2,1,5,按LRU、OPT算法分別計算缺頁次數(shù)。(假設開始時所有頁均不在內(nèi)存)LRU 4 3 2 1 4 3 5 4 3 2 1 5頁1 4 3 2 1 4 3 5 4 3 2 1 5頁2 4 3 2 1 4 3 5 4 3 2 1頁3 4 3 2 1 4 3 5 4 3 2頁4 4 3 2 1 1 1 5 4 3 x x x x x x x x共缺頁中斷8次OPT 4 3 2 1 4 3 5 4 3 2 1 5頁1 4 3 2 1 1 1 5 5 5 5 1 1頁2 4 3 2 2 2 2 2 2 2 5 5頁3 4 3 3 3 3 3 3 3 3 3

22、頁4 4 4 4 4 4 4 4 4 4 x x x x x x 共缺頁中斷6次第五章第五章 設備管理設備管理I/O I/O 控制方式控制方式 程序程序I/OI/O方式方式適用于結(jié)構(gòu)簡單,只需少量硬件的電路;早期計算機無中斷機構(gòu),處適用于結(jié)構(gòu)簡單,只需少量硬件的電路;早期計算機無中斷機構(gòu),處理機對理機對I/OI/O設備的控制采用程序設備的控制采用程序I/OI/O方式或稱忙等的方式。方式或稱忙等的方式。 中斷驅(qū)動中斷驅(qū)動I/OI/O控制方式控制方式 適用于高效場合,須有中斷機構(gòu)支持。適用于高效場合,須有中斷機構(gòu)支持。 DMADMA控制方式控制方式適用于傳輸速率要求高的塊設備;須有適用于傳輸速率要

23、求高的塊設備;須有DMA控制器支持??刂破髦С?。 I/OI/O通道控制方式通道控制方式適用于同時實現(xiàn)適用于同時實現(xiàn)CPU,通道和,通道和I/O設備三者并行操作的場合。設備三者并行操作的場合。 1.1.設備獨立性設備獨立性(Device Independence)(Device Independence) 為了提高為了提高OSOS的可適應性和可擴展性的可適應性和可擴展性, , 現(xiàn)代現(xiàn)代OSOS都實現(xiàn)了設都實現(xiàn)了設備獨立性備獨立性( (設備無關(guān)性設備無關(guān)性), ), 引入了邏輯設備和物理設備兩個概引入了邏輯設備和物理設備兩個概念念, ,使應用程序用邏輯設備名來請求某類設備使應用程序用邏輯設備名來請

24、求某類設備, , 獨立于具體獨立于具體的物理設備。的物理設備。OSOS將邏輯設備名轉(zhuǎn)換為具體的物理設備。帶來將邏輯設備名轉(zhuǎn)換為具體的物理設備。帶來的好處是的好處是: : (1) (1) 設備分配的靈活性設備分配的靈活性 (2) (2) 易于實現(xiàn)易于實現(xiàn)I/OI/O的重定向的重定向2. 2. 設備獨立性軟件設備獨立性軟件(1) (1) 執(zhí)行所有設備的公有操作執(zhí)行所有設備的公有操作 對獨立設備的分配和回收對獨立設備的分配和回收 將邏輯設備名映射為物理設備名找到驅(qū)動程序?qū)⑦壿嬙O備名映射為物理設備名找到驅(qū)動程序 對設備進行保護對設備進行保護 緩沖管理緩沖管理 差錯控制差錯控制(2) (2) 向用戶層軟

25、件提供統(tǒng)一接口向用戶層軟件提供統(tǒng)一接口 I/OI/O軟件組織成一種軟件組織成一種層次結(jié)構(gòu)層次結(jié)構(gòu), ,低層軟件用來屏蔽具體設低層軟件用來屏蔽具體設備細節(jié)備細節(jié), ,高層軟件則為用戶提供一個簡潔規(guī)范的界面高層軟件則為用戶提供一個簡潔規(guī)范的界面。它體現(xiàn)。它體現(xiàn)了了I/O I/O 設計的關(guān)鍵的概念設計的關(guān)鍵的概念: :設備無關(guān)性設備無關(guān)性, , 其含義就是使程序員其含義就是使程序員寫的軟件無須修改寫的軟件無須修改, ,就能進行不同設備上的就能進行不同設備上的I/OI/O操作。操作。如對各如對各種設備的讀操作都使用種設備的讀操作都使用read;read;對各種設備的寫操作都使用對各種設備的寫操作都使用

26、writewrite。I/OI/O軟件的層次結(jié)構(gòu)及功能軟件的層次結(jié)構(gòu)及功能進行進行I/O;I/O;格式化格式化I/OI/O命名命名; ;保護保護; ;緩沖緩沖; ;分配分配; ;阻塞阻塞建立設備寄存器建立設備寄存器; ;檢測狀態(tài)檢測狀態(tài)I/OI/O結(jié)束時喚醒服務子程序結(jié)束時喚醒服務子程序執(zhí)行執(zhí)行I/OI/O操作操作中斷處理程序中斷處理程序設備驅(qū)動程序設備驅(qū)動程序設備無關(guān)軟件設備無關(guān)軟件I/OI/O應答應答I/OI/O請求請求用戶進程用戶進程硬件硬件 3. 3.邏輯設備名到物理設備名映射邏輯設備名到物理設備名映射(1) (1) 邏輯設備表邏輯設備表(LUT)(LUT)邏輯設備名邏輯設備名 物理設

27、備名物理設備名驅(qū)動程序入口地址驅(qū)動程序入口地址 /dev/tty/dev/tty 3 3 1024 1024 /dev/print /dev/print 5 5 2048 2048(2) (2) 邏輯設備表的設置邏輯設備表的設置 整個系統(tǒng)只設一張整個系統(tǒng)只設一張LUTLUT不允許有相同的邏輯設備名不允許有相同的邏輯設備名, , 用在單用戶系統(tǒng)中。用在單用戶系統(tǒng)中。 每個用戶設一張每個用戶設一張LUT, LUT, 用戶登錄建立進程時用戶登錄建立進程時, ,建立一建立一張張LUTLUT并將該表放入該進程的并將該表放入該進程的PBCPBC中中, ,用在多用戶系統(tǒng)中。用在多用戶系統(tǒng)中。 設備驅(qū)動程序的

28、功能和特點設備驅(qū)動程序的功能和特點1.1.設備驅(qū)動程序的功能設備驅(qū)動程序的功能(1) (1) 將接受到的抽象將接受到的抽象( (邏輯邏輯) )要求轉(zhuǎn)化為具體要求轉(zhuǎn)化為具體( (物理物理) )要求。要求。(2) (2) 檢查用戶檢查用戶I/OI/O請求的合法性請求的合法性, , 讀出和檢查讀出和檢查I/OI/O設備的狀態(tài)設備的狀態(tài), , 傳遞有關(guān)參數(shù)傳遞有關(guān)參數(shù), , 設置設備的工作方式。設置設備的工作方式。(3) (3) 發(fā)出發(fā)出I/OI/O命令命令, ,若設備空閑則啟動的若設備空閑則啟動的I/OI/O設備設備, , 否則將請求否則將請求進程掛到設備等待隊列上。進程掛到設備等待隊列上。(4)

29、(4) 及時響應由控制器或通道發(fā)來的中斷請求及時響應由控制器或通道發(fā)來的中斷請求, , 并根據(jù)中斷類并根據(jù)中斷類型調(diào)用相應的中斷處理程序進行處理。型調(diào)用相應的中斷處理程序進行處理。(5) (5) 對于設置通道的計算機系統(tǒng)對于設置通道的計算機系統(tǒng), , 驅(qū)動程序還應能夠根據(jù)用戶驅(qū)動程序還應能夠根據(jù)用戶的的I/OI/O請求請求, , 自動地構(gòu)造通道程序。自動地構(gòu)造通道程序。2. 2. 設備處理方式設備處理方式 (1) (1) 為每類設備設置一個為每類設備設置一個I/OI/O進程。進程。 (2) (2) 整個系統(tǒng)設置一個整個系統(tǒng)設置一個I/OI/O進程。進程。 (3) (3) 只為各類設備設置相應的

30、設備處理程序供調(diào)用。只為各類設備設置相應的設備處理程序供調(diào)用。3. 3. 設備驅(qū)動程序的特點設備驅(qū)動程序的特點(1) (1) 驅(qū)動程序主要是在請求驅(qū)動程序主要是在請求I/OI/O的進程與設備控制器之間的進程與設備控制器之間的一個通信程序。的一個通信程序。(2) (2) 驅(qū)動程序與驅(qū)動程序與I/OI/O設備的特性密切相關(guān)。設備的特性密切相關(guān)。(3) (3) 驅(qū)動程序與驅(qū)動程序與I/OI/O控制方式相關(guān)。控制方式相關(guān)。(4) (4) 有些驅(qū)動程序固化在有些驅(qū)動程序固化在ROMROM上。上。1.1. 將抽象的要求轉(zhuǎn)化為具體的要求將抽象的要求轉(zhuǎn)化為具體的要求如如: :將邏輯盤塊號轉(zhuǎn)換為具體的盤面、磁道

31、和扇區(qū)將邏輯盤塊號轉(zhuǎn)換為具體的盤面、磁道和扇區(qū)2. 2. 檢查檢查I/OI/O請求的合法性請求的合法性如如: :打印機請求讀打印機請求讀, , 以讀方式打開磁盤后請求寫以讀方式打開磁盤后請求寫3. 3. 讀出并檢查設備的狀態(tài)讀出并檢查設備的狀態(tài)如如: :讀并查狀態(tài)是否為就緒讀并查狀態(tài)是否為就緒, , 確定啟動控制器或等待確定啟動控制器或等待4. 4. 傳送必要的參數(shù)傳送必要的參數(shù)如如: :啟動磁盤啟動磁盤, , 先將字節(jié)數(shù)和內(nèi)存起始地址送控制器先將字節(jié)數(shù)和內(nèi)存起始地址送控制器5. 5. 工作方式的設置工作方式的設置如如: :異步通信異步通信, , 先設置波特率、校驗方式、停止位等先設置波特率、

32、校驗方式、停止位等6. 6. 啟動啟動I/OI/O設備設備: :向控制器發(fā)送控制命令向控制器發(fā)送控制命令, , 將自己將自己阻塞阻塞進入睡眠進入睡眠狀態(tài)。狀態(tài)。由控制器由控制器控制下進行控制下進行指定的指定的I/OI/O操作。操作。7. 7. 完成完成I/OI/O后后, ,設備控制器向設備控制器向CPUCPU發(fā)出中斷請求發(fā)出中斷請求;CPU;CPU響應轉(zhuǎn)向響應轉(zhuǎn)向中中斷處理程序喚醒斷處理程序喚醒相應的設備驅(qū)動進程。相應的設備驅(qū)動進程。5.5.25.5.2設備驅(qū)動程序的處理過程設備驅(qū)動程序的處理過程 在設備控制器的控制下在設備控制器的控制下, , 設備設備完成完成I/OI/O操作后操作后, ,

33、設備控設備控制器便向制器便向CPUCPU發(fā)出一個發(fā)出一個中斷請求中斷請求; CPU; CPU響應后響應后, , 轉(zhuǎn)向轉(zhuǎn)向中斷處理中斷處理程序程序, ,中斷處理含以下幾個步驟:中斷處理含以下幾個步驟:(1) (1) 喚醒喚醒被阻塞的驅(qū)動被阻塞的驅(qū)動( (程序程序) )進程進程(2) (2) 保護被中斷進程的保護被中斷進程的CPUCPU環(huán)境環(huán)境(3) (3) 分析中斷原因轉(zhuǎn)入相應的設備分析中斷原因轉(zhuǎn)入相應的設備處理程序處理程序(4) (4) 進行中斷處理進行中斷處理(5) (5) 恢復恢復被中斷進程的現(xiàn)場被中斷進程的現(xiàn)場I/OI/O完成完成中斷處理程序的處理過程中斷處理程序的處理過程恢復恢復被中斷

34、進程的現(xiàn)場被中斷進程的現(xiàn)場繼續(xù)執(zhí)行被中斷進程繼續(xù)執(zhí)行被中斷進程喚醒喚醒被阻塞的驅(qū)動程序進程被阻塞的驅(qū)動程序進程保護被中斷進程的保護被中斷進程的CPU環(huán)境環(huán)境分析中斷原因分析中斷原因轉(zhuǎn)入相應的設備轉(zhuǎn)入相應的設備處理程序處理程序打印機中斷打印機中斷處理程序處理程序鍵盤中斷鍵盤中斷處理程序處理程序磁盤訪問時間(磁盤訪問時間(Ta)Ta) 尋道時間尋道時間Ts: Ts: 把磁頭移動定位到指定磁道把磁頭移動定位到指定磁道所經(jīng)歷的時間所經(jīng)歷的時間, , 啟動時間啟動時間s s與移動與移動n n條磁道時間之和條磁道時間之和 Ts=mTs=m n+s n+s 一般為一般為530ms530ms 旋轉(zhuǎn)時間旋轉(zhuǎn)時間

35、TrTr 等待指定等待指定扇區(qū)扇區(qū)旋轉(zhuǎn)旋轉(zhuǎn)移動到磁頭下面所經(jīng)歷的時間移動到磁頭下面所經(jīng)歷的時間 5400r/min=90r/sec5400r/min=90r/sec的硬盤的硬盤: :平均平均TrTr=1/2r=5.55ms=1/2r=5.55ms 傳輸時間傳輸時間TtTt 從磁盤到內(nèi)存讀寫數(shù)據(jù)實際經(jīng)歷的從磁盤到內(nèi)存讀寫數(shù)據(jù)實際經(jīng)歷的時間時間: Tt=b/rN : Tt=b/rN 其中其中b b為為讀寫字節(jié)數(shù)讀寫字節(jié)數(shù)N N為一條磁道總字節(jié)數(shù)為一條磁道總字節(jié)數(shù) 訪問時間訪問時間: :Ta= Ta= Ts+Ts+1/2r+b/rN 1/2r+b/rN 主要與主要與TsTs有關(guān)有關(guān) 磁盤調(diào)度算法磁盤

36、調(diào)度算法 先來先服務先來先服務FCFSFCFS、 最短尋道時間優(yōu)先最短尋道時間優(yōu)先SSTFSSTF 掃描算法掃描算法SCANSCAN電梯調(diào)度算法電梯調(diào)度算法 循環(huán)掃描循環(huán)掃描(CSCAN)(CSCAN) N-Step-SCAN N-Step-SCAN: : 分為多個長度為分為多個長度為N N的子隊列的子隊列 FSCANFSCAN算法算法: : 分分2 2個子隊列個子隊列( (當前和另一隊列長度不定當前和另一隊列長度不定) )第六章第六章 文件管理文件管理文件系統(tǒng)的功能文件系統(tǒng)的功能(1) (1) 統(tǒng)一的存儲空間管理統(tǒng)一的存儲空間管理, , 實施存儲空間的分配與回收實施存儲空間的分配與回收(2)

37、 (2) 實現(xiàn)文件的按名存取實現(xiàn)文件的按名存取 名字空間名字空間 映射映射 存儲空間存儲空間( (邏輯地址轉(zhuǎn)換為物理地址邏輯地址轉(zhuǎn)換為物理地址) )(3) (3) 實現(xiàn)文件信息的共享實現(xiàn)文件信息的共享, ,并提供文件的保護和保密措施并提供文件的保護和保密措施(4) (4) 對文件的讀寫管理、目錄管理對文件的讀寫管理、目錄管理(5) (5) 系統(tǒng)維護及向用戶提供有關(guān)信息系統(tǒng)維護及向用戶提供有關(guān)信息(6) (6) 提供與提供與I/OI/O設備的統(tǒng)一接口設備的統(tǒng)一接口(7) (7) 向用戶提供方便使用的命令接口和程序接口向用戶提供方便使用的命令接口和程序接口 ( (提供對文件系統(tǒng)和對文件的操作命令和

38、語句提供對文件系統(tǒng)和對文件的操作命令和語句) ) 混合索引分配方式混合索引分配方式 索引分配方式的索引塊花費較多空間索引分配方式的索引塊花費較多空間, ,小文件索引塊利用率小文件索引塊利用率更低。更低。UNIXUNIX用用混合混合索引模式避免此缺點。每個文件的索引結(jié)點含索引模式避免此缺點。每個文件的索引結(jié)點含1313個地址項個地址項 i.addr(0) i.addr(12), i.addr(0) i.addr(12), 每項每項2 2個字節(jié)個字節(jié); ; 前前1010項存項存放直接地址放直接地址( (物理塊號物理塊號), ), 若文件大于若文件大于40kB40kB,則用,則用i.addr(10)

39、i.addr(10)指指向單級索引塊進行一次間接尋址向單級索引塊進行一次間接尋址, ,該塊中最多可放該塊中最多可放1k1k個物理塊號個物理塊號, ,文件可長達文件可長達4MB; 4MB; 還可用還可用 i.addr(11) i.addr(11) 和和 i.addr(12) i.addr(12) 作為二次作為二次和三次間接尋址和三次間接尋址, , 文件最大長度分別可達文件最大長度分別可達4GB4GB和和4TB4TB。.datadata.datadatadata.data.datadata.datadatadata.datamodeownerstime stampssizeblock counti

40、.addr( 0)i.addr( 1)i.addr( 9)i.addr( 10)i.addr( 11)i.addr( 12).間接間接地址項地址項混合索引方式混合索引方式直接直接地址項地址項DatamodeownerDirect block 0Direct block 1Direct block 11Single indirectDouble indirectTriple indirectinodeDataDataIndexDataDataIndexIndexIndexIndexIndexIndexIndexIndexDataDataDataDataUNIX FilesWith 4K Bloc

41、ks4K x 12 = 48KFor Single Indirect1000 Indices/Block4K x 1000 = 4MFor Double Indirect4K x 1,000,000 For Triple Indirect4K x ? 文件目錄管理文件目錄管理目錄管理的基本要求目錄管理的基本要求: :實現(xiàn)實現(xiàn) 按名存取按名存取 提高對目錄的檢索速度提高對目錄的檢索速度允許文件共享允許文件共享允許文件重名允許文件重名文件控制塊文件控制塊(FCB):(FCB): 是操作系統(tǒng)為管理文件而設置的用是操作系統(tǒng)為管理文件而設置的用于描述和控制文件的數(shù)據(jù)結(jié)構(gòu)于描述和控制文件的數(shù)據(jù)結(jié)構(gòu), ,存

42、放了為管理文件所需的存放了為管理文件所需的所有有關(guān)信息。所有有關(guān)信息。 文件和文件和FCBFCB一一對應一一對應, FCB, FCB的有序集稱為文件目錄的有序集稱為文件目錄, , 一一個個FCB FCB 就是一個目錄項就是一個目錄項, , 為實現(xiàn)對文件目錄的管理為實現(xiàn)對文件目錄的管理, , 通通常將文件目錄以文件的形式保存在外存上常將文件目錄以文件的形式保存在外存上, ,這個文件就叫這個文件就叫目錄文件。目錄文件。索引結(jié)點索引結(jié)點(i(i結(jié)點結(jié)點) ) 當目錄中文件很多時當目錄中文件很多時, ,文件目錄要占用大量的盤塊文件目錄要占用大量的盤塊, , 查找目查找目錄時需要將這些盤塊逐塊調(diào)入內(nèi)存錄

43、時需要將這些盤塊逐塊調(diào)入內(nèi)存, , 將給定的文件名與目錄中將給定的文件名與目錄中的文件名逐一比較的文件名逐一比較; ;假如一個假如一個FCBFCB為為64B, 1KB64B, 1KB的盤塊只能存的盤塊只能存1616個個FCB,FCB,一個目錄有一個目錄有640640個個FCB, FCB, 需占用需占用4040個盤塊個盤塊, , 查找一個目錄平查找一個目錄平均要啟動磁盤均要啟動磁盤2020次。次。 檢索目錄時只用到了文件名檢索目錄時只用到了文件名, , 如果將如果將FCBFCB中的文件名而和描中的文件名而和描述信息分開存儲述信息分開存儲, , 就可以增加目錄的每個盤塊中的文件數(shù)就可以增加目錄的每

44、個盤塊中的文件數(shù), ,減少減少訪盤次數(shù)訪盤次數(shù), ,加快檢索速度加快檢索速度;UNIX;UNIX系統(tǒng)中就采用這種方法系統(tǒng)中就采用這種方法, , 將文件將文件描述信息單獨存放在索引結(jié)點中描述信息單獨存放在索引結(jié)點中( (簡稱簡稱i i結(jié)點結(jié)點), ), 目錄項僅由文件目錄項僅由文件名和指向該文件對應的名和指向該文件對應的 i i結(jié)點的指針構(gòu)成結(jié)點的指針構(gòu)成, UNIX, UNIX的目錄項僅占的目錄項僅占16B, 1KB16B, 1KB的盤塊能存的盤塊能存6464個目錄項訪盤次數(shù)降到原來的個目錄項訪盤次數(shù)降到原來的1/41/4。UNIX文件系統(tǒng)結(jié)構(gòu)文件系統(tǒng)結(jié)構(gòu) i i i i i i i i ir

45、oot目錄目錄bin user dev bin目錄目錄s1 user目錄目錄Liu Lidev目錄目錄 Liu目錄目錄f1 t1 Li目錄目錄t1 e2 文件存儲空間管理文件存儲空間管理 空閑表法空閑表法: : 對應與文件的連續(xù)分配方式對應與文件的連續(xù)分配方式 空閑鏈表法空閑鏈表法: : 空閑簇鏈空閑簇鏈, , 顯式鏈接顯式鏈接 位示圖位示圖: : 分配置分配置1 1, , 回收回收置置0 0 成組鏈接法成組鏈接法: : 空閑塊的組織、分配和回收空閑塊的組織、分配和回收文件共享與文件保護文件共享與文件保護 基于索引結(jié)點的共享方式基于索引結(jié)點的共享方式, , 用符號鏈實現(xiàn)文件共享用符號鏈實現(xiàn)文件

46、共享 文件保護文件保護: : 用戶驗證、存取控制用戶驗證、存取控制操作系統(tǒng)接口操作系統(tǒng)接口 作業(yè)級接口作業(yè)級接口 程序級接口程序級接口 處理器的狀態(tài)處理器的狀態(tài) 根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設置為根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設置為不同狀態(tài)不同狀態(tài) 多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài) 管態(tài):管態(tài):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別, , 又稱為特權(quán)態(tài)又稱為特權(quán)態(tài)( (特態(tài)特態(tài)) )、系統(tǒng)態(tài)、系統(tǒng)態(tài) 目態(tài):目態(tài):用戶程序運行時的狀態(tài)用戶程序運行時的狀態(tài), , 較低的特

47、權(quán)級別較低的特權(quán)級別, , 又稱為又稱為普通態(tài)普通態(tài)( (普態(tài)普態(tài)) )、用戶態(tài)、用戶態(tài) 管態(tài)和目態(tài)的差別管態(tài)和目態(tài)的差別處理器處于管態(tài)時:處理器處于管態(tài)時: 全部指令(包括特權(quán)指令)可以執(zhí)行全部指令(包括特權(quán)指令)可以執(zhí)行 可使用所有資源可使用所有資源 并具有改變處理器狀態(tài)的能力并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時:處理器處于目態(tài)時: 只有非特權(quán)指令能執(zhí)行只有非特權(quán)指令能執(zhí)行特權(quán)級別不同可運行指令集合也不同特權(quán)級別不同可運行指令集合也不同 特權(quán)級別越高,可以運行指令集合越大特權(quán)級別越高,可以運行指令集合越大 高特權(quán)級別對應的可運行指令集合包含低特權(quán)級的高特權(quán)級別對應的可運行指令集合包含

48、低特權(quán)級的系統(tǒng)調(diào)用與一般過程調(diào)用的對比系統(tǒng)調(diào)用與一般過程調(diào)用的對比不同點:不同點:(1)(1) 一般過程調(diào)用一般過程調(diào)用, ,調(diào)用程序和被調(diào)用程序都運行在相調(diào)用程序和被調(diào)用程序都運行在相同狀態(tài)同狀態(tài)( (核心態(tài)或用戶態(tài)核心態(tài)或用戶態(tài)), ), 而系統(tǒng)調(diào)用而系統(tǒng)調(diào)用, , 調(diào)用程序在用戶態(tài)調(diào)用程序在用戶態(tài), , 被被調(diào)用程序在核心態(tài)。調(diào)用程序在核心態(tài)。(2)(2)一般過程調(diào)用調(diào)用時不涉及系統(tǒng)狀態(tài)轉(zhuǎn)換一般過程調(diào)用調(diào)用時不涉及系統(tǒng)狀態(tài)轉(zhuǎn)換, ,直接轉(zhuǎn)向被調(diào)用過直接轉(zhuǎn)向被調(diào)用過程程; ; 而系統(tǒng)調(diào)用調(diào)用時涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換而系統(tǒng)調(diào)用調(diào)用時涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換, , 不允許由調(diào)用過不允許由調(diào)用過程直接轉(zhuǎn)向

49、被調(diào)用過程程直接轉(zhuǎn)向被調(diào)用過程, , 要先通過要先通過軟中斷機制軟中斷機制由用戶態(tài)轉(zhuǎn)換為核由用戶態(tài)轉(zhuǎn)換為核心態(tài)心態(tài), , 在在OS OS 核心分析后核心分析后, , 再轉(zhuǎn)向相應的系統(tǒng)調(diào)用處理子程序。再轉(zhuǎn)向相應的系統(tǒng)調(diào)用處理子程序。(3)(3)搶占式調(diào)度系統(tǒng)中搶占式調(diào)度系統(tǒng)中, ,系統(tǒng)調(diào)用返回時會引起重新調(diào)度系統(tǒng)調(diào)用返回時會引起重新調(diào)度相同點相同點: : 改變指令流程改變指令流程, ,轉(zhuǎn)去執(zhí)行公用程序段轉(zhuǎn)去執(zhí)行公用程序段, , 可嵌套??汕短住O到y(tǒng)調(diào)用的處理步驟系統(tǒng)調(diào)用的處理步驟 (1) (1) 將處理機狀態(tài)由用戶態(tài)轉(zhuǎn)為系統(tǒng)態(tài)將處理機狀態(tài)由用戶態(tài)轉(zhuǎn)為系統(tǒng)態(tài); ; 由硬件和內(nèi)核程由硬件和內(nèi)核程序進

50、行一般性處理序進行一般性處理, , 即保護現(xiàn)場即保護現(xiàn)場: : 將處理機狀態(tài)字將處理機狀態(tài)字PSWPSW、程、程序計數(shù)器序計數(shù)器PCPC、系統(tǒng)調(diào)用號、用戶棧指針和通用寄存器內(nèi)容壓、系統(tǒng)調(diào)用號、用戶棧指針和通用寄存器內(nèi)容壓入堆棧入堆棧; ; 再將用戶定義的的參數(shù)傳送到指定的地方。再將用戶定義的的參數(shù)傳送到指定的地方。 (2)(2) 分析系統(tǒng)調(diào)用類型分析系統(tǒng)調(diào)用類型, , 按系統(tǒng)調(diào)用入口表轉(zhuǎn)入相應的系按系統(tǒng)調(diào)用入口表轉(zhuǎn)入相應的系統(tǒng)調(diào)用處理子程序統(tǒng)調(diào)用處理子程序( (并傳遞參數(shù)并傳遞參數(shù)); ); 該表目含該系統(tǒng)調(diào)用自帶該表目含該系統(tǒng)調(diào)用自帶參數(shù)的個數(shù)參數(shù)的個數(shù)( (與參數(shù)表指針與參數(shù)表指針) )和

51、入口地址。和入口地址。 (3) (3) 執(zhí)行系統(tǒng)調(diào)用處理子程序。執(zhí)行系統(tǒng)調(diào)用處理子程序。 (4) (4) 執(zhí)行完后執(zhí)行完后, , 恢復被中斷的或設置新進程的恢復被中斷的或設置新進程的CPUCPU現(xiàn)場現(xiàn)場, , 然然后返回被中斷進程或進入新進程。后返回被中斷進程或進入新進程。 系統(tǒng)調(diào)用系統(tǒng)調(diào)用 入口表入口表 (1) 轉(zhuǎn)核心態(tài)轉(zhuǎn)核心態(tài) 保護現(xiàn)場保護現(xiàn)場(2) 取系統(tǒng)調(diào)取系統(tǒng)調(diào) 用功能號用功能號 找到入口找到入口 傳遞參數(shù)傳遞參數(shù)A0A1Ai AnA0 A1AiAnSub0Sub1SubiSubn 用戶程序用戶程序系統(tǒng)調(diào)用系統(tǒng)調(diào)用處理過程處理過程(3) 恢復現(xiàn)場恢復現(xiàn)場 返回原處返回原處或或 重新調(diào)

52、度重新調(diào)度 設新現(xiàn)場設新現(xiàn)場 進新進程進新進程陷入處理機構(gòu)陷入處理機構(gòu) 系統(tǒng)子程序系統(tǒng)子程序另一進程另一進程 DOS: INT 21h 軟中斷軟中斷, 寄存器傳遞參數(shù)和入口。寄存器傳遞參數(shù)和入口。Linux: 0 x80 (或或128)中斷向量用來實現(xiàn)系統(tǒng)調(diào)用中斷向量用來實現(xiàn)系統(tǒng)調(diào)用 現(xiàn)代操作系統(tǒng)一般不直接提供系統(tǒng)調(diào)用指令接口現(xiàn)代操作系統(tǒng)一般不直接提供系統(tǒng)調(diào)用指令接口, 通常做法通常做法: 提供一套方便實用的應用程序函數(shù)庫提供一套方便實用的應用程序函數(shù)庫(API ) 從應用層面重新封裝系統(tǒng)調(diào)用、屏蔽復雜的系統(tǒng)調(diào)用從應用層面重新封裝系統(tǒng)調(diào)用、屏蔽復雜的系統(tǒng)調(diào)用傳參問題、提供高級語言接口傳參問題、

53、提供高級語言接口, 有助于快速開發(fā)有助于快速開發(fā)在更高層面提供系統(tǒng)程序設計模板庫和類庫在更高層面提供系統(tǒng)程序設計模板庫和類庫, 如如: Windows 2000/XP 提供封裝系統(tǒng)調(diào)用提供封裝系統(tǒng)調(diào)用 Win32 API和高層編程設施和高層編程設施MFC以及以及ATL。 Linux 提供封裝系統(tǒng)調(diào)用提供封裝系統(tǒng)調(diào)用, 符合符合POSIX標準的標準的 API和和C運行庫。運行庫。作業(yè)在整個活動期間經(jīng)歷的四種狀態(tài)是:作業(yè)在整個活動期間經(jīng)歷的四種狀態(tài)是: 提交狀態(tài):把一個作業(yè)輸入到計算機中的一個過程。 后備狀態(tài):作業(yè)在磁盤上的后備隊列中所處的狀態(tài)。 執(zhí)行狀態(tài):把處于后備狀態(tài)的作業(yè)調(diào)入內(nèi)存的狀態(tài)。 完

54、成狀態(tài):一個作業(yè)的主進程執(zhí)行結(jié)果時所處的狀態(tài)。提交狀態(tài)后備狀態(tài)完成狀態(tài)運行狀態(tài)運行就緒等待作業(yè)調(diào)度Spooling衡量調(diào)度性能的指標衡量調(diào)度性能的指標1 1、調(diào)度算法應達到的目標、調(diào)度算法應達到的目標 每次運行盡可能多的作業(yè) 讓處理機保持忙碌狀態(tài) 使輸入輸出設備得以充分利用 對所有的作業(yè)公平合理吞吐量利用率問題公平性原則2 2、確定調(diào)度算法時應考慮的因素、確定調(diào)度算法時應考慮的因素 調(diào)度算法應與系統(tǒng)的總體設計目標一致 注意系統(tǒng)資源的均衡使用,使輸入輸出繁忙的作業(yè)與CPU繁忙的作業(yè)搭配運行 應保證進入系統(tǒng)的作業(yè)在規(guī)定的截至時間內(nèi)運行結(jié)束3 3、調(diào)度算法性能的衡量、調(diào)度算法性能的衡量批處理系統(tǒng)中衡

55、量作業(yè)調(diào)度算法性能的兩個指標:批處理系統(tǒng)中衡量作業(yè)調(diào)度算法性能的兩個指標:平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間(1 1)周轉(zhuǎn)時間:)周轉(zhuǎn)時間:i i作業(yè)的周轉(zhuǎn)時間定義為:作業(yè)的周轉(zhuǎn)時間定義為:T Ti i=T=Tsisi-T-Ttiti其中:其中:TsiTsi為為i i作業(yè)完成時間,作業(yè)完成時間,TtiTti為作業(yè)的提交時間。為作業(yè)的提交時間。 平均周轉(zhuǎn)時間:平均周轉(zhuǎn)時間:T=T=1 1n ni=1i=1n nT Ti i一個作業(yè)的周轉(zhuǎn)時間可分為一個作業(yè)的周轉(zhuǎn)時間可分為2 2部分:部分:(1 1)等待時間(從后備態(tài)到執(zhí)行態(tài));()等待時間(從后備態(tài)到執(zhí)行態(tài));(2 2)

56、執(zhí)行時間)執(zhí)行時間可以表示為:可以表示為:T Ti i=T=Twiwi+T+Triri(2 2)帶權(quán)周轉(zhuǎn)時間:)帶權(quán)周轉(zhuǎn)時間:i i= =其中:其中:Ti是作業(yè)周轉(zhuǎn)時間是作業(yè)周轉(zhuǎn)時間, , Tri是作業(yè)執(zhí)行時間是作業(yè)執(zhí)行時間T Ti iT Triri平均帶權(quán)周轉(zhuǎn)時間:平均帶權(quán)周轉(zhuǎn)時間:n ni=1i=11 1n nW= =i i4.2 .3 4.2 .3 作業(yè)調(diào)度算法作業(yè)調(diào)度算法1 1、先來先服務調(diào)度算法:、先來先服務調(diào)度算法:嚴格按照作業(yè)先來后到的次序進行調(diào)度。嚴格按照作業(yè)先來后到的次序進行調(diào)度。例:例:有四個作業(yè),它們的提交、執(zhí)行時間如下有四個作業(yè),它們的提交、執(zhí)行時間如下作業(yè)號提交時間執(zhí)

57、行時間111.02.0211.21.0311.40.5411.50.3帶權(quán)周轉(zhuǎn)時間1.02.86.211.0完成時間13.014.014.514.8周轉(zhuǎn)時間2.02.83.13.3開始時間11.013.014.014.52 2、短作業(yè)優(yōu)先調(diào)度算法:、短作業(yè)優(yōu)先調(diào)度算法:選取執(zhí)行時間最短的作業(yè)作為下次服務的對象選取執(zhí)行時間最短的作業(yè)作為下次服務的對象例:例:有四個作業(yè),它們的提交、執(zhí)行時間如下有四個作業(yè),它們的提交、執(zhí)行時間如下作業(yè)號提交時間執(zhí)行時間開始時間111.02.011.0完成時間13.013.313.814.8周轉(zhuǎn)時間2.01.82.43.6帶權(quán)周轉(zhuǎn)時間1.06.04.83.6411.

58、50.313.0311.40.513.3211.21.013.8作業(yè)號提交時間執(zhí)行時間111.02.0211.21.0311.40.5411.50.3例:例:有一個具有有一個具有2 2道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算道作業(yè)的批處理系統(tǒng),作業(yè)調(diào)度采用短作業(yè)優(yōu)先的調(diào)度算法,進程調(diào)度采用高優(yōu)先級優(yōu)先的搶占式調(diào)度算法。在下表所示的作業(yè)法,進程調(diào)度采用高優(yōu)先級優(yōu)先的搶占式調(diào)度算法。在下表所示的作業(yè)序列作業(yè)優(yōu)先數(shù)即為進程優(yōu)先數(shù),優(yōu)先數(shù)越小,優(yōu)先級越高。序列作業(yè)優(yōu)先數(shù)即為進程優(yōu)先數(shù),優(yōu)先數(shù)越小,優(yōu)先級越高。作業(yè)名到達時間估計運行時間優(yōu)先數(shù)A10:0040(分)5B10:20303C10:3

59、0504D10:50206進入內(nèi)存時間10:0010:2011:1010:50 列出所有作業(yè)進入內(nèi)存時間及結(jié)束時間 計算平均周轉(zhuǎn)時間結(jié)束時間11:1010:5012:0012:20文件系統(tǒng)功能 對于一個較完善的文件系統(tǒng),應具備一系列的功能,包括對文件存儲對于一個較完善的文件系統(tǒng),應具備一系列的功能,包括對文件存儲空間的管理、目錄管理、文件的讀寫管理以及文件的共享與保護等??臻g的管理、目錄管理、文件的讀寫管理以及文件的共享與保護等。其中,有些功能對用戶是透明的,就呈現(xiàn)在用戶面前的功能來說,可其中,有些功能對用戶是透明的,就呈現(xiàn)在用戶面前的功能來說,可通過用戶對文件所能施加的操作來表現(xiàn)。通過用戶對

60、文件所能施加的操作來表現(xiàn)。 對文件的操作可分為兩大類:一類是對文件自身的操作,包括文件的對文件的操作可分為兩大類:一類是對文件自身的操作,包括文件的創(chuàng)建、刪除、讀、寫、截斷及文件讀創(chuàng)建、刪除、讀、寫、截斷及文件讀/ /寫位置的設置;一類是對記錄寫位置的設置;一類是對記錄的操作,包括記錄的遍歷(即檢索所有記錄)、單個記錄的檢索以及的操作,包括記錄的遍歷(即檢索所有記錄)、單個記錄的檢索以及記錄的插入、修改和刪除。記錄的插入、修改和刪除。UNIX文件和目錄的布局文件和目錄的布局(1)UNIX文件和目錄的布局文件和目錄的布局(1)/etc目錄 供系統(tǒng)維護管理用的命令和配置文件passwd,hosts

溫馨提示

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

評論

0/150

提交評論