北方工業(yè)大學(xué)操作系統(tǒng)操作系統(tǒng)期末復(fù)習(xí)課件_第1頁
北方工業(yè)大學(xué)操作系統(tǒng)操作系統(tǒng)期末復(fù)習(xí)課件_第2頁
北方工業(yè)大學(xué)操作系統(tǒng)操作系統(tǒng)期末復(fù)習(xí)課件_第3頁
北方工業(yè)大學(xué)操作系統(tǒng)操作系統(tǒng)期末復(fù)習(xí)課件_第4頁
北方工業(yè)大學(xué)操作系統(tǒng)操作系統(tǒng)期末復(fù)習(xí)課件_第5頁
已閱讀5頁,還剩125頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)期末復(fù)習(xí)MadebyTzh操作系統(tǒng)期末復(fù)習(xí)MadebyTzh1第一部分:大題本部分為課上老師所講的幾道大題,作為大題而言命中率應(yīng)該蠻高的吧,它們包括:資源分配圖硬盤調(diào)度頁面置換算法PB操作物理地址替換第一部分:大題本部分為課上老師所講的幾道大題,作為大題而言命21.資源分配圖會(huì)看、會(huì)畫會(huì)判斷死鎖P1P2r1r21.資源分配圖會(huì)看、會(huì)畫P1P2r1r23會(huì)看、會(huì)畫P1P23個(gè)資源2個(gè)資源P1進(jìn)程P1進(jìn)程請求資源進(jìn)程擁有資源P1擁有2個(gè)r1資源并請求1個(gè)r2P2擁有1個(gè)r1資源和1個(gè)r2資源并請求1個(gè)r1r1r2會(huì)看、會(huì)畫P1P23個(gè)資源2個(gè)資源P1進(jìn)程P1進(jìn)程請求資源進(jìn)4判斷死鎖P1P2P1需要1個(gè)r2P2需要1個(gè)r1R1剩余0個(gè)資源R2剩余1個(gè)資源判斷死鎖P1P2P1需要1個(gè)r2P2需要1個(gè)r1R1剩余0個(gè)5P2的需求無法滿足,但P1可以得到滿足P1P2P2需要1個(gè)r1R1剩余2個(gè)資源R2剩余1個(gè)資源P1順利執(zhí)行,釋放占用所有資源P2的需求無法滿足,但P1可以得到滿足P1P2P2需要1個(gè)r6P2需求得到滿足,順利執(zhí)行P1P2R1剩余3個(gè)資源R2剩余2個(gè)資源在這種情況下不會(huì)死鎖P2需求得到滿足,順利執(zhí)行P1P2R1剩余3個(gè)資源R2剩余27那么,什么情況下會(huì)產(chǎn)生死鎖呢P1P2P1需要2個(gè)r2P2需要1個(gè)r1R1剩余0個(gè)資源R2剩余1個(gè)資源此時(shí),P1、P2的需求都無法得到滿足,死鎖那么,什么情況下會(huì)產(chǎn)生死鎖呢P1P2P1需要2個(gè)r2P2需要82.磁盤調(diào)度想象,從磁盤圓心處向外畫一條直線作為我們下圖的X軸,把磁盤的磁道序號標(biāo)在上面。2.磁盤調(diào)度想象,從磁盤圓心處向外畫一條直線作為我們下圖的X9題目是這樣出的條件:欲訪問的磁道號:100、55、58、39、18、90、160、150磁頭當(dāng)前位置:100問題:磁頭移動(dòng)磁道數(shù)和平均尋道長度題目是這樣出的條件:101.先來先服務(wù)算法100、55、58、39、18、90、160、150我們從起始位置開始,按順序掃描,設(shè)磁頭移動(dòng)磁道數(shù)為m,初始為0100、55、58、39、18、90、160、150磁頭移動(dòng)到55,m+=(100-55),m=45100、55、58、39、18、90、160、150磁頭移動(dòng)到58,m+=(58-55),m=48100、55、58、39、18、90、160、150磁頭移動(dòng)到39,m+=(58-39),m=67注意:磁頭移動(dòng)的是距離而不是位移,所以不可能為負(fù)數(shù),因此一定是大減小1.先來先服務(wù)算法100、55、58、39、18、90、1611以此類推,直到全部掃描完當(dāng)然,如果是答題,我們直接列式子即可m=(100-55)+(58-55)+(58-39)+…..=結(jié)果平均尋道長度=m/nn為磁道號個(gè)數(shù)以此類推,直到全部掃描完當(dāng)然,如果是答題,我們直接列式子即可122.最短尋道時(shí)間優(yōu)先算法為了節(jié)約時(shí)間,這次我們不再按照順序來掃描磁盤了18、39、55、58、90、100、150、160還是那些磁道,不過這次我們提前排好序,起始位置依然100接著我們看,在需要跑的磁道中,離100最近的磁道是哪個(gè)這也是我們之所以要排序的原因,在這種情況下只有100相鄰的兩個(gè)磁道可能是我們的選擇我們發(fā)現(xiàn),相比150,磁道90離100更近,所以我們先去9018、39、55、58、90、100、150、160m+=(100-90)m=10同樣,相比于100,58距離90更近,我們選擇5818、39、55、58、90、100、150、160m+=(90-58)m=42以此類推,知道將所有磁道跑完當(dāng)然,跑過的磁道我們不會(huì)跑第二遍我猜你可能會(huì)問:這真的是最短的尋道時(shí)間嗎?當(dāng)然,答案肯定是不一定,計(jì)算機(jī)只能看到下一步的情況,但它不可能像圍棋高手一樣總覽全局,至于真正的最短,那就是我們程序員寫的算法才能夠?qū)崿F(xiàn)了,在操作系統(tǒng)中不會(huì)這么復(fù)雜2.最短尋道時(shí)間優(yōu)先算法為了節(jié)約時(shí)間,這次我們不再按照順序來133.掃描算法(電梯算法)沒錯(cuò),就像是電梯一樣,直上直下,一條道走到黑,撞了南墻再回頭18、39、55、58、90、100、150、160同樣的,我們把磁道號排好序,初始位置100然后,我們按照序號增加的方向依次尋道18、39、55、58、90、100、150、16018、39、55、58、90、100、150、160咚!撞墻了,這時(shí)可以回頭了,但注意尋過道的磁道不需要再走一遍18、39、55、58、90、100、150、160所以我們直接跳到9018、39、55、58、90、100、150、16018、39、55、58、90、100、150、1603.掃描算法(電梯算法)沒錯(cuò),就像是電梯一樣,直上直下,一條14分頁存儲(chǔ)求物理地址指令:Load1,2500指令的邏輯地址是100,頁長1k,求指令的物理地址1.求頁號

邏輯地址/頁長,商為頁號,余數(shù)為偏移量

2.查表

