第2章 處理器管理_第1頁
第2章 處理器管理_第2頁
第2章 處理器管理_第3頁
第2章 處理器管理_第4頁
第2章 處理器管理_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章處理器管理

計(jì)算機(jī)科學(xué)與通信工程學(xué)院2023/2/31計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組概述操作系統(tǒng)的重要任務(wù)之一:是充分、有效地利用系統(tǒng)的各類資源

最寶貴的資源:處理器

分配調(diào)度策略、處理沖突、資源回收

引入進(jìn)程:作為資源分配的基本單位和基本實(shí)體

處理器的管理→進(jìn)程管理

首先要介紹中斷的概念

中斷是實(shí)現(xiàn)處理器調(diào)度不可缺少的條件2023/2/32計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組第二章處理器管理2.1中斷系統(tǒng)2.2多道程序與并發(fā)執(zhí)行2.3進(jìn)程2.4線程2.5UNIX中的進(jìn)程管理2023/2/33計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1中斷系統(tǒng)

中斷:在執(zhí)行期間,發(fā)生任何非尋常的或非預(yù)期的急需處理事件→使得CPU暫時(shí)中斷當(dāng)前程序的執(zhí)行,而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,等到事件處理結(jié)束后又返回到原來被中斷的程序繼續(xù)執(zhí)行的過程。中斷的使用設(shè)備和CPU之間的通信:中斷控制方式、DMA方式和通道方式其它特殊情況2023/2/34計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1中斷系統(tǒng)2.1.0中斷裝置2.1.1中斷系統(tǒng)的職能2.1.2

中斷的分類2.1.3

中斷的優(yōu)先級(jí)2.1.4中斷事件處理程序2023/2/35計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.0中斷裝置定義:發(fā)現(xiàn)產(chǎn)生中斷事件的硬件裝置稱為中斷裝置。2023/2/36計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.1中斷系統(tǒng)的職能

主要做以下三件事:發(fā)現(xiàn)中斷源,提出中斷請求:多個(gè)中斷源時(shí),根據(jù)優(yōu)先級(jí),發(fā)出中斷請求。保護(hù)現(xiàn)場:保存處理器中存放程序狀態(tài)字的寄存器信息,以便在中斷處理結(jié)束后恢復(fù)運(yùn)行。啟動(dòng)處理事件的程序:將處理中斷程序的程序狀態(tài)字送入處理器的程序狀態(tài)字寄存器,從而就引出了處理中斷的程序。引起中斷的事件2023/2/37計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組中斷處理過程示意圖存放舊程序狀態(tài)字(保護(hù)現(xiàn)場)取出新程序狀態(tài)字(引出中斷處理程序)

2023/2/38計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2314567發(fā)現(xiàn)中斷源2023/2/39計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.2中斷的分類

1.軟件中斷(內(nèi)部中斷)

-由CPU執(zhí)行某些指令引起的中斷;2.硬件中斷-除CPU和內(nèi)存以外的硬件系統(tǒng)發(fā)出的中斷信號(hào)而引起的中斷;2023/2/310計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.2中斷的分類例:地址非法、除法出錯(cuò)、溢出中斷

異常中斷。

異常一般分為三類:失效(Faults)陷阱(Traps)中止(Abort)

軟件中斷:執(zhí)行指令過程中產(chǎn)生的錯(cuò)誤情況

2023/2/311計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.2中斷的分類時(shí)機(jī):某條指令在啟動(dòng)之后真正執(zhí)行之前被檢測到異常,產(chǎn)生中斷;失效中斷處理:進(jìn)入相應(yīng)的中斷處理;在中斷服務(wù)完成后返回該條指令;重新啟動(dòng)該指令并執(zhí)行完成。

軟件中斷-失效:2023/2/312計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.2中斷的分類時(shí)機(jī):執(zhí)行產(chǎn)生陷阱的指令而引起的。通常也稱為自愿訪管中斷例:DOS中的INT和UNIX中Trap命令的執(zhí)行。軟件中斷-陷阱:2023/2/313計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.2中斷的分類時(shí)機(jī):異常發(fā)生后無法確定造成異常指令的實(shí)際位置時(shí),原來的程序已無法繼續(xù)執(zhí)行處理方式:中斷服務(wù)程序往往重新啟動(dòng)操作系統(tǒng)并重建系統(tǒng)表格

例:硬件錯(cuò)誤或系統(tǒng)表格中的錯(cuò)誤(主存出錯(cuò))

軟件中斷-中止2023/2/314計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.2中斷的分類例:I/O設(shè)備發(fā)的中斷、時(shí)鐘中斷。硬件中斷的分類:非屏蔽中斷:指不允許用戶干預(yù)的中斷;一旦發(fā)出中斷信號(hào)后,CPU要立即響應(yīng)。

可屏蔽中斷:可通過每一類中斷源設(shè)置一個(gè)中斷屏蔽觸發(fā)器,屏蔽它們的中斷請求。(大多數(shù)硬件中斷都是可屏蔽中斷)硬件中斷2023/2/315計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.3中斷的優(yōu)先級(jí)問題:多個(gè)中斷信號(hào)同時(shí)產(chǎn)生時(shí),如何進(jìn)行處理有些中斷服務(wù)是不允許其它中斷打斷有些中斷要優(yōu)先處理中斷服務(wù)期間要響應(yīng)比它更緊急的中斷