3.物理地址=物理塊號*頁長+偏移量頁號物理塊號041827取了兩次地址,第一次根據(jù)邏輯地址找到物理地址,第二次取物理地址分頁存儲(chǔ)求物理地址指令:Load1,2500頁號物理塊號015頁面置換算法如果給的是邏輯地址需要求出頁號頁號=邏輯地址/頁長(要的是商)頁面置換算法如果給的是邏輯地址需要求出頁號16先進(jìn)先出(FIFO)將頁號依次排好先進(jìn)先出(FIFO)將頁號依次排好17方法一開始是依次裝入物理塊,全都有缺頁中斷方法一開始是依次裝入物理塊,全都有缺頁中斷18方法如果物理塊滿了,判斷哪個(gè)頁面存在時(shí)間最長就替換方法是向左劃線判斷哪條最長,同時(shí)缺頁中斷方法如果物理塊滿了,判斷哪個(gè)頁面存在時(shí)間最長就替換19方法如果下一個(gè)頁面物理塊已經(jīng)有了,就不用寫了,也沒有缺頁中斷方法如果下一個(gè)頁面物理塊已經(jīng)有了,就不用寫了,也沒有缺頁中斷20最近最久未使用(LRU)最近最久未使用(LRU)21方法往前數(shù)第三個(gè)來替換(有幾個(gè)物理塊找?guī)讉€(gè)),但不算重復(fù)的,有重復(fù)的還要往前找方法往前數(shù)第三個(gè)來替換(有幾個(gè)物理塊找?guī)讉€(gè)),但不算重復(fù)的,22要計(jì)算的東西缺頁次數(shù):每一次頁面替換和頁面裝入(畫的對勾數(shù))被置換的頁號順序:被替換走的頁號按順序排列缺頁率=缺頁次數(shù)/頁面總數(shù)要計(jì)算的東西缺頁次數(shù):每一次頁面替換和頁面裝入(畫的對勾數(shù))23生產(chǎn)者—消費(fèi)者問題他們又是互斥關(guān)系,又是相互協(xié)作關(guān)系,也是同步關(guān)系生產(chǎn)者—消費(fèi)者問題他們又是互斥關(guān)系,又是相互協(xié)作關(guān)系,也是同24解法P操作,也可以是wait操作是--,只有參數(shù)大于0才可以順利執(zhí)行V操作,也可以是signal操作是++,相當(dāng)于是恢復(fù)解法P操作,也可以是wait操作是--,只有參數(shù)大于0才可以25例題2.

假定一個(gè)閱覽室可供50個(gè)人同時(shí)閱讀。讀者進(jìn)入和離開閱覽室時(shí)都必須在閱覽室入口處的一個(gè)登記表上登記,閱覽室有50個(gè)座位,規(guī)定每次只允許一個(gè)人登記或注銷登記。要求:(1)用PV操作描述讀者進(jìn)程的實(shí)現(xiàn)算法(可用流程圖表示,登記、注銷可用自然語言描述);

(2)指出算法中所用信號量的名稱、作用及初值。

S1:閱覽室可供使用的空座位,其初值為50

S:

是否可通過閱覽室,其初值為1

Process

READ_in(i=1?50)

{到達(dá)閱覽室入口處;P(S1);P(S);

在入口處登記座位號;

V(s);

進(jìn)入座位并閱讀;

}

Process

READ_out(j=1?50)

{結(jié)束閱讀到達(dá)閱覽室入口處;

P(S);

在入口處注銷座位號;

V(S1);V(S)

離開入口處;

}

例題2.

假定一個(gè)閱覽室可供50個(gè)人同時(shí)閱讀。讀者進(jìn)入和離開26例題請用信號量實(shí)現(xiàn)下圖所示的前趨關(guān)系例題請用信號量實(shí)現(xiàn)下圖所示的前趨關(guān)系27調(diào)度算法調(diào)度算法28運(yùn)算方法完成時(shí)間:就是目前的完成時(shí)間加上下一個(gè)要運(yùn)行的進(jìn)程的服務(wù)時(shí)間周轉(zhuǎn)時(shí)間:各進(jìn)程的完成時(shí)間減去其到達(dá)的時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間:周轉(zhuǎn)時(shí)間/服務(wù)時(shí)間高響應(yīng)比優(yōu)先調(diào)度算法先算出優(yōu)先權(quán)再進(jìn)行比較,先運(yùn)行大的再運(yùn)行小的優(yōu)先權(quán)=(等待時(shí)間+要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間等待時(shí)間:該進(jìn)程要開始進(jìn)行的時(shí)候總共經(jīng)過的時(shí)間運(yùn)算方法完成時(shí)間:就是目前的完成時(shí)間加上下一個(gè)要運(yùn)行的進(jìn)程的29概念題本部分為課上老師在書中所劃的概念概念題本部分為課上老師在書中所劃的概念30操作系統(tǒng)的目標(biāo)有效性提高系統(tǒng)資源利用率提高系統(tǒng)的吞吐量吞吐量是每秒的數(shù)據(jù)處理量吞吐量是在給定時(shí)間段內(nèi)系統(tǒng)完成的交換數(shù)量.即系統(tǒng)的吞吐量越大,說明系統(tǒng)在單位時(shí)間內(nèi)完成的用戶或系統(tǒng)請求越多,系統(tǒng)的資源得到充分利用。方便性可擴(kuò)充性開放性操作系統(tǒng)的目標(biāo)有效性31操作系統(tǒng)的作用用戶接口:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)操作系統(tǒng)接口包括:1.命令方式2.系統(tǒng)調(diào)用方式3.圖形、窗口方式計(jì)算機(jī)系統(tǒng)資源的管理者:OS推動(dòng)操作系統(tǒng)發(fā)展主要?jiǎng)恿Γ?.提高計(jì)算機(jī)資源的利用率2.方便用戶3.器件升級操作系統(tǒng)的作用用戶接口:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用32操作系統(tǒng)的發(fā)展過程人工操作方式缺點(diǎn):1.用戶獨(dú)占全機(jī)2.CPU等待人工操作脫機(jī)輸入/輸出方式優(yōu)點(diǎn):1.減少了CPU的空閑時(shí)間2.提高了I/O速度操作系統(tǒng)的發(fā)展過程人工操作方式33批處理系統(tǒng)(無交互能力)單道批處理系統(tǒng)多道批處理系統(tǒng)(宏觀并行,微觀串行)優(yōu)點(diǎn):1.資源利用率高2.系統(tǒng)吞吐量大缺點(diǎn):1.平均周轉(zhuǎn)時(shí)間長2.無交互能力面臨問題:1.處理機(jī)管理問題2.內(nèi)存管理問題3.I/O設(shè)備管理問題4.文件管理問題5.作業(yè)管理問題批處理系統(tǒng)(無交互能力)單道批處理系統(tǒng)34分時(shí)系統(tǒng)定義:它能很好地將一臺(tái)計(jì)算機(jī)提供給多個(gè)用戶同時(shí)使用,提高計(jì)算機(jī)的利用率。用戶的需求具體表現(xiàn)在:1.人-機(jī)交互2.共享主機(jī)3.便于用戶上機(jī)關(guān)鍵問題:1.用戶是否能及時(shí)接收命令2.用戶是否能及時(shí)處理命令特點(diǎn):多路性獨(dú)立性及時(shí)性交互性分時(shí)系統(tǒng)定義:它能很好地將一臺(tái)計(jì)算機(jī)提供給多個(gè)用戶同時(shí)使用,35實(shí)時(shí)系統(tǒng)硬實(shí)時(shí)與軟實(shí)時(shí)的區(qū)別硬實(shí)時(shí)系統(tǒng)有一個(gè)剛性的、不可改變的時(shí)間限制,它不允許任何超出時(shí)限的錯(cuò)誤。超時(shí)錯(cuò)誤會(huì)帶來損害甚至導(dǎo)致系統(tǒng)失敗、或者導(dǎo)致系統(tǒng)不能實(shí)現(xiàn)它的預(yù)期目標(biāo)。軟實(shí)時(shí)系統(tǒng)的時(shí)限是一個(gè)柔性靈活的,它可以容忍偶然的超時(shí)錯(cuò)誤。失敗造成的后果并不嚴(yán)重,例如在網(wǎng)絡(luò)中僅僅是輕微地降低了系統(tǒng)的吞吐量。實(shí)時(shí)系統(tǒng)硬實(shí)時(shí)與軟實(shí)時(shí)的區(qū)別36分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)的比較1.多路性:分時(shí)系統(tǒng)的多路性與用戶情況有關(guān),時(shí)多時(shí)少。實(shí)時(shí)控制系統(tǒng)的多路性則主要表現(xiàn)在系統(tǒng)周期性地對多路現(xiàn)場信息進(jìn)行采集,以及對多個(gè)對象或多個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行控制2.獨(dú)立性:都是服務(wù)請求彼此互不干擾3.及時(shí)性:實(shí)時(shí)系統(tǒng)及時(shí)性要求更強(qiáng)4.交互性:實(shí)時(shí)系統(tǒng)的人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序,交互性分時(shí)系統(tǒng)更強(qiáng)5.可靠性:實(shí)時(shí)系統(tǒng)要求更可靠分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)的比較1.多路性:分時(shí)系統(tǒng)的多路性與用戶情37操作系統(tǒng)基本特性并發(fā)性:并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念,并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。共享性:是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用虛擬性:是指通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對應(yīng)物。物理實(shí)體(前者)是實(shí)的,即實(shí)際存在的,而后者是虛的,是用戶感覺上的東西。異步性:每次只允許一個(gè)進(jìn)程執(zhí)行,其余進(jìn)程只能等待。操作系統(tǒng)基本特性并發(fā)性:并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)38操作系統(tǒng)的主要功能處理機(jī)管理功能1.進(jìn)程控制:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束的進(jìn)程,控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)化2.進(jìn)程同步:互斥與同步方式來協(xié)調(diào)多個(gè)進(jìn)程(含線程)3.進(jìn)程通信方式:采用直接通信方式,由源進(jìn)程利用發(fā)送命令將信息掛到目標(biāo)進(jìn)程的消息隊(duì)列,之后由目標(biāo)進(jìn)程接收。4.調(diào)度:作業(yè)調(diào)度(高級調(diào)度):從后備隊(duì)列中通過一定算法找出若干個(gè)作業(yè)并為它們分配內(nèi)存,建立進(jìn)程,插入就緒隊(duì)列。進(jìn)程調(diào)度(低級調(diào)度):從就緒隊(duì)列中選出一個(gè)進(jìn)程,使該進(jìn)程投入執(zhí)行操作系統(tǒng)的主要功能處理機(jī)管理功能39操作系統(tǒng)的主要功能