2023/2/316計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.3中斷的優(yōu)先級(jí)解決方法為每個(gè)中斷確定一個(gè)中斷優(yōu)先級(jí)定義:多個(gè)中斷事件同時(shí)發(fā)生時(shí),中斷裝置應(yīng)按規(guī)定的順序來響應(yīng),該順序稱為中斷優(yōu)先級(jí)。如何實(shí)現(xiàn)中斷優(yōu)先級(jí)-軟件查詢-硬件處理2023/2/317計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.3中斷的優(yōu)先級(jí)中斷優(yōu)先級(jí)由查詢的順序決定先被查詢的中斷具有高的優(yōu)先級(jí)設(shè)置一個(gè)中斷請求信號(hào)的寄存器將各中斷信號(hào)保存下來以便查詢對(duì)沒有處理的中斷請求作一個(gè)備忘錄優(yōu)點(diǎn):可利用修改軟件的方法來改變中斷優(yōu)先級(jí),而不必要更改硬件。

不足:服務(wù)效率低(先將優(yōu)先級(jí)高的設(shè)備查詢一遍)軟件查詢2023/2/318計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.3中斷的優(yōu)先級(jí)克服軟件方式的缺點(diǎn)采用硬件編碼器來組成中斷優(yōu)先級(jí)電路根據(jù)編碼器的編碼形式確定各個(gè)中斷信號(hào)的優(yōu)先級(jí)優(yōu)點(diǎn):響應(yīng)速度快,中斷能及時(shí)得到處理。缺點(diǎn):修改優(yōu)先級(jí)困難,不靈活。

硬件處理2023/2/319計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.1.4中斷事件處理程序一般分為三類:1.處理器中斷事件的處理2.自愿中斷事件的處理3.外部中斷事件的處理2023/2/320計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組中斷處理程序定義:處理中斷事件的處理控制程序任務(wù):處理中斷事件,恢復(fù)正常操作。主要完成的工作:保護(hù)未被硬件保護(hù)的內(nèi)容取出中斷字分析;根據(jù)中斷原因轉(zhuǎn)不同處理;恢復(fù)正常操作(恢復(fù)運(yùn)行某一程序、重新調(diào)度另一程序運(yùn)行、重新啟動(dòng)OS)2023/2/321計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組1.處理器中斷事件的處理這種事件是由硬件的故障而產(chǎn)生;排除這種故障必須進(jìn)行人工干預(yù);應(yīng)付措施:(1)保護(hù)現(xiàn)場防止故障曼延(2)報(bào)告操作員并提供故障信息以便維修和校正(3)對(duì)程序中所造成的破壞進(jìn)行估價(jià)和恢復(fù)

2023/2/322計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組例:發(fā)生電源故障中斷事件的處理掉電時(shí)做以下三項(xiàng)工作處理器中有關(guān)寄存器內(nèi)的信息送主存儲(chǔ)器保存起來,以便在故障排除后恢復(fù)現(xiàn)場繼續(xù)工作。停止外圍設(shè)備工作;不能立即停止,將設(shè)備記錄下來。停止處理器工作。故障排除后,從一個(gè)約定點(diǎn)啟動(dòng)操作系統(tǒng):啟動(dòng)被停止的外圍設(shè)備繼續(xù)工作。如果發(fā)生故障時(shí),有不能立即停止的外圍設(shè)備正在工作,那么涉及這些外圍設(shè)備的程序?qū)⒈煌V箞?zhí)行而等待操作員的干預(yù)命令。選擇可以運(yùn)行的程序繼續(xù)運(yùn)行。2023/2/323計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.自愿中斷事件的處理由系統(tǒng)程序或用戶程序執(zhí)行訪管指令而引起的(程序?qū)Σ僮飨到y(tǒng)功能的調(diào)用)訪管指令(廣義指令)包括操作碼:表示這條指令是訪管指令

訪管參數(shù)(廣義指令的操作碼):表示具體的訪管要求

系統(tǒng)調(diào)用2023/2/324計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.自愿中斷事件的處理自愿中斷事件處理過程:硬件在執(zhí)行訪管指令時(shí):把訪管參數(shù)作為中斷字并入程序狀態(tài)字,送入主存指定單元;轉(zhuǎn)向操作系統(tǒng)處理。操作系統(tǒng)接收到后分析訪管參數(shù)進(jìn)行合法性檢查照訪管參數(shù)的要求進(jìn)行相應(yīng)的處理2023/2/325計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.自愿中斷事件的處理訪管指令的用處:向操作系統(tǒng)提出啟動(dòng)外圍設(shè)備的要求控制程序的要求申請主存資源的要求申請外圍設(shè)備的要求2023/2/326計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組3.外部中斷事件的處理包括時(shí)鐘的定時(shí)中斷來自控制臺(tái)的信息