存儲(chǔ)器管理功能1.內(nèi)存分配:為每道程序分配內(nèi)存空間(靜態(tài)、動(dòng)態(tài))2.內(nèi)存保護(hù):使各程序執(zhí)行時(shí)彼此互不干擾3.地址映射:邏輯地址到物理地址之間的轉(zhuǎn)換4.內(nèi)存擴(kuò)充:借助虛擬存儲(chǔ)(1):請求調(diào)入功能:在裝入部分用戶程序和數(shù)據(jù)的情況下就執(zhí)行,中途向OS請求從磁盤將所需調(diào)入內(nèi)存(2):將內(nèi)存中一些暫時(shí)不用的數(shù)據(jù)調(diào)入硬盤騰出空間操作系統(tǒng)的主要功能

存儲(chǔ)器管理功能40

操作系統(tǒng)的主要功能

設(shè)備管理功能1.緩沖管理:CPU與I/O之間甚至緩沖區(qū),解決速度不匹配的問題單緩沖機(jī)制、可雙向傳送的雙緩沖機(jī)制、提供多個(gè)設(shè)備同時(shí)使用的公用緩沖池機(jī)制2.設(shè)備分配:根據(jù)用戶的I/O請求,為其分配所需設(shè)備3.設(shè)備處理:CPU與I/O之間的通信

操作系統(tǒng)的主要功能

設(shè)備管理功能41

操作系統(tǒng)的主要功能

文件管理功能1.文件存儲(chǔ)空間的管理2.目錄管理:系統(tǒng)為每個(gè)文件建立一個(gè)目錄項(xiàng),包括:文件名、文件屬性、文件在磁盤上的物理位置3.文件的讀/寫管理:根據(jù)用戶給出的文件名檢索文件目錄,從中獲得文件在外存中的位置。4.文件保護(hù):

操作系統(tǒng)的主要功能

文件管理功能42操作系統(tǒng)給應(yīng)用的接口程序接口也稱為系統(tǒng)調(diào)用庫函數(shù)屬于用戶程序而非系統(tǒng)調(diào)用,是系統(tǒng)調(diào)用的上層,有些庫函數(shù)與系統(tǒng)調(diào)用是無關(guān)的(math.h)所謂原語,是操作系統(tǒng)內(nèi)核中,由若干條指令構(gòu)成、用于完成一個(gè)特定的功能的一個(gè)過程,該過程在執(zhí)行時(shí)是不可中斷的。操作系統(tǒng)給應(yīng)用的接口程序接口也稱為系統(tǒng)調(diào)用43微內(nèi)核系統(tǒng)(不含LINUX)優(yōu)點(diǎn)1.提高系統(tǒng)可擴(kuò)展性2.提高系統(tǒng)可靠性3.可移植性4.提供了對分布式系統(tǒng)的支持5.融入了面向?qū)ο蠹夹g(shù)缺點(diǎn):運(yùn)行效率低硬中斷:由與系統(tǒng)相連的外設(shè)(比如網(wǎng)卡、硬盤)自動(dòng)產(chǎn)生的。主要是用來通知操作系統(tǒng)系統(tǒng)外設(shè)狀態(tài)的變化微內(nèi)核中斷和陷入處理(軟中斷)將與硬件緊密相關(guān)的一小部分放在微內(nèi)核中處理,微內(nèi)核所做的就只是前期處理,將消息發(fā)給服務(wù)器由服務(wù)器再進(jìn)行后期處理,因此微內(nèi)核可以做的很小。微內(nèi)核系統(tǒng)(不含LINUX)優(yōu)點(diǎn)44進(jìn)程的順序執(zhí)行順序執(zhí)行(適合直接訪問):例如輸入與打印,必須按順序前趨圖:有向無環(huán)圖進(jìn)程由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡進(jìn)程的順序執(zhí)行順序執(zhí)行(適合直接訪問):例如輸入與打印,必須45進(jìn)程的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行:多道程序可同時(shí)進(jìn)行,但對于每一道程序而言是順序執(zhí)行。程序并發(fā)執(zhí)行的特征:1.間斷性:一個(gè)任務(wù)可能需要等待它的前驅(qū)任務(wù)完成才能繼續(xù)執(zhí)行,產(chǎn)生等待。2.失去封閉性:多個(gè)程序共享系統(tǒng)中資源,這些資源將由多個(gè)程序來改變。3.不可再現(xiàn)性:由于失去封閉性,輸入的結(jié)果與并發(fā)程序的速度有關(guān),每一次的輸出結(jié)果不同。進(jìn)程的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行:多道程序可同時(shí)進(jìn)行,但對于每一46進(jìn)程特征和狀態(tài)1.結(jié)構(gòu)特征:進(jìn)程實(shí)體(在UNIX中稱為“進(jìn)程映像”)程序段相關(guān)數(shù)據(jù)段PCB:作用寄存器有什么,進(jìn)程的唯一標(biāo)識(shí)動(dòng)態(tài)性:進(jìn)程是程序的一次執(zhí)行過程,它有一定的生命期并發(fā)性:多個(gè)進(jìn)程同時(shí)進(jìn)行獨(dú)立性:進(jìn)程實(shí)體獨(dú)立異步性:進(jìn)程各自獨(dú)立,速度不一2.進(jìn)程的狀態(tài)許可釋放進(jìn)程特征和狀態(tài)1.結(jié)構(gòu)特征:許可釋放47進(jìn)程控制塊(PCB)進(jìn)程控制塊組織方式:1.鏈接方式按進(jìn)程優(yōu)先級高低排列隱式鏈接最不適合直接訪問執(zhí)行指針就一個(gè)鏈接字進(jìn)程控制塊(PCB)進(jìn)程控制塊組織方式:鏈接字482.索引表方式2.索引表方式49進(jìn)程控制進(jìn)程的創(chuàng)建:1.申請空白PCB2.為新進(jìn)程分配資源3.初始化進(jìn)程控制塊(PCB)4.將新進(jìn)程插入就緒隊(duì)列終止過程:1.通過該進(jìn)程PCB讀出該進(jìn)程的狀態(tài)2.結(jié)束該進(jìn)程的執(zhí)行3.結(jié)束該進(jìn)程的子孫進(jìn)程4.釋放該進(jìn)程占有的資源5.將被終止進(jìn)程從所在隊(duì)列移出進(jìn)程控制進(jìn)程的創(chuàng)建:50進(jìn)程阻塞與喚醒進(jìn)程的阻塞:進(jìn)程由于某些原因無法繼續(xù)進(jìn)行,進(jìn)程調(diào)用阻塞源語自己把自己阻塞,從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)。阻塞原因:1.請求系統(tǒng)服務(wù)未得到響應(yīng)。2.啟動(dòng)某種操作(操作完成才可繼續(xù)執(zhí)行)。3.新數(shù)據(jù)尚未到達(dá)。4.無新工作可做進(jìn)程的喚醒(與阻塞互逆):當(dāng)進(jìn)程所期望的事件出現(xiàn),便自己調(diào)用喚醒源語,將自己從阻塞隊(duì)列移出,到就緒隊(duì)列。掛起:由用戶或父進(jìn)程引起激活(與掛起互逆):由用戶或父進(jìn)程引起進(jìn)程阻塞與喚醒進(jìn)程的阻塞:進(jìn)程由于某些原因無法繼續(xù)進(jìn)行,進(jìn)程51進(jìn)程同步互斥臨界區(qū):每個(gè)進(jìn)程訪問臨界資源的那段代碼稱為臨界區(qū)臨界資源(硬件資源如打印機(jī)等):在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源,臨界資源的訪問要求互斥的訪問進(jìn)程互斥:一個(gè)進(jìn)程正在訪問臨界資源,另一個(gè)要訪問該資源的進(jìn)程必須等待。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。進(jìn)程同步:是指在互斥的基礎(chǔ)上(大多數(shù)情況),通過其它機(jī)制實(shí)現(xiàn)訪問者對資源的有序訪問。在大多數(shù)情況下,同步已經(jīng)實(shí)現(xiàn)了互斥,特別是所有寫入資源的情況必定是互斥的。少數(shù)情況是指可以允許多個(gè)訪問者同時(shí)訪問資源進(jìn)程同步互斥臨界區(qū):每個(gè)進(jìn)程訪問臨界資源的那段代碼稱為臨界區(qū)52同步機(jī)制規(guī)則1.空閑讓進(jìn)2.忙則等待3.有限等待:不能讓進(jìn)程一直等,得一段時(shí)間內(nèi)能得到臨界資源4.讓權(quán)等待:進(jìn)程如果不能進(jìn)入臨界區(qū),就別等了信號量1.整型信號量:wait(S),signal(S)S為整型信號量,初值為1,當(dāng)前為2代表有兩個(gè)資源,當(dāng)前為0代表被占用,當(dāng)前為-1代表已經(jīng)有一個(gè)等待2.記錄型信號量除了對信號量加減之外,還有判斷,不行就阻塞去3.AND型信號量:一個(gè)進(jìn)程可能需要多個(gè)資源才能進(jìn)行,中途可能有其它資源爭奪,所以為了解決死鎖的問題,我們在wait語句中增加and條件,只有判斷它每一個(gè)要求的資源都存在,才占用,否則阻塞信號量集:設(shè)置需求值和下限值,判斷條件不再是1,而是下限值同步機(jī)制規(guī)則1.空閑讓進(jìn)53信號量的應(yīng)用1.利用信號量實(shí)現(xiàn)進(jìn)程互斥:設(shè)置一互斥信號量,初值為1,標(biāo)記該資源是否可以被使用,從而使進(jìn)程對該資源互斥訪問2.利用信號量(初值為0)實(shí)現(xiàn)前趨關(guān)系:對于有前置的等待進(jìn)程,只有它的前趨進(jìn)程執(zhí)行完才執(zhí)行該進(jìn)程,前趨進(jìn)程是否執(zhí)行結(jié)束我們通過信號量來控制。信號量的應(yīng)用1.利用信號量實(shí)現(xiàn)進(jìn)程互斥:設(shè)置一互斥信號量,初54經(jīng)典進(jìn)程同步問題生產(chǎn)者—消費(fèi)者讀者—寫者哲學(xué)家進(jìn)餐問題經(jīng)典進(jìn)程同步問題生產(chǎn)者—消費(fèi)者55進(jìn)程通信進(jìn)程間的信息交換直接通信方式:直接把消息發(fā)送給目標(biāo)進(jìn)程,發(fā)送進(jìn)程和接收進(jìn)程都是顯示方式提供對方標(biāo)識(shí)符間接通信方式:有一個(gè)實(shí)體(信箱)暫存發(fā)送的消息,接受消息的一方也從信箱中獲取消息消息緩沖隊(duì)列通信機(jī)制:在緩沖區(qū)暫存信息,以隊(duì)列的形式逐條存儲(chǔ)進(jìn)程通信進(jìn)程間的信息交換56線程(只是調(diào)度單位)進(jìn)程使資源分配單位+調(diào)度單位屬性:1.輕型實(shí)體:基本不擁有系統(tǒng)資源,只有TCB2.獨(dú)立調(diào)度和分派的基本單位:不可再分,切換迅速開銷小3.可并發(fā)執(zhí)行4.共享進(jìn)程資源內(nèi)核支持線程:進(jìn)程的創(chuàng)建撤銷都是利用系統(tǒng)調(diào)用進(jìn)入內(nèi)核,線程也是如此用戶級線程:只存在于用戶空間中,無需系統(tǒng)調(diào)用線程(只是調(diào)度單位)進(jìn)程使資源分配單位+調(diào)度單位57調(diào)度作業(yè)調(diào)度(高級調(diào)度、長程調(diào)度):從后備隊(duì)列中通過一定算法找出若干個(gè)作業(yè)并為它們分配內(nèi)存,建立進(jìn)程,插入就緒隊(duì)列。進(jìn)程調(diào)度(低級調(diào)度、短程調(diào)度):從就緒隊(duì)列中選出一個(gè)進(jìn)程,使該進(jìn)程投入執(zhí)行1.保存現(xiàn)場信息,存入PCB2.按某種算法選取進(jìn)程3.把處理器分配給進(jìn)程基本機(jī)制:1.排隊(duì)器:將就緒進(jìn)程排隊(duì),提高效率2.分派器:從就緒隊(duì)列提出選中的要執(zhí)行進(jìn)程3.上下文切換:第一隊(duì)上下文:將當(dāng)前運(yùn)行進(jìn)程的信息保存給分派程序第二隊(duì)上下文:將新進(jìn)程的現(xiàn)場信息裝進(jìn)來調(diào)度作業(yè)調(diào)度(高級調(diào)度、長程調(diào)度):從后備隊(duì)列中通過一定算法58調(diào)度方式非搶占方式:一個(gè)進(jìn)程一直運(yùn)行到完才運(yùn)行下一個(gè)搶占方式:通過以下原則暫停某個(gè)正在運(yùn)行的進(jìn)程原則:1.優(yōu)先權(quán)原則:緊急任務(wù)具有較高優(yōu)先權(quán)2短作業(yè)優(yōu)先原則:先執(zhí)行耗時(shí)短的進(jìn)程3.時(shí)間片原則:按時(shí)間片流轉(zhuǎn),公平。時(shí)間片大了小了都不好,應(yīng)該在0.01s—0.1s之間(大部分如此)調(diào)度方式非搶占方式:一個(gè)進(jìn)程一直運(yùn)行到完才運(yùn)行下一個(gè)59調(diào)度隊(duì)列模型僅有進(jìn)程調(diào)度:完全按照用戶鍵入的命令順序執(zhí)行程序作業(yè)調(diào)度:根據(jù)不同原則的不同算法選擇插入就緒隊(duì)列的進(jìn)程,不一定按順序。中級調(diào)度:把進(jìn)程就緒分為內(nèi)存就緒(進(jìn)程在內(nèi)存中就緒)和外存就緒(進(jìn)程在外存中就緒),阻塞狀態(tài)也分成外存內(nèi)存調(diào)度準(zhǔn)則面向用戶:周轉(zhuǎn)時(shí)間短、響應(yīng)時(shí)間快、截止時(shí)間保證、優(yōu)先權(quán)準(zhǔn)則面向系統(tǒng):系統(tǒng)吞吐量高、處理機(jī)利用率好、各類資源平衡利用調(diào)度隊(duì)列模型僅有進(jìn)程調(diào)度:完全按照用戶鍵入的命令順序執(zhí)行程序60實(shí)時(shí)調(diào)度最早截止時(shí)間優(yōu)先(EDF)算法:任務(wù)的開始截止時(shí)間越早,優(yōu)先級越高最低松弛度優(yōu)先(LLF)算法:根據(jù)任務(wù)緊急或松弛的程度來確定優(yōu)先級實(shí)時(shí)調(diào)度最早截止時(shí)間優(yōu)先(EDF)算法:任務(wù)的開始截止時(shí)間越61死鎖定義:多個(gè)進(jìn)程搶奪資源而形成的僵局原因:1.競爭資源:因?yàn)橹T進(jìn)程對資源的競爭引起2.進(jìn)程間推進(jìn)順序非法:請求和釋放資源的順序不當(dāng),也同樣會(huì)導(dǎo)致產(chǎn)生進(jìn)程的死鎖。產(chǎn)生死鎖的必要條件1.互斥條件:該資源要求訪問的進(jìn)程互斥訪問2.請求和保持條件:該進(jìn)程已占有資源但還請求其他資源,但資源又被其他進(jìn)程占用,則該進(jìn)程請求進(jìn)程阻塞,又對已獲得資源不放3.不剝奪條件:進(jìn)程已獲得的資源在該進(jìn)程執(zhí)行完畢之前不釋放4.環(huán)路等待條件:發(fā)生死鎖時(shí),必然存在一個(gè)進(jìn)程—資源的環(huán)形鏈{P0,P1,P2,...Pn},P0等待P1資源,P1等待P2資源。。Pn等待P0資源死鎖定義:多個(gè)進(jìn)程搶奪資源而形成的僵局62處理死鎖方法1.預(yù)防死鎖:通過破壞產(chǎn)生死鎖的四個(gè)必要條件中的某些來避免死鎖2.安全狀態(tài):在資源分配之前先檢測資源分配安全性,若不安全,則另進(jìn)程等待銀行家算法處理死鎖方法1.預(yù)防死鎖:通過破壞產(chǎn)生死鎖的四個(gè)必要條件中的63銀行家算法的步驟銀行家算法的步驟64死鎖檢測與解除檢測方法:利用資源分配圖(大題第一個(gè))死鎖解除:1.剝奪資源:從其它進(jìn)程剝奪足夠量的資源給死鎖進(jìn)程解除死鎖狀態(tài)2.撤銷進(jìn)程:撤銷死鎖進(jìn)程溫柔一點(diǎn)的方法是按某種順序逐個(gè)撤銷死鎖進(jìn)程,在此過程中可以釋放資源,使得某些死鎖進(jìn)程得以解除死鎖狀態(tài)死鎖檢測與解除檢測方法:利用資源分配圖(大題第一個(gè))65操作系統(tǒng)期末復(fù)習(xí)MadebyTzh操作系統(tǒng)期末復(fù)習(xí)MadebyTzh66第一部分:大題本部分為課上老師所講的幾道大題,作為大題而言命中率應(yīng)該蠻高的吧,它們包括:資源分配圖硬盤調(diào)度頁面置換算法PB操作物理地址替換第一部分:大題本部分為課上老師所講的幾道大題,作為大題而言命671.資源分配圖會(huì)看、會(huì)畫會(huì)判斷死鎖P1P2r1r21.資源分配圖會(huì)看、會(huì)畫P1P2r1r268會(huì)看、會(huì)畫P1P23個(gè)資源2個(gè)資源P1進(jìn)程P1進(jìn)程請求資源進(jìn)程擁有資源P1擁有2個(gè)r1資源并請求1個(gè)r2P2擁有1個(gè)r1資源和1個(gè)r2資源并請求1個(gè)r1r1r2會(huì)看、會(huì)畫P1P23個(gè)資源2個(gè)資源P1進(jìn)程P1進(jìn)程請求資源進(jìn)69判斷死鎖P1P2P1需要1個(gè)r2P2需要1個(gè)r1R1剩余0個(gè)資源R2剩余1個(gè)資源判斷死鎖P1P2P1需要1個(gè)r2P2需要1個(gè)r1R1剩余0個(gè)70P2的需求無法滿足,但P1可以得到滿足P1P2P2需要1個(gè)r1R1剩余2個(gè)資源R2剩余1個(gè)資源P1順利執(zhí)行,釋放占用所有資源P2的需求無法滿足,但P1可以得到滿足P1P2P2需要1個(gè)r71P2需求得到滿足,順利執(zhí)行P1P2R1剩余3個(gè)資源R2剩余2個(gè)資源在這種情況下不會(huì)死鎖P2需求得到滿足,順利執(zhí)行P1P2R1剩余3個(gè)資源R2剩余272那么,什么情況下會(huì)產(chǎn)生死鎖呢P1P2P1需要2個(gè)r2P2需要1個(gè)r1R1剩余0個(gè)資源R2剩余1個(gè)資源此時(shí),P1、P2的需求都無法得到滿足,死鎖那么,什么情況下會(huì)產(chǎn)生死鎖呢P1P2P1需要2個(gè)r2P2需要732.磁盤調(diào)度想象,從磁盤圓心處向外畫一條直線作為我們下圖的X軸,把磁盤的磁道序號標(biāo)在上面。2.磁盤調(diào)度想象,從磁盤圓心處向外畫一條直線作為我們下圖的X74題目是這樣出的條件:欲訪問的磁道號:100、55、58、39、18、90、160、150磁頭當(dāng)前位置:100問題:磁頭移動(dòng)磁道數(shù)和平均尋道長度題目是這樣出的條件:751.先來先服務(wù)算法100、55、58、39、18、90、160、150我們從起始位置開始,按順序掃描,設(shè)磁頭移動(dòng)磁道數(shù)為m,初始為0100、55、58、39、18、90、160、150磁頭移動(dòng)到55,m+=(100-55),m=45100、55、58、39、18、90、160、150磁頭移動(dòng)到58,m+=(58-55),m=48100、55、58、39、18、90、160、150磁頭移動(dòng)到39,m+=(58-39),m=67注意:磁頭移動(dòng)的是距離而不是位移,所以不可能為負(fù)數(shù),因此一定是大減小1.先來先服務(wù)算法100、55、58、39、18、90、1676以此類推,直到全部掃描完當(dāng)然,如果是答題,我們直接列式子即可m=(100-55)+(58-55)+(58-39)+…..=結(jié)果平均尋道長度=m/nn為磁道號個(gè)數(shù)以此類推,直到全部掃描完當(dāng)然,如果是答題,我們直接列式子即可772.最短尋道時(shí)間優(yōu)先算法為了節(jié)約時(shí)間,這次我們不再按照順序來掃描磁盤了18、39、55、58、90、100、150、160還是那些磁道,不過這次我們提前排好序,起始位置依然100接著我們看,在需要跑的磁道中,離100最近的磁道是哪個(gè)這也是我們之所以要排序的原因,在這種情況下只有100相鄰的兩個(gè)磁道可能是我們的選擇我們發(fā)現(xiàn),相比150,磁道90離100更近,所以我們先去9018、39、55、58、90、100、150、160m+=(100-90)m=10同樣,相比于100,58距離90更近,我們選擇5818、39、55、58、90、100、150、160m+=(90-58)m=42以此類推,知道將所有磁道跑完當(dāng)然,跑過的磁道我們不會(huì)跑第二遍我猜你可能會(huì)問:這真的是最短的尋道時(shí)間嗎?當(dāng)然,答案肯定是不一定,計(jì)算機(jī)只能看到下一步的情況,但它不可能像圍棋高手一樣總覽全局,至于真正的最短,那就是我們程序員寫的算法才能夠?qū)崿F(xiàn)了,在操作系統(tǒng)中不會(huì)這么復(fù)雜2.最短尋道時(shí)間優(yōu)先算法為了節(jié)約時(shí)間,這次我們不再按照順序來783.掃描算法(電梯算法)沒錯(cuò),就像是電梯一樣,直上直下,一條道走到黑,撞了南墻再回頭18、39、55、58、90、100、150、160同樣的,我們把磁道號排好序,初始位置100然后,我們按照序號增加的方向依次尋道18、39、55、58、90、100、150、16018、39、55、58、90、100、150、160咚!撞墻了,這時(shí)可以回頭了,但注意尋過道的磁道不需要再走一遍18、39、55、58、90、100、150、160所以我們直接跳到9018、39、55、58、90、100、150、16018、39、55、58、90、100、150、1603.掃描算法(電梯算法)沒錯(cuò),就像是電梯一樣,直上直下,一條79分頁存儲(chǔ)求物理地址指令:Load1,2500指令的邏輯地址是100,頁長1k,求指令的物理地址1.求頁號