控制臺(tái)中斷事件的處理使用控制臺(tái)開關(guān),就產(chǎn)生一個(gè)控制臺(tái)中斷;處理這種中斷=接受一條操作命令;轉(zhuǎn)向處理操作命令的執(zhí)行程序。2023/2/327計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組3.外部中斷事件的處理時(shí)鐘中斷事件的處理時(shí)鐘可以分成絕對(duì)時(shí)鐘和間隔時(shí)鐘;絕對(duì)時(shí)鐘中斷系統(tǒng)有一個(gè)絕對(duì)時(shí)鐘寄存器,定時(shí)加1;當(dāng)寄存器溢出時(shí),就產(chǎn)生一次絕對(duì)時(shí)鐘中斷;處理時(shí),只要在主存的固定單元上加1。固定單元記錄了絕對(duì)時(shí)鐘中斷的次數(shù),絕對(duì)時(shí)間為固定單元內(nèi)容與絕對(duì)時(shí)鐘寄存器值的綜合。2023/2/328計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組3.外部中斷事件的處理間隔時(shí)鐘中斷間隔時(shí)鐘寄存器中放一個(gè)預(yù)定的值;定時(shí)將一個(gè)間隔時(shí)鐘寄存器的內(nèi)容減1;寄存器的內(nèi)容為0時(shí),產(chǎn)生一個(gè)間隔時(shí)鐘中斷。起鬧鐘作用,進(jìn)行控制調(diào)度。2023/2/329計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2多道程序與并發(fā)執(zhí)行本節(jié)內(nèi)容:分析程序順序執(zhí)行的特點(diǎn)對(duì)程序順序執(zhí)行的缺點(diǎn)進(jìn)行分析引入程序的并發(fā)執(zhí)行解決問題分析程序的并發(fā)執(zhí)行和特點(diǎn)

2.2.1程序的順序執(zhí)行和特點(diǎn)2.2.2程序的并發(fā)執(zhí)行和特點(diǎn)2023/2/330計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.1程序的順序執(zhí)行和特點(diǎn)計(jì)算機(jī)上運(yùn)行的是:程序程序:是指令的有序集合-它規(guī)定完成某一任務(wù)時(shí)所需做的各種操作-規(guī)定操作順序單道程序系統(tǒng):每次只允許一道程序進(jìn)入計(jì)算機(jī)執(zhí)行的系統(tǒng)。2023/2/331計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.1程序的順序執(zhí)行和特點(diǎn)單道程序系統(tǒng)每次只允許一道程序運(yùn)行;它將獨(dú)占系統(tǒng)資源(處理器、主存、輔存、外設(shè)、軟件)系統(tǒng)按照程序的步驟順序地執(zhí)行。在該程序執(zhí)行完之前,其它程序只能等待。

2023/2/332計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.1程序的順序執(zhí)行和特點(diǎn)例:假設(shè)有兩道程序都需運(yùn)行,在單道程序系統(tǒng)中的運(yùn)行情況如下:I代表輸入,用C代表計(jì)算,P代表打印程序1程序2I1C1P1I2C2P22023/2/333計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.1程序的順序執(zhí)行和特點(diǎn)順序執(zhí)行的特點(diǎn):程序執(zhí)行的順序性:前一步完才做下一步;程序運(yùn)行時(shí)對(duì)資源的獨(dú)占性:沒有其它程序與之爭奪資源程序結(jié)果的可再現(xiàn)性:程序執(zhí)行的結(jié)果與執(zhí)行速度、時(shí)間無關(guān)。程序結(jié)果的封閉性:程序的運(yùn)行只由初始條件和程序本身來確定。2023/2/334計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.1程序的順序執(zhí)行和特點(diǎn)優(yōu)點(diǎn):系統(tǒng)管理簡單缺點(diǎn):使系統(tǒng)的資源得不到充分的利用。中斷和通道技術(shù)的引入2023/2/335計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.2程序的并發(fā)執(zhí)行和特點(diǎn)程序的并發(fā)執(zhí)行:一道程序不用某一系統(tǒng)資源,另一道程序就可以馬上利用多道程序并發(fā)執(zhí)行的情形:宏觀:同時(shí)駐留在主存的幾道程序都按照自己的程序規(guī)定動(dòng)作執(zhí)行;微觀:是這幾道程序交替執(zhí)行;PQR并發(fā)執(zhí)行區(qū)2023/2/336計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.2程序的并發(fā)執(zhí)行和特點(diǎn)例如:I1、C1、P1的執(zhí)行必須嚴(yán)格按照I1,C1,P1的順序,而P1與I2,C1與I2,I3與P1是可以同時(shí)執(zhí)行的。2023/2/337計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.2.2程序的并發(fā)執(zhí)行和特點(diǎn)程序的并發(fā)執(zhí)行的特點(diǎn):程序執(zhí)行時(shí)的資源共享性:硬資源、軟件資源(系統(tǒng)軟件、數(shù)據(jù));程序失去了封閉性和可再現(xiàn)性:舉例并發(fā)程序之間的相互制約性:共享系統(tǒng)內(nèi)的資源,因此程序之間產(chǎn)生相互制約關(guān)系。并發(fā)程序活動(dòng)規(guī)律:執(zhí)行—暫?!獔?zhí)行程序:靜態(tài)概念(難于描述動(dòng)態(tài)系統(tǒng))進(jìn)程2023/2/338計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組例:Varn:integer{設(shè)置一個(gè)共享變量}

beginn:=0;{變量n初值為0}

cobegin{進(jìn)入并發(fā)執(zhí)行}

programA;beginL1:n:=n+1;{程序A每次對(duì)n+1}gotoL1{無限循環(huán)}

end

programB;beginL2:print(n);{程序B每次打印值}

n:=0;{并將n置為0}

gotoL2{無限循環(huán)}

endcoend{并發(fā)結(jié)束}