邏輯地址/頁長,商為頁號,余數(shù)為偏移量

2.查表

3.物理地址=物理塊號*頁長+偏移量頁號物理塊號041827取了兩次地址,第一次根據(jù)邏輯地址找到物理地址,第二次取物理地址分頁存儲(chǔ)求物理地址指令:Load1,2500頁號物理塊號080頁面置換算法如果給的是邏輯地址需要求出頁號頁號=邏輯地址/頁長(要的是商)頁面置換算法如果給的是邏輯地址需要求出頁號81先進(jìn)先出(FIFO)將頁號依次排好先進(jìn)先出(FIFO)將頁號依次排好82方法一開始是依次裝入物理塊,全都有缺頁中斷方法一開始是依次裝入物理塊,全都有缺頁中斷83方法如果物理塊滿了,判斷哪個(gè)頁面存在時(shí)間最長就替換方法是向左劃線判斷哪條最長,同時(shí)缺頁中斷方法如果物理塊滿了,判斷哪個(gè)頁面存在時(shí)間最長就替換84方法如果下一個(gè)頁面物理塊已經(jīng)有了,就不用寫了,也沒有缺頁中斷方法如果下一個(gè)頁面物理塊已經(jīng)有了,就不用寫了,也沒有缺頁中斷85最近最久未使用(LRU)最近最久未使用(LRU)86方法往前數(shù)第三個(gè)來替換(有幾個(gè)物理塊找?guī)讉€(gè)),但不算重復(fù)的,有重復(fù)的還要往前找方法往前數(shù)第三個(gè)來替換(有幾個(gè)物理塊找?guī)讉€(gè)),但不算重復(fù)的,87要計(jì)算的東西缺頁次數(shù):每一次頁面替換和頁面裝入(畫的對勾數(shù))被置換的頁號順序:被替換走的頁號按順序排列缺頁率=缺頁次數(shù)/頁面總數(shù)要計(jì)算的東西缺頁次數(shù):每一次頁面替換和頁面裝入(畫的對勾數(shù))88生產(chǎn)者—消費(fèi)者問題他們又是互斥關(guān)系,又是相互協(xié)作關(guān)系,也是同步關(guān)系生產(chǎn)者—消費(fèi)者問題他們又是互斥關(guān)系,又是相互協(xié)作關(guān)系,也是同89解法P操作,也可以是wait操作是--,只有參數(shù)大于0才可以順利執(zhí)行V操作,也可以是signal操作是++,相當(dāng)于是恢復(fù)解法P操作,也可以是wait操作是--,只有參數(shù)大于0才可以90例題2.