end2023/2/339計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3進(jìn)程2.3.1進(jìn)程的概念2.3.2進(jìn)程的實(shí)體2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換2.3.4進(jìn)程的控制2.3.5進(jìn)程的調(diào)度進(jìn)程的引入:程序的缺點(diǎn):無法表示系統(tǒng)的動(dòng)態(tài)特性,如:兩個(gè)用戶同時(shí)執(zhí)行CC編譯自己的程序,某時(shí)刻程序的執(zhí)行狀態(tài)難以刻畫(運(yùn)行、就緒、等待?)。引入進(jìn)程(程序+處理對(duì)象)可表示執(zhí)行動(dòng)態(tài)特性。2023/2/340計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.1進(jìn)程的概念進(jìn)程的六種理解方法(任務(wù)、活動(dòng))任何一個(gè)處于執(zhí)行的程序??梢院蛣e的計(jì)算并發(fā)執(zhí)行的計(jì)算。程序及其數(shù)據(jù)在處理器上順序執(zhí)行時(shí)的活動(dòng)。抽象實(shí)體,當(dāng)它執(zhí)行一個(gè)任務(wù)時(shí),將要分配和釋放各種資源。獨(dú)立的可以調(diào)度的活動(dòng)。具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。

2023/2/341計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.1進(jìn)程的概念進(jìn)程的定義(程序段+數(shù)據(jù))能和其它程序并行執(zhí)行的程序段在某數(shù)據(jù)集合上的一次運(yùn)行過程,它是系統(tǒng)資源分配和調(diào)度的一個(gè)獨(dú)立單位。注意的問題:程序段可以并行執(zhí)行。(并發(fā)性)基礎(chǔ)是一個(gè)程序段,而不是整個(gè)程序。程序段在數(shù)據(jù)上的一次運(yùn)行(某數(shù)據(jù)集合上的運(yùn)行)動(dòng)態(tài)的,是程序的一次執(zhí)行過程。(動(dòng)態(tài)性)能獨(dú)立運(yùn)行的基本單位。(獨(dú)立性)2023/2/342計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.1進(jìn)程的概念進(jìn)程和程序的區(qū)別:進(jìn)程是一段程序的一次運(yùn)行活動(dòng):動(dòng)態(tài)概念;有一定“生命期”。程序是一組指令的集合:靜態(tài)概念程序段運(yùn)行在兩個(gè)不同數(shù)據(jù)集合上,就是兩個(gè)不同的進(jìn)程;一個(gè)程序可以對(duì)應(yīng)多個(gè)進(jìn)程;一個(gè)進(jìn)程至少要對(duì)應(yīng)一個(gè)程序,或?qū)?yīng)多個(gè)程序,多個(gè)進(jìn)程也可對(duì)應(yīng)相同的程序。進(jìn)程具有并行特征(獨(dú)立性和異步性)進(jìn)程是資源分配的基本單位例子:光盤(CD、VCD)光盤(程序)放光盤的活動(dòng)(進(jìn)程)2023/2/343計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.1進(jìn)程的概念進(jìn)程與作業(yè)的關(guān)系:

作業(yè)是用戶向計(jì)算機(jī)提交任務(wù)的實(shí)體,進(jìn)程是完成任務(wù)的實(shí)體作業(yè)可由多個(gè)進(jìn)程組成(至少一個(gè)),反之不然作業(yè)主要存在于批處理系統(tǒng),而進(jìn)程可存在于所有形式的操作系統(tǒng)中。2023/2/344計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體1、進(jìn)程的組成程序:進(jìn)程→完整的程序、一部分程序;數(shù)據(jù)集合:運(yùn)行需要的數(shù)據(jù)、工作區(qū)域;進(jìn)程控制塊(PCB):描述和標(biāo)志進(jìn)程(創(chuàng)建進(jìn)程時(shí),建立PCB;完成任務(wù)被撤銷時(shí),撤銷PCB。)物質(zhì)基礎(chǔ)純代碼(pure)它在執(zhí)行中自身不改變。也稱為可重入(Reentry);享用該程序的各進(jìn)程應(yīng)提供工作區(qū)。2023/2/345計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體進(jìn)程控制塊

PCB(ProcessControlBlock)

存放進(jìn)程的管理和控制信息(標(biāo)識(shí)信息,說明信息,現(xiàn)場信息,管理信息)的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程控制塊。在創(chuàng)建進(jìn)程時(shí),建立PCB,并伴隨進(jìn)程運(yùn)行的全過程,直到進(jìn)程撤消而撤消。PCB就象我們的戶口表。標(biāo)識(shí)說明現(xiàn)場2023/2/346計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體2.PCB的組織方式(為了管理上的方便)線性方式:所有的PCB組成一個(gè)數(shù)組;鏈接方式:運(yùn)行隊(duì)列、就緒隊(duì)列、阻塞隊(duì)列;索引方式:建立N張索引表。例如就緒索引表、阻塞索引表等。

2023/2/347計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體線性方式PCB使用一個(gè)數(shù)組來組織和保存通過下標(biāo)訪問PCB缺點(diǎn):找到某一狀態(tài)的PCB,需要掃描整個(gè)線性表;PCBPCBPCB……PCB2023/2/348計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體鏈接方式將具有相同狀態(tài)的PCB,使用鏈表的形式組成一個(gè)隊(duì)列;系統(tǒng)使用固定單元,保存各隊(duì)列的第一個(gè)PCB的起始地址;隊(duì)列類型:運(yùn)行隊(duì)列(多處理機(jī))、就緒隊(duì)列、阻塞隊(duì)列;2023/2/349計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體運(yùn)行隊(duì)列就緒隊(duì)列阻塞隊(duì)列2023/2/350計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.2進(jìn)程的實(shí)體索引方式還是使用統(tǒng)一的隊(duì)列存放PCB;根據(jù)所有進(jìn)程狀態(tài),建立N張索引表;索引表的首地址記錄于內(nèi)存中的專用單元中;2023/2/351計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換1.

進(jìn)程的三種基本狀態(tài)進(jìn)程:動(dòng)態(tài)的概念,表示了執(zhí)行過程。(生命期)為了便于管理:對(duì)進(jìn)程的不同時(shí)刻的不同狀況,進(jìn)行劃分;三種基本狀態(tài)(按照對(duì)資源的占用情況)就緒狀態(tài):執(zhí)行狀態(tài):阻塞狀態(tài):2023/2/352計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換(1)就緒狀態(tài)進(jìn)程其它全部資源;但不能占用CPU;一旦獲得CPU就可以執(zhí)行;(2)執(zhí)行狀態(tài)已獲得必要的資源并占有CPU,正在執(zhí)行;單處理器系統(tǒng):只能有一個(gè)進(jìn)程處于執(zhí)行狀態(tài)多機(jī)處理系統(tǒng):可能有多個(gè)進(jìn)程處于執(zhí)行狀態(tài)(3)阻塞(等待)狀態(tài)進(jìn)程因等待某一事件而暫不能執(zhí)行的狀態(tài);是等待除CPU外的資源或事件。CPU是一類特殊的資源2023/2/353計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換狀態(tài)的細(xì)分(為了管理和調(diào)度的便利,如PDP11的UNIX)運(yùn)行狀態(tài)(執(zhí)行、就緒狀態(tài)):高優(yōu)先級(jí)睡眠狀態(tài):低優(yōu)先級(jí)睡眠狀態(tài):創(chuàng)建進(jìn)程狀態(tài):正在被創(chuàng)建時(shí)等待終止處理狀態(tài):運(yùn)行結(jié)束未撤消時(shí)暫停狀態(tài):被跟蹤時(shí)本質(zhì):在三態(tài)的基礎(chǔ)上再分。等待或阻塞狀態(tài)2023/2/354計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換2.進(jìn)程狀態(tài)的轉(zhuǎn)換(運(yùn)行過程中)產(chǎn)生的原因:自身的進(jìn)展情況與其它進(jìn)程并發(fā)執(zhí)行外界條件的變化2023/2/355計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換就緒狀態(tài)執(zhí)行狀態(tài)阻塞狀態(tài)資源滿足且獲得CPU(選中)

時(shí)間片用完(落選)等待事件已發(fā)生(資源得到滿足)

等待事件發(fā)生(等待資源)狀態(tài)轉(zhuǎn)換2023/2/356計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.3進(jìn)程狀態(tài)和轉(zhuǎn)換UNIX中的實(shí)際例子等待終止處理狀態(tài)占有處理器

睡眠狀態(tài)高優(yōu)先級(jí)低優(yōu)先級(jí)睡眠睡眠等待處理器暫停退出調(diào)度睡眠喚醒停止跟蹤跟蹤2023/2/357計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制進(jìn)程是有生命周期的,產(chǎn)生、運(yùn)行、暫停、終止。對(duì)進(jìn)程的這些操作叫進(jìn)程控制。進(jìn)程控制的職責(zé)是對(duì)系統(tǒng)中全部進(jìn)程實(shí)施有效的管理,它是處理機(jī)管理的部分(另一部分是進(jìn)程調(diào)度),當(dāng)系統(tǒng)允許多進(jìn)程并發(fā)執(zhí)行時(shí),為了實(shí)現(xiàn)共享、協(xié)調(diào)并發(fā)進(jìn)程的關(guān)系,處理機(jī)管理必須提供對(duì)進(jìn)程實(shí)行有效的管理。2023/2/358計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制問題:進(jìn)程的三態(tài)和轉(zhuǎn)換,如何控制它們的進(jìn)行:如何對(duì)進(jìn)程的整個(gè)生命期進(jìn)行控制:創(chuàng)建、撤消進(jìn)程控制的主要任務(wù):對(duì)系統(tǒng)中所有進(jìn)程從創(chuàng)建到消亡的全過程實(shí)行有效地管理和控制。包括對(duì)進(jìn)程狀態(tài)變化加以管理和控制;創(chuàng)建新進(jìn)程和撤消已完成任務(wù)的進(jìn)程;2023/2/359計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制進(jìn)程控制包括:

進(jìn)程創(chuàng)建、

進(jìn)程撤消、

進(jìn)程阻塞、

進(jìn)程喚醒。

這些操作都要對(duì)應(yīng)地執(zhí)行一個(gè)特殊的程序段(操作系統(tǒng)核心程序),同時(shí)系統(tǒng)也通過系統(tǒng)調(diào)用給用戶提供進(jìn)程控制的功能。教材上叫原語(一種特殊的系統(tǒng)調(diào)用)。

原語:

用于完成特定功能的一段程序模塊;執(zhí)行期間不可分割。2023/2/360計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制運(yùn)行狀態(tài)

等待狀態(tài)

進(jìn)程阻塞等待狀態(tài)

就緒狀態(tài)