假定一個(gè)閱覽室可供50個(gè)人同時(shí)閱讀。讀者進(jìn)入和離開閱覽室時(shí)都必須在閱覽室入口處的一個(gè)登記表上登記,閱覽室有50個(gè)座位,規(guī)定每次只允許一個(gè)人登記或注銷登記。要求:(1)用PV操作描述讀者進(jìn)程的實(shí)現(xiàn)算法(可用流程圖表示,登記、注銷可用自然語言描述);

(2)指出算法中所用信號量的名稱、作用及初值。

S1:閱覽室可供使用的空座位,其初值為50

S:

是否可通過閱覽室,其初值為1

Process

READ_in(i=1?50)

{到達(dá)閱覽室入口處;P(S1);P(S);

在入口處登記座位號;

V(s);

進(jìn)入座位并閱讀;

}

Process

READ_out(j=1?50)

{結(jié)束閱讀到達(dá)閱覽室入口處;

P(S);

在入口處注銷座位號;

V(S1);V(S)

離開入口處;

}

例題2.

假定一個(gè)閱覽室可供50個(gè)人同時(shí)閱讀。讀者進(jìn)入和離開91例題請用信號量實(shí)現(xiàn)下圖所示的前趨關(guān)系例題請用信號量實(shí)現(xiàn)下圖所示的前趨關(guān)系92調(diào)度算法調(diào)度算法93運(yùn)算方法完成時(shí)間:就是目前的完成時(shí)間加上下一個(gè)要運(yùn)行的進(jìn)程的服務(wù)時(shí)間周轉(zhuǎn)時(shí)間:各進(jìn)程的完成時(shí)間減去其到達(dá)的時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間:周轉(zhuǎn)時(shí)間/服務(wù)時(shí)間高響應(yīng)比優(yōu)先調(diào)度算法先算出優(yōu)先權(quán)再進(jìn)行比較,先運(yùn)行大的再運(yùn)行小的優(yōu)先權(quán)=(等待時(shí)間+要求服務(wù)時(shí)間)/要求服務(wù)時(shí)間等待時(shí)間:該進(jìn)程要開始進(jìn)行的時(shí)候總共經(jīng)過的時(shí)間運(yùn)算方法完成時(shí)間:就是目前的完成時(shí)間加上下一個(gè)要運(yùn)行的進(jìn)程的94概念題本部分為課上老師在書中所劃的概念概念題本部分為課上老師在書中所劃的概念95操作系統(tǒng)的目標(biāo)有效性提高系統(tǒng)資源利用率提高系統(tǒng)的吞吐量吞吐量是每秒的數(shù)據(jù)處理量吞吐量是在給定時(shí)間段內(nèi)系統(tǒng)完成的交換數(shù)量.即系統(tǒng)的吞吐量越大,說明系統(tǒng)在單位時(shí)間內(nèi)完成的用戶或系統(tǒng)請求越多,系統(tǒng)的資源得到充分利用。方便性可擴(kuò)充性開放性操作系統(tǒng)的目標(biāo)有效性96操作系統(tǒng)的作用用戶接口:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)操作系統(tǒng)接口包括:1.命令方式2.系統(tǒng)調(diào)用方式3.圖形、窗口方式計(jì)算機(jī)系統(tǒng)資源的管理者:OS推動(dòng)操作系統(tǒng)發(fā)展主要?jiǎng)恿Γ?.提高計(jì)算機(jī)資源的利用率2.方便用戶3.器件升級操作系統(tǒng)的作用用戶接口:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用97操作系統(tǒng)的發(fā)展過程人工操作方式缺點(diǎn):1.用戶獨(dú)占全機(jī)2.CPU等待人工操作脫機(jī)輸入/輸出方式優(yōu)點(diǎn):1.減少了CPU的空閑時(shí)間2.提高了I/O速度操作系統(tǒng)的發(fā)展過程人工操作方式98批處理系統(tǒng)(無交互能力)單道批處理系統(tǒng)多道批處理系統(tǒng)(宏觀并行,微觀串行)優(yōu)點(diǎn):1.資源利用率高2.系統(tǒng)吞吐量大缺點(diǎn):1.平均周轉(zhuǎn)時(shí)間長2.無交互能力面臨問題:1.處理機(jī)管理問題2.內(nèi)存管理問題3.I/O設(shè)備管理問題4.文件管理問題5.作業(yè)管理問題批處理系統(tǒng)(無交互能力)單道批處理系統(tǒng)99分時(shí)系統(tǒng)定義:它能很好地將一臺(tái)計(jì)算機(jī)提供給多個(gè)用戶同時(shí)使用,提高計(jì)算機(jī)的利用率。用戶的需求具體表現(xiàn)在:1.人-機(jī)交互2.共享主機(jī)3.便于用戶上機(jī)關(guān)鍵問題:1.用戶是否能及時(shí)接收命令2.用戶是否能及時(shí)處理命令特點(diǎn):多路性獨(dú)立性及時(shí)性交互性分時(shí)系統(tǒng)定義:它能很好地將一臺(tái)計(jì)算機(jī)提供給多個(gè)用戶同時(shí)使用,100實(shí)時(shí)系統(tǒng)硬實(shí)時(shí)與軟實(shí)時(shí)的區(qū)別硬實(shí)時(shí)系統(tǒng)有一個(gè)剛性的、不可改變的時(shí)間限制,它不允許任何超出時(shí)限的錯(cuò)誤。超時(shí)錯(cuò)誤會(huì)帶來損害甚至導(dǎo)致系統(tǒng)失敗、或者導(dǎo)致系統(tǒng)不能實(shí)現(xiàn)它的預(yù)期目標(biāo)。軟實(shí)時(shí)系統(tǒng)的時(shí)限是一個(gè)柔性靈活的,它可以容忍偶然的超時(shí)錯(cuò)誤。失敗造成的后果并不嚴(yán)重,例如在網(wǎng)絡(luò)中僅僅是輕微地降低了系統(tǒng)的吞吐量。實(shí)時(shí)系統(tǒng)硬實(shí)時(shí)與軟實(shí)時(shí)的區(qū)別101分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)的比較1.多路性:分時(shí)系統(tǒng)的多路性與用戶情況有關(guān),時(shí)多時(shí)少。實(shí)時(shí)控制系統(tǒng)的多路性則主要表現(xiàn)在系統(tǒng)周期性地對多路現(xiàn)場信息進(jìn)行采集,以及對多個(gè)對象或多個(gè)執(zhí)行機(jī)構(gòu)進(jìn)行控制2.獨(dú)立性:都是服務(wù)請求彼此互不干擾3.及時(shí)性:實(shí)時(shí)系統(tǒng)及時(shí)性要求更強(qiáng)4.交互性:實(shí)時(shí)系統(tǒng)的人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特定的專用服務(wù)程序,交互性分時(shí)系統(tǒng)更強(qiáng)5.可靠性:實(shí)時(shí)系統(tǒng)要求更可靠分時(shí)系統(tǒng)與實(shí)時(shí)系統(tǒng)的比較1.多路性:分時(shí)系統(tǒng)的多路性與用戶情102操作系統(tǒng)基本特性并發(fā)性:并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)概念,并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。共享性:是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用虛擬性:是指通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對應(yīng)物。物理實(shí)體(前者)是實(shí)的,即實(shí)際存在的,而后者是虛的,是用戶感覺上的東西。異步性:每次只允許一個(gè)進(jìn)程執(zhí)行,其余進(jìn)程只能等待。操作系統(tǒng)基本特性并發(fā)性:并行性和并發(fā)性是既相似又有區(qū)別的兩個(gè)103操作系統(tǒng)的主要功能處理機(jī)管理功能1.進(jìn)程控制:為作業(yè)創(chuàng)建進(jìn)程,撤銷已結(jié)束的進(jìn)程,控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)化2.進(jìn)程同步:互斥與同步方式來協(xié)調(diào)多個(gè)進(jìn)程(含線程)3.進(jìn)程通信方式:采用直接通信方式,由源進(jìn)程利用發(fā)送命令將信息掛到目標(biāo)進(jìn)程的消息隊(duì)列,之后由目標(biāo)進(jìn)程接收。4.調(diào)度:作業(yè)調(diào)度(高級調(diào)度):從后備隊(duì)列中通過一定算法找出若干個(gè)作業(yè)并為它們分配內(nèi)存,建立進(jìn)程,插入就緒隊(duì)列。進(jìn)程調(diào)度(低級調(diào)度):從就緒隊(duì)列中選出一個(gè)進(jìn)程,使該進(jìn)程投入執(zhí)行操作系統(tǒng)的主要功能處理機(jī)管理功能104操作系統(tǒng)的主要功能