進(jìn)程喚醒新建進(jìn)程置為就緒狀態(tài)進(jìn)程創(chuàng)建進(jìn)程終止(消亡)

進(jìn)程撤消就緒狀態(tài)

運(yùn)行狀態(tài)

進(jìn)程調(diào)度2023/2/361計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制OS的內(nèi)核中,用于進(jìn)程控制的原語創(chuàng)建原語撤銷原語阻塞原語喚醒原語對(duì)應(yīng)進(jìn)程的建立和撤消對(duì)應(yīng)進(jìn)程狀態(tài)轉(zhuǎn)換使進(jìn)程在等待和就緒態(tài)之間轉(zhuǎn)換2023/2/362計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制1.創(chuàng)建原語-用于建立新的進(jìn)程。建立進(jìn)程的兩種方式-由操作系統(tǒng)建立;-由其它進(jìn)程創(chuàng)建一個(gè)新的進(jìn)程;形成父子進(jìn)程關(guān)系建立過程AB1B2C1C2C32023/2/363計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制創(chuàng)建過程填寫相關(guān)信息申請PCB,分配惟一的數(shù)字標(biāo)示符c調(diào)入程序設(shè)置為就緒狀態(tài)2023/2/364計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制2.撤消原語完成任務(wù)后,釋放它所占用的資源;實(shí)質(zhì):撤消進(jìn)程存在標(biāo)志(進(jìn)程控制塊PCB)并釋放資源包括子孫進(jìn)程2023/2/365計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制進(jìn)程撤銷過程檢索該進(jìn)程PCB從相應(yīng)隊(duì)列刪除查找所有的子孫進(jìn)程釋放這些進(jìn)程的資源包括PCB如進(jìn)程原來為執(zhí)行狀態(tài)重新調(diào)度進(jìn)程執(zhí)行2023/2/366計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制3.阻塞原語使用原因:因缺乏資源、等待I/O操作(也是資源的一種形式)等,而使用;使用目的:阻塞自己,進(jìn)入阻塞態(tài),使OS可以調(diào)度別的進(jìn)程進(jìn)入執(zhí)行態(tài)。2023/2/367計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制阻塞過程保存當(dāng)前進(jìn)程的現(xiàn)場設(shè)置進(jìn)程狀態(tài)為等待進(jìn)程進(jìn)入阻塞隊(duì)列轉(zhuǎn)進(jìn)程調(diào)度選擇一個(gè)就緒態(tài)進(jìn)程執(zhí)行例如,進(jìn)程是因等待打印機(jī)而進(jìn)入阻塞狀態(tài),則該進(jìn)程將加入到等待打印機(jī)的隊(duì)列。進(jìn)程掛起的系統(tǒng)調(diào)用算法和隊(duì)列變化如下:2023/2/368計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制4.喚醒原語使用條件:某個(gè)資源得到滿足目的:喚醒所有等待該資源的進(jìn)程,放入就緒隊(duì)列,等待調(diào)度;喚醒過程:從等待隊(duì)列中摘下進(jìn)程設(shè)置進(jìn)程狀態(tài)為就緒進(jìn)程進(jìn)入就緒隊(duì)列轉(zhuǎn)進(jìn)程調(diào)度或返回原進(jìn)程2023/2/369計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.4進(jìn)程控制注意的問題:創(chuàng)建原語和撤消原語阻塞原語和喚醒原語分別都是一對(duì)相對(duì)的操作原語使用時(shí),要注意成對(duì)的使用。2023/2/370計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度(處理器調(diào)度)前面:進(jìn)程的三態(tài)進(jìn)程操作中的幾個(gè)原語控制狀態(tài)轉(zhuǎn)換沒有解決的:就緒態(tài)→執(zhí)行態(tài)按什么策略轉(zhuǎn)換本節(jié):按照什么樣的策略進(jìn)行就緒態(tài)→執(zhí)行態(tài)的調(diào)度產(chǎn)生的原因:系統(tǒng)資源有限用戶進(jìn)程數(shù)往往多于處理器數(shù)目;不可能同時(shí)執(zhí)行同時(shí),處理器是計(jì)算機(jī)中的一類最特殊的資源。2023/2/371計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度調(diào)度的層次(三級(jí))高級(jí)調(diào)度(宏調(diào)度或作業(yè)調(diào)度)作業(yè):用戶在一次計(jì)算或處理過程中,要求計(jì)算機(jī)所做的一系列工作的集合。高級(jí)調(diào)度(宏調(diào)度或作業(yè)調(diào)度):按某種原則從外存的后備作業(yè)中,選一個(gè)或幾個(gè)進(jìn)入內(nèi)存,并為其運(yùn)行做好有關(guān)準(zhǔn)備工作;將作業(yè)變?yōu)橐粋€(gè)或一組進(jìn)程,分配必要的資源,進(jìn)入就緒隊(duì)列。批處理系統(tǒng)中用分時(shí)系統(tǒng)不用2023/2/372計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度(處理器調(diào)度)中級(jí)調(diào)度:內(nèi)外存之間的進(jìn)程對(duì)換,將內(nèi)存中處于等待態(tài)的進(jìn)程調(diào)到外存對(duì)換區(qū),將對(duì)換區(qū)中處于就緒態(tài)的進(jìn)程調(diào)到內(nèi)存,解決內(nèi)存緊張問題。用“掛起”和“解掛”命令調(diào)整系統(tǒng)負(fù)荷。低級(jí)調(diào)度:微調(diào)度或進(jìn)程調(diào)度

決定就緒隊(duì)列中哪個(gè)進(jìn)程將獲得處理器;常駐內(nèi)存,執(zhí)行頻率很高,幾十毫秒一次批處理系統(tǒng)分時(shí)系統(tǒng)都用2023/2/373計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度調(diào)度的功能(由調(diào)度程序來實(shí)現(xiàn))保護(hù)執(zhí)行進(jìn)程的現(xiàn)場(程序狀態(tài)寄存器、指令計(jì)數(shù)器、通用寄存器)查詢、登記和更新PCB的相應(yīng)項(xiàng),選擇合適的進(jìn)程執(zhí)行(進(jìn)入執(zhí)行態(tài))恢復(fù)被調(diào)度到的進(jìn)程的原來現(xiàn)場;讓被選中的進(jìn)程繼續(xù)執(zhí)行。2023/2/374計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度調(diào)度的方式指把CPU分配給進(jìn)程后,它能占用多長時(shí)間。兩種方式剝奪式(搶占式):可以強(qiáng)行將CPU的控制權(quán)從當(dāng)前進(jìn)程轉(zhuǎn)給其它進(jìn)程。優(yōu)先級(jí)原則、短進(jìn)程原則、時(shí)間片原則非剝奪式(非搶占式):只能由該進(jìn)程主動(dòng)出讓CPU控制權(quán);優(yōu)點(diǎn):簡單,系統(tǒng)開銷小。缺點(diǎn):不能及時(shí)處理緊急任務(wù)。2023/2/375計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度

進(jìn)程調(diào)度算法直接影響到操作系統(tǒng)的適用環(huán)境和工作效率;對(duì)不同的系統(tǒng)及系統(tǒng)目標(biāo),有不同的調(diào)度算法;常用的算法時(shí)間片輪轉(zhuǎn)法(分時(shí)系統(tǒng))就緒態(tài)的進(jìn)程輪流占用CPU執(zhí)行一定的時(shí)間(時(shí)間片);時(shí)間片按順序賦予就緒隊(duì)列中的每一個(gè)進(jìn)程;規(guī)定時(shí)間片內(nèi)未執(zhí)行完畢,也必須釋放CPU;。。。CPU完成2023/2/376計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度優(yōu)先級(jí)調(diào)度(批處理系統(tǒng)和實(shí)時(shí)系統(tǒng))處理器分配給就緒隊(duì)列中最高優(yōu)先級(jí)的進(jìn)程;關(guān)鍵在于如何確定進(jìn)程的優(yōu)先級(jí):靜態(tài)優(yōu)先級(jí):在進(jìn)程創(chuàng)建時(shí)即被確定的,不變化;確定優(yōu)先級(jí)的依據(jù):進(jìn)程類型對(duì)資源的需求用戶要求動(dòng)態(tài)優(yōu)先級(jí):按某種原則不斷修改進(jìn)程的優(yōu)先級(jí);占用CPU時(shí)間的長短:長的優(yōu)先級(jí)別低等待處理器時(shí)間的長短:長的優(yōu)先級(jí)別高簡單,不精確易形成獨(dú)占調(diào)節(jié)性能好復(fù)雜,開銷大2023/2/377計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度多重隊(duì)列輪換法把時(shí)間片輪轉(zhuǎn)法中的單就緒隊(duì)列→雙就緒隊(duì)列或多就緒隊(duì)列,賦每個(gè)隊(duì)列以不同的優(yōu)先權(quán);調(diào)度順序:先高優(yōu)先權(quán)的進(jìn)程,后低優(yōu)先權(quán)的進(jìn)程。2023/2/378計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.3.5進(jìn)程調(diào)度特點(diǎn)每個(gè)就緒隊(duì)列按“先來先服務(wù)”的原則獲得CPU;隊(duì)列之間的關(guān)系:優(yōu)先序數(shù)小者優(yōu)先。優(yōu)先序數(shù)的確定:優(yōu)先權(quán)高優(yōu)先序數(shù)小時(shí)間片長優(yōu)先序數(shù)大進(jìn)程用完時(shí)間片后未完成,排入下一級(jí)就緒隊(duì)列中;阻塞的進(jìn)程轉(zhuǎn)為就緒狀態(tài)時(shí),安排在序數(shù)較?。▋?yōu)先級(jí)高)的就緒隊(duì)列中;調(diào)度總是先調(diào)度序數(shù)較小隊(duì)列中的進(jìn)程;2023/2/379計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4線程首先先分析進(jìn)程的局限性線程的特性線程和進(jìn)程的關(guān)系線程的實(shí)現(xiàn)2023/2/380計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入線程是對(duì)程序并發(fā)機(jī)制的進(jìn)一步改善。引入的理由為:原并發(fā)機(jī)制是建立在進(jìn)程基礎(chǔ)上,當(dāng)有并發(fā)進(jìn)程搶占CPU時(shí)需進(jìn)行進(jìn)程上下文的切換,代價(jià)高。改善后并發(fā)機(jī)制是建立在線程基礎(chǔ)上的,線程調(diào)度時(shí)不發(fā)生進(jìn)程上下文的切換,可省去CPU的時(shí)間。引入線程后原有進(jìn)程的兩個(gè)特征分別處理——操作系統(tǒng)的調(diào)度分配單位用線程描述;資源的分配單位仍用進(jìn)程。2023/2/381計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入線程:進(jìn)程中的一個(gè)實(shí)體,比進(jìn)程更小的獨(dú)立運(yùn)行的基本單位;(不獨(dú)立擁有資源)進(jìn)程內(nèi)的基本調(diào)度單位。2023/2/382計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入線程的屬性四部分組成:惟一的標(biāo)識(shí)符、狀態(tài)寄存器兩個(gè)棧、私用存儲(chǔ)器被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位;本身很小,調(diào)度開銷小。線程可以創(chuàng)建和撤消另一個(gè)線程;同一個(gè)進(jìn)程中的線程可以并發(fā)執(zhí)行;不同進(jìn)程中的線程也能并發(fā)執(zhí)行;PCB用戶地址空間用戶棧核心棧進(jìn)程2023/2/383計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入PCB用戶地址空間線程1線程控制塊用戶棧核心棧線程控制塊用戶棧核心棧線程控制塊用戶棧核心棧線程控制塊用戶棧核心棧線程控制塊用戶棧核心棧線程控制塊用戶棧核心棧線程2線程3多線程:2023/2/384計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入引入線程后的優(yōu)勢:1)在已有進(jìn)程中創(chuàng)建或終止一個(gè)線程遠(yuǎn)比控制進(jìn)程來得快2)線程間的切換更容易更快捷3)線程間的通信無須內(nèi)核干涉可直接進(jìn)行2023/2/385計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入線程和進(jìn)程的關(guān)系線程:進(jìn)程內(nèi)的一個(gè)執(zhí)行單元;進(jìn)程至少有一個(gè)線程;它們共享進(jìn)程的地址空間;進(jìn)程:有自己獨(dú)立的地址空間;進(jìn)程:資源分配和擁有的單位;線程:同一個(gè)進(jìn)程內(nèi)的線程共享進(jìn)程的資源;進(jìn)程:不是處理器調(diào)度的基本單位;線程:成為處理器調(diào)度的基本單位;進(jìn)程:之間并發(fā)執(zhí)行;線程:之間并發(fā)執(zhí)行;地址空間資源擁有調(diào)度單位執(zhí)行方式同樣有三態(tài)轉(zhuǎn)換和創(chuàng)建和終止2023/2/386計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.1線程的引入進(jìn)程、線程、程序、純程序概念比較程序:靜態(tài)的概念,無并發(fā)性;進(jìn)程和線程:動(dòng)態(tài)的概念,有并發(fā)性;進(jìn)程:程序段+數(shù)據(jù)集擁有資源,有自己獨(dú)立的地址空間;線程:不獨(dú)占資源,共享進(jìn)程資源,無獨(dú)立地址空間純程序:只有程序,本身無資源,調(diào)用程序提供數(shù)據(jù)區(qū)。2023/2/387計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組系統(tǒng)中進(jìn)程與線程的表現(xiàn)形式可以是多樣的:2023/2/388計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組線程的狀態(tài)與管理