存儲(chǔ)器管理功能1.內(nèi)存分配:為每道程序分配內(nèi)存空間(靜態(tài)、動(dòng)態(tài))2.內(nèi)存保護(hù):使各程序執(zhí)行時(shí)彼此互不干擾3.地址映射:邏輯地址到物理地址之間的轉(zhuǎn)換4.內(nèi)存擴(kuò)充:借助虛擬存儲(chǔ)(1):請求調(diào)入功能:在裝入部分用戶程序和數(shù)據(jù)的情況下就執(zhí)行,中途向OS請求從磁盤將所需調(diào)入內(nèi)存(2):將內(nèi)存中一些暫時(shí)不用的數(shù)據(jù)調(diào)入硬盤騰出空間操作系統(tǒng)的主要功能

存儲(chǔ)器管理功能105

操作系統(tǒng)的主要功能

設(shè)備管理功能1.緩沖管理:CPU與I/O之間甚至緩沖區(qū),解決速度不匹配的問題單緩沖機(jī)制、可雙向傳送的雙緩沖機(jī)制、提供多個(gè)設(shè)備同時(shí)使用的公用緩沖池機(jī)制2.設(shè)備分配:根據(jù)用戶的I/O請求,為其分配所需設(shè)備3.設(shè)備處理:CPU與I/O之間的通信

操作系統(tǒng)的主要功能

設(shè)備管理功能106

操作系統(tǒng)的主要功能

文件管理功能1.文件存儲(chǔ)空間的管理2.目錄管理:系統(tǒng)為每個(gè)文件建立一個(gè)目錄項(xiàng),包括:文件名、文件屬性、文件在磁盤上的物理位置3.文件的讀/寫管理:根據(jù)用戶給出的文件名檢索文件目錄,從中獲得文件在外存中的位置。4.文件保護(hù):