線程三種基本狀態(tài)(1)就緒狀態(tài):表示線程已具備執(zhí)行條件,等待調(diào)度程序分配CPU運(yùn)行。(2)運(yùn)行狀態(tài):表示線程被調(diào)度程序選中,并正占有CPU運(yùn)行。(3)等待狀態(tài):表示線程正在等待某個(gè)事件發(fā)生。2023/2/389計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組線程的狀態(tài)與操作

就緒執(zhí)行阻塞結(jié)束派生調(diào)度結(jié)束阻塞激活2023/2/390計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組Java運(yùn)行時(shí)系統(tǒng)(Javarun-timesystem)的線程狀態(tài)及轉(zhuǎn)換

Java線程的狀態(tài)與操作新線程可運(yùn)行阻塞死亡newstart()resume()stop()exit()sleep()suspend()I/O2023/2/391計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組線程的典型應(yīng)用場合

前后并行工作場合:如,表處理

異步處理工作場合:如,設(shè)置一個(gè)備份線程,它每隔一分鐘把RAM緩沖區(qū)的數(shù)據(jù)和信息寫入磁盤

需要加快執(zhí)行速度的場合:如,一個(gè)線程在計(jì)算一批數(shù)據(jù)時(shí)另一個(gè)線程可以從設(shè)備上輸入下一批數(shù)據(jù),從而加快進(jìn)程的執(zhí)行速度

組織復(fù)雜工作的程序:如,多個(gè)不同的任務(wù)需要處理,多線程機(jī)制可方便程序的設(shè)計(jì)和組織,且可提高整個(gè)系統(tǒng)效率。同時(shí)有多個(gè)用戶服務(wù)請求的場合:如,文件服務(wù)器2023/2/392計(jì)算機(jī)科學(xué)系操作系統(tǒng)課程組2.4.2線程的實(shí)現(xiàn)兩種方式:1.內(nèi)核支持線程的實(shí)現(xiàn)2.用戶級(jí)線程的實(shí)現(xiàn)1.內(nèi)核支持線程的實(shí)現(xiàn)由OS內(nèi)核管理:創(chuàng)建、撤消和切換內(nèi)核提供相應(yīng)的系統(tǒng)調(diào)用和API,用戶程序可以創(chuàng)建、執(zhí)行和撤消線程

內(nèi)核中保留了一個(gè)線程控制塊(TCB);調(diào)度算法和進(jìn)程類似,搶占式和非搶占

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論