操作系統(tǒng)的主要功能

文件管理功能107操作系統(tǒng)給應(yīng)用的接口程序接口也稱為系統(tǒng)調(diào)用庫函數(shù)屬于用戶程序而非系統(tǒng)調(diào)用,是系統(tǒng)調(diào)用的上層,有些庫函數(shù)與系統(tǒng)調(diào)用是無關(guān)的(math.h)所謂原語,是操作系統(tǒng)內(nèi)核中,由若干條指令構(gòu)成、用于完成一個(gè)特定的功能的一個(gè)過程,該過程在執(zhí)行時(shí)是不可中斷的。操作系統(tǒng)給應(yīng)用的接口程序接口也稱為系統(tǒng)調(diào)用108微內(nèi)核系統(tǒng)(不含LINUX)優(yōu)點(diǎn)1.提高系統(tǒng)可擴(kuò)展性2.提高系統(tǒng)可靠性3.可移植性4.提供了對分布式系統(tǒng)的支持5.融入了面向?qū)ο蠹夹g(shù)缺點(diǎn):運(yùn)行效率低硬中斷:由與系統(tǒng)相連的外設(shè)(比如網(wǎng)卡、硬盤)自動(dòng)產(chǎn)生的。主要是用來通知操作系統(tǒng)系統(tǒng)外設(shè)狀態(tài)的變化微內(nèi)核中斷和陷入處理(軟中斷)將與硬件緊密相關(guān)的一小部分放在微內(nèi)核中處理,微內(nèi)核所做的就只是前期處理,將消息發(fā)給服務(wù)器由服務(wù)器再進(jìn)行后期處理,因此微內(nèi)核可以做的很小。微內(nèi)核系統(tǒng)(不含LINUX)優(yōu)點(diǎn)109進(jìn)程的順序執(zhí)行順序執(zhí)行(適合直接訪問):例如輸入與打印,必須按順序前趨圖:有向無環(huán)圖進(jìn)程由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡進(jìn)程的順序執(zhí)行順序執(zhí)行(適合直接訪問):例如輸入與打印,必須110進(jìn)程的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行:多道程序可同時(shí)進(jìn)行,但對于每一道程序而言是順序執(zhí)行。程序并發(fā)執(zhí)行的特征:1.間斷性:一個(gè)任務(wù)可能需要等待它的前驅(qū)任務(wù)完成才能繼續(xù)執(zhí)行,產(chǎn)生等待。2.失去封閉性:多個(gè)程序共享系統(tǒng)中資源,這些資源將由多個(gè)程序來改變。3.不可再現(xiàn)性:由于失去封閉性,輸入的結(jié)果與并發(fā)程序的速度有關(guān),每一次的輸出結(jié)果不同。進(jìn)程的并發(fā)執(zhí)行程序的并發(fā)執(zhí)行:多道程序可同時(shí)進(jìn)行,但對于每一111進(jìn)程特征和狀態(tài)1.結(jié)構(gòu)特征:進(jìn)程實(shí)體(在UNIX中稱為“進(jìn)程映像”)程序段相關(guān)數(shù)據(jù)段PCB:作用寄存器有什么,進(jìn)程的唯一標(biāo)識(shí)動(dòng)態(tài)性:進(jìn)程是程序的一次執(zhí)行過程,它有一定的生命期并發(fā)性:多個(gè)進(jìn)程同時(shí)進(jìn)行獨(dú)立性:進(jìn)程實(shí)體獨(dú)立異步性:進(jìn)程各自獨(dú)立,速度不一2.進(jìn)程的狀態(tài)許可釋放進(jìn)程特征和狀態(tài)1.結(jié)構(gòu)特征:許可釋放112進(jìn)程控制塊(PCB)進(jìn)程控制塊組織方式:1.鏈接方式按進(jìn)程優(yōu)先級高低排列隱式鏈接最不適合直接訪問執(zhí)行指針就一個(gè)鏈接字進(jìn)程控制塊(PCB)進(jìn)程控制塊組織方式:鏈接字1132.索引表方式2.索引表方式114進(jìn)程控制進(jìn)程的創(chuàng)建:1.申請空白PCB2.為新進(jìn)程分配資源3.初始化進(jìn)程控制塊(PCB)4.將新進(jìn)程插入就緒隊(duì)列終止過程:1.通過該進(jìn)程PCB讀出該進(jìn)程的狀態(tài)2.結(jié)束該進(jìn)程的執(zhí)行3.結(jié)束該進(jìn)程的子孫進(jìn)程4.釋放該進(jìn)程占有的資源5.將被終止進(jìn)程從所在隊(duì)列移出進(jìn)程控制進(jìn)程的創(chuàng)建:115進(jìn)程阻塞與喚醒進(jìn)程的阻塞:進(jìn)程由于某些原因無法繼續(xù)進(jìn)行,進(jìn)程調(diào)用阻塞源語自己把自己阻塞,從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài)。阻塞原因:1.請求系統(tǒng)服務(wù)未得到響應(yīng)。2.啟動(dòng)某種操作(操作完成才可繼續(xù)執(zhí)行)。3.新數(shù)據(jù)尚未到達(dá)。4.無新工作可做進(jìn)程的喚醒(與阻塞互逆):當(dāng)進(jìn)程所期望的事件出現(xiàn),便自己調(diào)用喚醒源語,將自己從阻塞隊(duì)列移出,到就緒隊(duì)列。掛起:由用戶或父進(jìn)程引起激活(與掛起互逆):由用戶或父進(jìn)程引起進(jìn)程阻塞與喚醒進(jìn)程的阻塞:進(jìn)程由于某些原因無法繼續(xù)進(jìn)行,進(jìn)程116進(jìn)程同步互斥臨界區(qū):每個(gè)進(jìn)程訪問臨界資源的那段代碼稱為臨界區(qū)臨界資源(硬件資源如打印機(jī)等):在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源,臨界資源的訪問要求互斥的訪問進(jìn)程互斥:一個(gè)進(jìn)程正在訪問臨界資源,另一個(gè)要訪問該資源的進(jìn)程必須等待。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。進(jìn)程同步:是指在互斥的基礎(chǔ)上(大多數(shù)情況),通過其它機(jī)制實(shí)現(xiàn)訪問者對資源的有序訪問。在大多數(shù)情況下,同步已經(jīng)實(shí)現(xiàn)了互斥,特別是所有寫入資源的情況必定是互斥的。少數(shù)情況是指可以允許多個(gè)訪問者同時(shí)訪問資源進(jìn)程同步互斥臨界區(qū):每個(gè)進(jìn)程訪問臨界資源的那段代碼稱為臨界區(qū)117同步機(jī)制規(guī)則1.空閑讓進(jìn)2.忙則等待3.有限等待:不能讓進(jìn)程一直等,得一段時(shí)間內(nèi)能得到臨界資源4.讓權(quán)等待:進(jìn)程如果不能進(jìn)入臨界區(qū),就別等了信號量1.整型信號量:wait(S),signal(S)S為整型信號量,初值為1,當(dāng)前為2代表有兩個(gè)資源,當(dāng)前為0代表被占用,當(dāng)前為-1代表已經(jīng)有一個(gè)等待2.記錄型信號量除了對信號量加減之外,還有判斷,不行就阻塞去3.AND型信號量:一個(gè)進(jìn)程可能需要多個(gè)資源才能進(jìn)行,中途可能有其它資源爭奪,所以為了解決死鎖的問題,我們在wait語句中增加and條件

溫馨提示

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

最新文檔

評論

0/150

提交評論