




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 宋宋 紅紅 Fall 2013Lecture 5: 進(jìn)程的控制與調(diào)度進(jìn)程的控制與調(diào)度目的與要求目的與要求: :了解進(jìn)程控制的基本原語;理解進(jìn)程了解進(jìn)程控制的基本原語;理解進(jìn)程切換過程切換過程; ;理解進(jìn)程調(diào)度原因及調(diào)度切換時(shí)機(jī)理解進(jìn)程調(diào)度原因及調(diào)度切換時(shí)機(jī); ;掌掌握進(jìn)程調(diào)度方式與實(shí)現(xiàn)及各種調(diào)度算法握進(jìn)程調(diào)度方式與實(shí)現(xiàn)及各種調(diào)度算法; ;弄清作業(yè)弄清作業(yè)和進(jìn)程的關(guān)系;了解線程的引入原因。和進(jìn)程的關(guān)系;了解線程的引入原因。重點(diǎn)與難點(diǎn):重點(diǎn)與難點(diǎn):進(jìn)程調(diào)度切換的實(shí)現(xiàn)與多級(jí)反饋進(jìn)進(jìn)程調(diào)度切換的實(shí)現(xiàn)與多級(jí)反饋進(jìn)程調(diào)度算法。程調(diào)度算法。進(jìn)程控制進(jìn)程控制l進(jìn)程控制:進(jìn)程控制:是指系統(tǒng)使用一些具有特定功能
2、的程序是指系統(tǒng)使用一些具有特定功能的程序段來創(chuàng)建、撤消進(jìn)程,以及完成進(jìn)程各狀態(tài)之間的段來創(chuàng)建、撤消進(jìn)程,以及完成進(jìn)程各狀態(tài)之間的轉(zhuǎn)換。轉(zhuǎn)換。l進(jìn)程控制進(jìn)程控制是由操作是由操作系統(tǒng)系統(tǒng)內(nèi)核實(shí)現(xiàn)的。內(nèi)核實(shí)現(xiàn)的。l是屬于是屬于原語原語一級(jí)的操作,一級(jí)的操作,不能被中斷不能被中斷。l原語(原語(primitiveprimitive)由若干條機(jī)器指令構(gòu)成的可完成特定功能的程序段由若干條機(jī)器指令構(gòu)成的可完成特定功能的程序段,它是一個(gè),它是一個(gè) “ “原子操作原子操作(atomic operation)”(atomic operation)”過程,過程,作為一個(gè)整體而不可分割要么全都完成,要么作為一個(gè)整體而
3、不可分割要么全都完成,要么全都不做(類似數(shù)據(jù)庫中的全都不做(類似數(shù)據(jù)庫中的“事務(wù)事務(wù)”)。原語主要)。原語主要是通過屏蔽各種中斷保證其原子性的。是通過屏蔽各種中斷保證其原子性的。分類分類 進(jìn)程控制原語進(jìn)程控制原語 進(jìn)程通信原語進(jìn)程通信原語 進(jìn)程管理原語進(jìn)程管理原語 其他方面的原語其他方面的原語1 1、進(jìn)程創(chuàng)建原語、進(jìn)程創(chuàng)建原語2 2、進(jìn)程撤銷原語、進(jìn)程撤銷原語3 3、進(jìn)程阻塞原語、進(jìn)程阻塞原語4 4、進(jìn)程喚醒原語、進(jìn)程喚醒原語5 5、進(jìn)程掛起原語、進(jìn)程掛起原語6 6、進(jìn)程激活原語、進(jìn)程激活原語進(jìn)程控制進(jìn)程控制引起創(chuàng)建進(jìn)程的事件:引起創(chuàng)建進(jìn)程的事件: 系統(tǒng)初始化系統(tǒng)初始化 用戶登錄用戶登錄 作業(yè)
4、調(diào)度作業(yè)調(diào)度 提供服務(wù)提供服務(wù) 應(yīng)用請(qǐng)求應(yīng)用請(qǐng)求 創(chuàng)建原語創(chuàng)建原語進(jìn)程的創(chuàng)建進(jìn)程的創(chuàng)建(Creation of Progress): 申請(qǐng)空白申請(qǐng)空白PCBPCB; 為新進(jìn)程分配資源(為新進(jìn)程分配資源(程序、數(shù)據(jù)、用戶棧分配內(nèi)存等)程序、數(shù)據(jù)、用戶棧分配內(nèi)存等); 初始化進(jìn)程控制塊初始化進(jìn)程控制塊把調(diào)用者提供的參數(shù)(進(jìn)程名、進(jìn)程優(yōu)把調(diào)用者提供的參數(shù)(進(jìn)程名、進(jìn)程優(yōu)先級(jí)、實(shí)體所在主存的起始地址、所需的資源清單及進(jìn)程先級(jí)、實(shí)體所在主存的起始地址、所需的資源清單及進(jìn)程家族關(guān)系等)填入家族關(guān)系等)填入PCB中中; 將新進(jìn)程插入就緒隊(duì)列。將新進(jìn)程插入就緒隊(duì)列。 創(chuàng)建原語創(chuàng)建原語UNIXUNIX的系統(tǒng)調(diào)用
5、的系統(tǒng)調(diào)用fork()fork()用于創(chuàng)建進(jìn)程;用于創(chuàng)建進(jìn)程;WindowsWindows中的中的Win32Win32函數(shù)調(diào)用函數(shù)調(diào)用CreateProcess( )CreateProcess( )用用于創(chuàng)建進(jìn)程。于創(chuàng)建進(jìn)程。引起進(jìn)程撤銷引起進(jìn)程撤銷(Termination of Process)(Termination of Process)的事件:的事件: l正常結(jié)束正常結(jié)束 如任務(wù)完成、用戶退出等;如任務(wù)完成、用戶退出等;l異常結(jié)束異常結(jié)束 如越界錯(cuò)誤、算術(shù)運(yùn)算錯(cuò)誤、如越界錯(cuò)誤、算術(shù)運(yùn)算錯(cuò)誤、I/OI/O異常等;異常等;l外界干預(yù)外界干預(yù) 如遇到死鎖情況下,操作員或操作系統(tǒng)干預(yù);父如遇到
6、死鎖情況下,操作員或操作系統(tǒng)干預(yù);父進(jìn)程終止等。進(jìn)程終止等。撤消原語撤消原語進(jìn)程的撤銷過程:進(jìn)程的撤銷過程: 根據(jù)被終止進(jìn)程的標(biāo)識(shí)符,從根據(jù)被終止進(jìn)程的標(biāo)識(shí)符,從PCBPCB集合中檢索出該進(jìn)程的集合中檢索出該進(jìn)程的PCBPCB,從中讀出該進(jìn)程的狀態(tài)。從中讀出該進(jìn)程的狀態(tài)。 若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,并置調(diào)度標(biāo)志為真,用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)并置調(diào)度標(biāo)志為真,用于指示該進(jìn)程被終止后應(yīng)重新進(jìn)行調(diào)度。度。 若該進(jìn)程還有子孫進(jìn)程,還應(yīng)將其所有子孫進(jìn)程予以終止,若該進(jìn)程還有子孫進(jìn)程,還應(yīng)將其所有子孫進(jìn)程予以終止,以防
7、他們成為不可控的進(jìn)程。以防他們成為不可控的進(jìn)程。 將被終止進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程,將被終止進(jìn)程所擁有的全部資源,或者歸還給其父進(jìn)程, 或或者歸還給系統(tǒng)。者歸還給系統(tǒng)。將被終止進(jìn)程將被終止進(jìn)程( (它的它的PCB)PCB)從所在隊(duì)列從所在隊(duì)列( (或鏈表或鏈表) )中移出,中移出, 等待其等待其他程序來搜集信息。他程序來搜集信息。 撤消原語撤消原語 UNIX UNIX中用中用exit( )exit( )實(shí)現(xiàn)進(jìn)程撤銷實(shí)現(xiàn)進(jìn)程撤銷; ;在在UNIXUNIX系統(tǒng)中,子系統(tǒng)中,子進(jìn)程調(diào)用進(jìn)程調(diào)用exit()exit()后,處于后,處于zombiezombie狀態(tài),進(jìn)程管理器在父狀態(tài),進(jìn)
8、程管理器在父進(jìn)程被告知子進(jìn)程結(jié)束之前不會(huì)釋放其進(jìn)程被告知子進(jìn)程結(jié)束之前不會(huì)釋放其PCBPCB。在父進(jìn)。在父進(jìn)程執(zhí)行了針對(duì)結(jié)束子進(jìn)程的程執(zhí)行了針對(duì)結(jié)束子進(jìn)程的wait()wait()系統(tǒng)調(diào)用后,處于系統(tǒng)調(diào)用后,處于zombiezombie狀態(tài)的子進(jìn)程才真正結(jié)束。狀態(tài)的子進(jìn)程才真正結(jié)束。 Windows Windows 用用ExitProcess( )ExitProcess( )實(shí)現(xiàn)進(jìn)程撤銷。實(shí)現(xiàn)進(jìn)程撤銷。引起進(jìn)程阻塞的事件:引起進(jìn)程阻塞的事件: l 請(qǐng)求系統(tǒng)服務(wù)請(qǐng)求系統(tǒng)服務(wù) 如等待鍵盤輸入等;如等待鍵盤輸入等;l 啟動(dòng)某種操作啟動(dòng)某種操作 如等待如等待I/OI/O處理完成等;處理完成等;l 新數(shù)
9、據(jù)尚未到達(dá)新數(shù)據(jù)尚未到達(dá) 如等待其它進(jìn)程發(fā)送一個(gè)信息。如等待其它進(jìn)程發(fā)送一個(gè)信息。阻塞原語阻塞原語進(jìn)程阻塞過程:進(jìn)程阻塞過程: 進(jìn)程通過調(diào)用阻塞原語進(jìn)程通過調(diào)用阻塞原語blockblock把自己阻塞,由運(yùn)行態(tài)變把自己阻塞,由運(yùn)行態(tài)變?yōu)樽枞麘B(tài);為阻塞態(tài); 中斷中斷CPUCPU,將其運(yùn)行現(xiàn)場(chǎng)保存在其,將其運(yùn)行現(xiàn)場(chǎng)保存在其PCBPCB中;中; 置狀態(tài)為阻塞態(tài),插入相應(yīng)事件的阻塞隊(duì)列中;置狀態(tài)為阻塞態(tài),插入相應(yīng)事件的阻塞隊(duì)列中;轉(zhuǎn)進(jìn)程調(diào)度。轉(zhuǎn)進(jìn)程調(diào)度。阻塞原語阻塞原語喚醒原語喚醒原語 當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí),若進(jìn)程等當(dāng)被阻塞進(jìn)程所期待的事件出現(xiàn)時(shí),若進(jìn)程等待的事件是待的事件是I/OI/O完成。
10、完成。I/OI/O完成后,完成后,CPUCPU響應(yīng)中響應(yīng)中斷,在斷,在中斷處理中斷處理中,將等待中,將等待I/OI/O完成而阻塞的完成而阻塞的進(jìn)程喚醒,并置為就緒態(tài)。進(jìn)程喚醒,并置為就緒態(tài)。 若等待某進(jìn)程發(fā)信息。由若等待某進(jìn)程發(fā)信息。由發(fā)送進(jìn)程發(fā)送進(jìn)程把該等待者把該等待者喚醒,置為就緒態(tài)。插入就緒隊(duì)列。喚醒,置為就緒態(tài)。插入就緒隊(duì)列。UNIX UNIX 阻塞阻塞/ /喚醒喚醒l Sleep()Sleep()將在指定時(shí)間內(nèi)阻塞本進(jìn)程將在指定時(shí)間內(nèi)阻塞本進(jìn)程l Pause()Pause()阻塞本進(jìn)程以等待信號(hào)。阻塞本進(jìn)程以等待信號(hào)。l Wait()Wait()阻塞本進(jìn)程以等待子進(jìn)程的結(jié)束。阻塞本進(jìn)
11、程以等待子進(jìn)程的結(jié)束。l Kill()Kill()向指定進(jìn)程或進(jìn)程組發(fā)送信號(hào)。向指定進(jìn)程或進(jìn)程組發(fā)送信號(hào)。l Wakeup()Wakeup()l 實(shí)時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng),根據(jù)實(shí)時(shí)現(xiàn)場(chǎng)的需要,會(huì)將正在,根據(jù)實(shí)時(shí)現(xiàn)場(chǎng)的需要,會(huì)將正在執(zhí)行的或沒有執(zhí)行的進(jìn)程掛起一段時(shí)間。被執(zhí)行的或沒有執(zhí)行的進(jìn)程掛起一段時(shí)間。被掛起的進(jìn)程由活動(dòng)狀態(tài)變?yōu)閽炱鸬倪M(jìn)程由活動(dòng)狀態(tài)變?yōu)殪o止?fàn)顟B(tài)靜止?fàn)顟B(tài)(靜止(靜止就緒、靜止阻塞),若被掛起的進(jìn)程正在執(zhí)就緒、靜止阻塞),若被掛起的進(jìn)程正在執(zhí)行,則轉(zhuǎn)向調(diào)度程序重新調(diào)度。行,則轉(zhuǎn)向調(diào)度程序重新調(diào)度。 l 分時(shí)系統(tǒng)分時(shí)系統(tǒng),把進(jìn)程從內(nèi)存換到,把進(jìn)程從內(nèi)存換到外存外存,進(jìn)程就,進(jìn)程就處于靜止?fàn)顟B(tài)
12、,不被調(diào)度。處于靜止?fàn)顟B(tài),不被調(diào)度。掛起原語掛起原語解掛原語解掛原語l當(dāng)掛起進(jìn)程的原因被解除時(shí),系統(tǒng)調(diào)用解掛原當(dāng)掛起進(jìn)程的原因被解除時(shí),系統(tǒng)調(diào)用解掛原語將指定的進(jìn)程解掛,使其由靜止?fàn)顟B(tài)變?yōu)榛钫Z將指定的進(jìn)程解掛,使其由靜止?fàn)顟B(tài)變?yōu)榛顒?dòng)狀態(tài)。動(dòng)狀態(tài)。l當(dāng)被解掛的進(jìn)程變?yōu)楫?dāng)被解掛的進(jìn)程變?yōu)榛顒?dòng)就緒活動(dòng)就緒時(shí),通常立即轉(zhuǎn)時(shí),通常立即轉(zhuǎn)進(jìn)程調(diào)度。進(jìn)程調(diào)度。系統(tǒng)模型:系統(tǒng)模型:內(nèi)核程序嵌入進(jìn)程運(yùn)行。內(nèi)核程序嵌入進(jìn)程運(yùn)行。執(zhí)行模式(態(tài))執(zhí)行模式(態(tài)):進(jìn)程可在用戶態(tài)和核心態(tài)下:進(jìn)程可在用戶態(tài)和核心態(tài)下運(yùn)行。運(yùn)行。進(jìn)程模式切換:進(jìn)程模式切換:一個(gè)進(jìn)程既運(yùn)行用戶態(tài)程序,一個(gè)進(jìn)程既運(yùn)行用戶態(tài)程序,在系統(tǒng)調(diào)用和中斷
13、轉(zhuǎn)換到核心態(tài)時(shí)運(yùn)行操作系在系統(tǒng)調(diào)用和中斷轉(zhuǎn)換到核心態(tài)時(shí)運(yùn)行操作系統(tǒng)核心程序。統(tǒng)核心程序。進(jìn)程切換:進(jìn)程切換:指進(jìn)程進(jìn)入操作系統(tǒng)核心后因?yàn)樽灾高M(jìn)程進(jìn)入操作系統(tǒng)核心后因?yàn)樽陨淼仁录蛴懈惹行枰\(yùn)行的進(jìn)程就緒而讓身等事件或有更迫切需要運(yùn)行的進(jìn)程就緒而讓出處理機(jī),處理機(jī)轉(zhuǎn)去運(yùn)行其它進(jìn)程。出處理機(jī),處理機(jī)轉(zhuǎn)去運(yùn)行其它進(jìn)程。進(jìn)程執(zhí)行進(jìn)程執(zhí)行進(jìn)程切換過程進(jìn)程切換過程l保存處理機(jī)的上下文,包括程序計(jì)數(shù)器保存處理機(jī)的上下文,包括程序計(jì)數(shù)器PCPC、處、處理機(jī)狀態(tài)字理機(jī)狀態(tài)字PSPS、其它寄存器。其它寄存器。l修改當(dāng)前運(yùn)行進(jìn)程的進(jìn)程控制塊內(nèi)容,包括將修改當(dāng)前運(yùn)行進(jìn)程的進(jìn)程控制塊內(nèi)容,包括將進(jìn)程狀態(tài)從運(yùn)行態(tài)改成其
14、它狀態(tài)。進(jìn)程狀態(tài)從運(yùn)行態(tài)改成其它狀態(tài)。l選擇另一個(gè)進(jìn)程執(zhí)行(選擇另一個(gè)進(jìn)程執(zhí)行(按照調(diào)度算法按照調(diào)度算法)。)。l修改被調(diào)度進(jìn)程的進(jìn)程控制塊,包括把其狀態(tài)修改被調(diào)度進(jìn)程的進(jìn)程控制塊,包括把其狀態(tài)改變到運(yùn)行態(tài)。改變到運(yùn)行態(tài)。l修改存儲(chǔ)管理數(shù)據(jù)結(jié)構(gòu),如修改進(jìn)程內(nèi)存起始修改存儲(chǔ)管理數(shù)據(jù)結(jié)構(gòu),如修改進(jìn)程內(nèi)存起始地址。地址。l恢復(fù)被選進(jìn)程上次切換出處理機(jī)時(shí)的處理機(jī)現(xiàn)恢復(fù)被選進(jìn)程上次切換出處理機(jī)時(shí)的處理機(jī)現(xiàn)場(chǎng),按原保護(hù)的程序計(jì)數(shù)器值重置程序計(jì)數(shù)器,場(chǎng),按原保護(hù)的程序計(jì)數(shù)器值重置程序計(jì)數(shù)器,運(yùn)行新選進(jìn)程。運(yùn)行新選進(jìn)程。特指選擇進(jìn)程占用處理機(jī)。特指選擇進(jìn)程占用處理機(jī)。調(diào)度的含義調(diào)度的含義什么是調(diào)度什么是調(diào)度:
15、操作系統(tǒng)管理了系統(tǒng)的有限資源,操作系統(tǒng)管理了系統(tǒng)的有限資源,當(dāng)有多個(gè)進(jìn)程(或多個(gè)進(jìn)程發(fā)出的請(qǐng)求)要使當(dāng)有多個(gè)進(jìn)程(或多個(gè)進(jìn)程發(fā)出的請(qǐng)求)要使用這些資源時(shí),因?yàn)橘Y源的有限性,必須按照用這些資源時(shí),因?yàn)橘Y源的有限性,必須按照一定的原則選擇進(jìn)程(請(qǐng)求)來占用資源。這一定的原則選擇進(jìn)程(請(qǐng)求)來占用資源。這就是調(diào)度。就是調(diào)度。 調(diào)度目的調(diào)度目的:控制資源使用者的數(shù)量控制資源使用者的數(shù)量, ,選取資源使選取資源使用者許可占用資源或占用資源用者許可占用資源或占用資源.進(jìn)程調(diào)度進(jìn)程調(diào)度幾種不同調(diào)度例子:幾種不同調(diào)度例子:l高級(jí)調(diào)度:高級(jí)調(diào)度:選取輸入井中的作業(yè)(僅限于批作業(yè)調(diào)選取輸入井中的作業(yè)(僅限于批作業(yè)
16、調(diào)度度) ),生成根進(jìn)程,開始執(zhí)行作業(yè)步。目的是控制使用,生成根進(jìn)程,開始執(zhí)行作業(yè)步。目的是控制使用系統(tǒng)資源的進(jìn)程數(shù)。系統(tǒng)資源的進(jìn)程數(shù)。l中級(jí)調(diào)度中級(jí)調(diào)度:選取進(jìn)程占用內(nèi)存或有資格占用內(nèi)存,又:選取進(jìn)程占用內(nèi)存或有資格占用內(nèi)存,又稱進(jìn)程滾入滾出。稱進(jìn)程滾入滾出。l低級(jí)調(diào)度低級(jí)調(diào)度:選取進(jìn)程占用處理機(jī):選取進(jìn)程占用處理機(jī), ,又稱進(jìn)程調(diào)度。又稱進(jìn)程調(diào)度。lI/OI/O請(qǐng)求調(diào)度請(qǐng)求調(diào)度:選?。哼x取I/OI/O請(qǐng)求執(zhí)行。請(qǐng)求執(zhí)行。進(jìn)程調(diào)度進(jìn)程調(diào)度進(jìn)程調(diào)度:就是按照一定的算法,從就緒隊(duì)列中選擇某個(gè)進(jìn)程占進(jìn)程調(diào)度:就是按照一定的算法,從就緒隊(duì)列中選擇某個(gè)進(jìn)程占用用CPUCPU的方法的方法對(duì)對(duì)CPUCPU
17、資源進(jìn)行合理的分配使用,以提高處理資源進(jìn)行合理的分配使用,以提高處理機(jī)利用率,并使各進(jìn)程公平得到處理機(jī)資源。機(jī)利用率,并使各進(jìn)程公平得到處理機(jī)資源。運(yùn)行運(yùn)行就緒就緒阻塞阻塞被調(diào)度被調(diào)度時(shí)間片用時(shí)間片用完,中斷完,中斷資源釋放或事資源釋放或事件完成件完成等待資源等待資源和事件和事件(1) (1) 記錄系統(tǒng)中各進(jìn)程的執(zhí)行狀況記錄系統(tǒng)中各進(jìn)程的執(zhí)行狀況 管理系統(tǒng)中各進(jìn)程的控制塊,將進(jìn)程的狀態(tài)變管理系統(tǒng)中各進(jìn)程的控制塊,將進(jìn)程的狀態(tài)變化及資源需求情況及時(shí)地記錄到化及資源需求情況及時(shí)地記錄到PCBPCB中。中。(2) (2) 選擇就緒進(jìn)程真正占有選擇就緒進(jìn)程真正占有CPUCPU(3) (3) 進(jìn)行進(jìn)程上
18、下文的切換進(jìn)行進(jìn)程上下文的切換 將正在執(zhí)行進(jìn)程的上下文將正在執(zhí)行進(jìn)程的上下文保存保存在該進(jìn)程的在該進(jìn)程的PCBPCB中,將剛選中進(jìn)程的運(yùn)行現(xiàn)場(chǎng)中,將剛選中進(jìn)程的運(yùn)行現(xiàn)場(chǎng)恢復(fù)恢復(fù)起來,以便起來,以便執(zhí)行。執(zhí)行。 進(jìn)程調(diào)度的功能進(jìn)程調(diào)度的功能進(jìn)程上下文進(jìn)程上下文l 用戶級(jí)上下文用戶級(jí)上下文:就是進(jìn)程的程序和數(shù)據(jù),用:就是進(jìn)程的程序和數(shù)據(jù),用戶棧。戶棧。l 寄存器級(jí)上下文寄存器級(jí)上下文:是:是CPUCPU的現(xiàn)場(chǎng)信息,包括的現(xiàn)場(chǎng)信息,包括程序計(jì)數(shù)器、程序計(jì)數(shù)器、PSWPSW、棧指針、用來保存變量、棧指針、用來保存變量和臨時(shí)結(jié)果的通用寄存器的值等。和臨時(shí)結(jié)果的通用寄存器的值等。l 系統(tǒng)級(jí)上下文系統(tǒng)級(jí)上下
19、文:包括進(jìn)程的:包括進(jìn)程的PCBPCB、核心棧核心棧等。等。為進(jìn)程設(shè)置的相應(yīng)的運(yùn)行環(huán)境和物理實(shí)體。為進(jìn)程設(shè)置的相應(yīng)的運(yùn)行環(huán)境和物理實(shí)體。 棧棧記錄進(jìn)程的執(zhí)行歷程。記錄進(jìn)程的執(zhí)行歷程。棧幀棧幀中存放有關(guān)的輸中存放有關(guān)的輸入?yún)?shù)、局部變量、過程調(diào)用完成之后的返回入?yún)?shù)、局部變量、過程調(diào)用完成之后的返回地址、沒有保存在寄存器中的臨時(shí)變量。地址、沒有保存在寄存器中的臨時(shí)變量。 通常,每個(gè)進(jìn)程會(huì)調(diào)用不同的過程,從而有一通常,每個(gè)進(jìn)程會(huì)調(diào)用不同的過程,從而有一個(gè)各自不同的執(zhí)行歷程。個(gè)各自不同的執(zhí)行歷程。:只有當(dāng)處理機(jī)上的進(jìn)程主動(dòng)放棄處理機(jī)時(shí):只有當(dāng)處理機(jī)上的進(jìn)程主動(dòng)放棄處理機(jī)時(shí)才重新調(diào)度。用在才重新調(diào)度。
20、用在批處理系統(tǒng)批處理系統(tǒng)。主要優(yōu)點(diǎn):簡(jiǎn)單、。主要優(yōu)點(diǎn):簡(jiǎn)單、系統(tǒng)開銷小。系統(tǒng)開銷小。:當(dāng)進(jìn)程運(yùn)行時(shí)可以被系統(tǒng)以某種原則剝:當(dāng)進(jìn)程運(yùn)行時(shí)可以被系統(tǒng)以某種原則剝奪其處理機(jī)。用在奪其處理機(jī)。用在分時(shí)系統(tǒng)分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng)。進(jìn)程調(diào)度在核心態(tài)進(jìn)行。進(jìn)程調(diào)度在核心態(tài)進(jìn)行。進(jìn)程1內(nèi)核調(diào)度 進(jìn)程2 內(nèi)核 調(diào)度進(jìn)程3 內(nèi)核 調(diào)度進(jìn)程1內(nèi)核調(diào)度進(jìn)程3 時(shí)間片到 I/O請(qǐng)求 時(shí)間片到時(shí)間片到時(shí)間片到處理機(jī)的執(zhí)行次序.進(jìn)程調(diào)度方式進(jìn)程調(diào)度方式引起進(jìn)程調(diào)度因素(引起進(jìn)程調(diào)度因素(3 3大類)大類): :(1 1)進(jìn)程主動(dòng)放棄處理機(jī)時(shí)進(jìn)程主動(dòng)放棄處理機(jī)時(shí):l正在執(zhí)行的進(jìn)程執(zhí)行完畢正在執(zhí)行的進(jìn)程執(zhí)行完畢。操作系統(tǒng)在
21、處理進(jìn)程結(jié)束。操作系統(tǒng)在處理進(jìn)程結(jié)束系統(tǒng)調(diào)用后應(yīng)請(qǐng)求重新調(diào)度。系統(tǒng)調(diào)用后應(yīng)請(qǐng)求重新調(diào)度。l正在執(zhí)行的進(jìn)程發(fā)出正在執(zhí)行的進(jìn)程發(fā)出I/OI/O請(qǐng)求請(qǐng)求,當(dāng)操作系統(tǒng)代其啟動(dòng),當(dāng)操作系統(tǒng)代其啟動(dòng)外設(shè)外設(shè)I/OI/O后,在后,在I/OI/O請(qǐng)求沒有完成前要將進(jìn)程變成阻塞請(qǐng)求沒有完成前要將進(jìn)程變成阻塞狀態(tài),應(yīng)該請(qǐng)求重新調(diào)度。狀態(tài),應(yīng)該請(qǐng)求重新調(diào)度。l正在執(zhí)行的進(jìn)程要等待其它進(jìn)程或系統(tǒng)發(fā)出的事件時(shí)正在執(zhí)行的進(jìn)程要等待其它進(jìn)程或系統(tǒng)發(fā)出的事件時(shí)。如等待另一個(gè)進(jìn)程通訊數(shù)據(jù),這時(shí)操作系統(tǒng)應(yīng)將現(xiàn)運(yùn)如等待另一個(gè)進(jìn)程通訊數(shù)據(jù),這時(shí)操作系統(tǒng)應(yīng)將現(xiàn)運(yùn)行進(jìn)程掛到等待隊(duì)列,并且請(qǐng)求重新調(diào)度。行進(jìn)程掛到等待隊(duì)列,并且請(qǐng)求重新調(diào)度
22、。l正在執(zhí)行的進(jìn)程暫時(shí)得不到所要的系統(tǒng)資源正在執(zhí)行的進(jìn)程暫時(shí)得不到所要的系統(tǒng)資源,如要求,如要求獨(dú)占資源,但其被其它進(jìn)程占用,這時(shí)等待的進(jìn)程應(yīng)獨(dú)占資源,但其被其它進(jìn)程占用,這時(shí)等待的進(jìn)程應(yīng)阻塞到等待隊(duì)列上,并且請(qǐng)求重新調(diào)度。阻塞到等待隊(duì)列上,并且請(qǐng)求重新調(diào)度。(2 2)為支持可剝奪的進(jìn)程調(diào)度方式,有新進(jìn)程就緒時(shí)。為支持可剝奪的進(jìn)程調(diào)度方式,有新進(jìn)程就緒時(shí)。(因?yàn)樾戮途w的進(jìn)程可能會(huì)按某種調(diào)度原則剝奪正運(yùn)(因?yàn)樾戮途w的進(jìn)程可能會(huì)按某種調(diào)度原則剝奪正運(yùn)行的進(jìn)程,因此也應(yīng)申請(qǐng)進(jìn)行進(jìn)程調(diào)度):行的進(jìn)程,因此也應(yīng)申請(qǐng)進(jìn)行進(jìn)程調(diào)度):l當(dāng)中斷處理程序處理完中斷當(dāng)中斷處理程序處理完中斷,如,如I/OI/O中斷
23、、通訊中斷,中斷、通訊中斷,引起某個(gè)阻塞進(jìn)程變成就緒狀態(tài)時(shí),應(yīng)該請(qǐng)求重新調(diào)引起某個(gè)阻塞進(jìn)程變成就緒狀態(tài)時(shí),應(yīng)該請(qǐng)求重新調(diào)度。度。l當(dāng)進(jìn)程釋放獨(dú)占資源當(dāng)進(jìn)程釋放獨(dú)占資源,引起其他等待該資源進(jìn)程從阻,引起其他等待該資源進(jìn)程從阻塞狀態(tài)進(jìn)入就緒狀態(tài)時(shí),應(yīng)該請(qǐng)求重新調(diào)度。塞狀態(tài)進(jìn)入就緒狀態(tài)時(shí),應(yīng)該請(qǐng)求重新調(diào)度。l當(dāng)進(jìn)程發(fā)系統(tǒng)調(diào)用當(dāng)進(jìn)程發(fā)系統(tǒng)調(diào)用,引起某個(gè)事件發(fā)生,導(dǎo)致等待事,引起某個(gè)事件發(fā)生,導(dǎo)致等待事件的進(jìn)程就緒時(shí),應(yīng)該請(qǐng)求重新調(diào)度。件的進(jìn)程就緒時(shí),應(yīng)該請(qǐng)求重新調(diào)度。 。l其它任何原因其它任何原因引起有進(jìn)程從其它狀態(tài)變成就緒狀態(tài),引起有進(jìn)程從其它狀態(tài)變成就緒狀態(tài),如進(jìn)程被中調(diào)選中時(shí),應(yīng)該請(qǐng)求重新調(diào)度。
24、如進(jìn)程被中調(diào)選中時(shí),應(yīng)該請(qǐng)求重新調(diào)度。(3 3)為支持可剝奪調(diào)度,即使沒有新就緒進(jìn)程為支持可剝奪調(diào)度,即使沒有新就緒進(jìn)程, ,為了為了讓所有就緒進(jìn)程輪流占用處理機(jī),可在下述情況下申讓所有就緒進(jìn)程輪流占用處理機(jī),可在下述情況下申請(qǐng)進(jìn)行進(jìn)程調(diào)度:請(qǐng)進(jìn)行進(jìn)程調(diào)度:l當(dāng)時(shí)鐘中斷發(fā)生當(dāng)時(shí)鐘中斷發(fā)生, ,時(shí)鐘中斷處理程序調(diào)用有關(guān)時(shí)間片時(shí)鐘中斷處理程序調(diào)用有關(guān)時(shí)間片的處理程序,的處理程序,發(fā)現(xiàn)正運(yùn)行進(jìn)程時(shí)間片到發(fā)現(xiàn)正運(yùn)行進(jìn)程時(shí)間片到,應(yīng)請(qǐng)求重新,應(yīng)請(qǐng)求重新調(diào)度。以便讓其他進(jìn)程占用處理機(jī)。調(diào)度。以便讓其他進(jìn)程占用處理機(jī)。l在按進(jìn)程優(yōu)先級(jí)進(jìn)行進(jìn)程調(diào)度的操作系統(tǒng)中,任何原在按進(jìn)程優(yōu)先級(jí)進(jìn)行進(jìn)程調(diào)度的操作系統(tǒng)中,任
25、何原因因引起進(jìn)程的優(yōu)先級(jí)發(fā)生變化時(shí)引起進(jìn)程的優(yōu)先級(jí)發(fā)生變化時(shí),應(yīng)請(qǐng)求重新調(diào)度。,應(yīng)請(qǐng)求重新調(diào)度。如進(jìn)程通過系統(tǒng)調(diào)用自愿改變優(yōu)先級(jí)時(shí)或者系統(tǒng)處理如進(jìn)程通過系統(tǒng)調(diào)用自愿改變優(yōu)先級(jí)時(shí)或者系統(tǒng)處理時(shí)鐘中斷時(shí),根據(jù)各進(jìn)程等待處理機(jī)的時(shí)間長(zhǎng)短而調(diào)時(shí)鐘中斷時(shí),根據(jù)各進(jìn)程等待處理機(jī)的時(shí)間長(zhǎng)短而調(diào)整進(jìn)程的優(yōu)先級(jí)。整進(jìn)程的優(yōu)先級(jí)。 進(jìn)程調(diào)度與切換時(shí)機(jī)進(jìn)程調(diào)度與切換時(shí)機(jī): :l當(dāng)發(fā)生引起調(diào)度條件,且當(dāng)前進(jìn)程無法繼續(xù)運(yùn)行當(dāng)發(fā)生引起調(diào)度條件,且當(dāng)前進(jìn)程無法繼續(xù)運(yùn)行下去時(shí)下去時(shí)(如發(fā)生各種進(jìn)程放棄處理機(jī)的條件)可以(如發(fā)生各種進(jìn)程放棄處理機(jī)的條件)可以馬上進(jìn)行調(diào)度與切換。馬上進(jìn)行調(diào)度與切換。l當(dāng)中斷處理結(jié)束或自陷處理結(jié)束
26、返回被中斷進(jìn)程當(dāng)中斷處理結(jié)束或自陷處理結(jié)束返回被中斷進(jìn)程的用戶態(tài)程序執(zhí)行前的用戶態(tài)程序執(zhí)行前,若請(qǐng)求調(diào)度標(biāo)志置上,即可,若請(qǐng)求調(diào)度標(biāo)志置上,即可馬上進(jìn)行進(jìn)程調(diào)度與切換。如果操作系統(tǒng)支持這種馬上進(jìn)行進(jìn)程調(diào)度與切換。如果操作系統(tǒng)支持這種情況下運(yùn)行調(diào)度程序,即實(shí)現(xiàn)了剝奪方式的調(diào)度。情況下運(yùn)行調(diào)度程序,即實(shí)現(xiàn)了剝奪方式的調(diào)度。l實(shí)時(shí)系統(tǒng)還有其他調(diào)度與切換時(shí)機(jī)實(shí)時(shí)系統(tǒng)還有其他調(diào)度與切換時(shí)機(jī)。異步調(diào)用接口系統(tǒng)調(diào)用接口用戶程序系統(tǒng)調(diào)用庫內(nèi)核總控系統(tǒng)調(diào)用處理總控Write處理磁盤控制器盤中斷處理用戶態(tài)核心態(tài)磁盤驅(qū)動(dòng)程序用戶程序運(yùn)行調(diào)度程序時(shí)機(jī)運(yùn)行調(diào)度程序時(shí)機(jī)發(fā)IO請(qǐng)求發(fā)IO中斷調(diào)度算法要求:調(diào)度算法要求:高資
27、源利用率高資源利用率、高吞吐量高吞吐量、用用戶滿意戶滿意等原則。等原則。進(jìn)程調(diào)度所采用的算法是與整個(gè)系統(tǒng)的進(jìn)程調(diào)度所采用的算法是與整個(gè)系統(tǒng)的設(shè)計(jì)目設(shè)計(jì)目標(biāo)標(biāo)相一致的。相一致的。 批處理系統(tǒng):批處理系統(tǒng):增加系統(tǒng)增加系統(tǒng)吞吐量吞吐量和提高系統(tǒng)和提高系統(tǒng)資源的利資源的利用率用率; ;分時(shí)系統(tǒng):分時(shí)系統(tǒng):保證每個(gè)分時(shí)用戶能容忍的保證每個(gè)分時(shí)用戶能容忍的響應(yīng)時(shí)間響應(yīng)時(shí)間。實(shí)時(shí)系統(tǒng):實(shí)時(shí)系統(tǒng):保證對(duì)隨機(jī)發(fā)生的外部事件做出保證對(duì)隨機(jī)發(fā)生的外部事件做出實(shí)時(shí)響實(shí)時(shí)響應(yīng)應(yīng)。進(jìn)程調(diào)度算法進(jìn)程調(diào)度算法調(diào)度算法的評(píng)價(jià)因素:調(diào)度算法的評(píng)價(jià)因素:吞吐量:吞吐量:?jiǎn)挝粫r(shí)間內(nèi)單位時(shí)間內(nèi)CPUCPU完成作業(yè)的數(shù)量。完成作業(yè)的數(shù)
28、量。CPUCPU利用率:利用率:從從0 0100100。周轉(zhuǎn)時(shí)間:周轉(zhuǎn)時(shí)間:評(píng)價(jià)批處理系統(tǒng)的性能指標(biāo)。評(píng)價(jià)批處理系統(tǒng)的性能指標(biāo)。l周轉(zhuǎn)時(shí)間:周轉(zhuǎn)時(shí)間:T Ti i 作業(yè)完成時(shí)刻作業(yè)完成時(shí)刻 作業(yè)提交時(shí)刻作業(yè)提交時(shí)刻例如:作業(yè)例如:作業(yè)J Ji i 8:00 8:00提交,執(zhí)行時(shí)間為提交,執(zhí)行時(shí)間為1 1小時(shí),小時(shí),10:0010:00運(yùn)行結(jié)束,運(yùn)行結(jié)束,則其周轉(zhuǎn)時(shí)間則其周轉(zhuǎn)時(shí)間T Ti i 10:0010:008:00 8:00 2 (hours)2 (hours)平均周轉(zhuǎn)時(shí)間平均周轉(zhuǎn)時(shí)間121(.)nniiTTTTTn1n確定進(jìn)程調(diào)度算法原則:確定進(jìn)程調(diào)度算法原則:u進(jìn)程調(diào)度的任務(wù)是有效的選
29、擇占用進(jìn)程調(diào)度的任務(wù)是有效的選擇占用CPUCPU的進(jìn)程,控的進(jìn)程,控制協(xié)調(diào)系統(tǒng)安全、高效的工作。制協(xié)調(diào)系統(tǒng)安全、高效的工作。設(shè)計(jì)者設(shè)計(jì)者系統(tǒng)系統(tǒng)用戶用戶 公平性:每個(gè)進(jìn)程(不論公平性:每個(gè)進(jìn)程(不論 優(yōu)先級(jí))都有機(jī)會(huì)被運(yùn)行。優(yōu)先級(jí))都有機(jī)會(huì)被運(yùn)行。 較大的吞吐量。較大的吞吐量。 及時(shí)性:響應(yīng)速度要快。及時(shí)性:響應(yīng)速度要快。 較短的周轉(zhuǎn)時(shí)間:不應(yīng)當(dāng)讓較短的周轉(zhuǎn)時(shí)間:不應(yīng)當(dāng)讓 用戶等待時(shí)間過長(zhǎng)。用戶等待時(shí)間過長(zhǎng)。先來先服務(wù)調(diào)度算法先來先服務(wù)調(diào)度算法 (FCFS, First Come First Served)(FCFS, First Come First Served)l特點(diǎn):特點(diǎn):簡(jiǎn)單、可靠;
30、簡(jiǎn)單、可靠;容易理解、實(shí)現(xiàn)方便;容易理解、實(shí)現(xiàn)方便;非搶占式的。非搶占式的。l缺點(diǎn):缺點(diǎn):作業(yè)的平均等待時(shí)間過長(zhǎng),系統(tǒng)效率低下;作業(yè)的平均等待時(shí)間過長(zhǎng),系統(tǒng)效率低下;不適合于分時(shí)系統(tǒng)。不適合于分時(shí)系統(tǒng)。PCBPCBPCBPCB就緒隊(duì)列就緒隊(duì)列CPU公平性公平性吞吐量吞吐量及時(shí)性及時(shí)性周轉(zhuǎn)時(shí)間周轉(zhuǎn)時(shí)間進(jìn)程調(diào)度算法進(jìn)程調(diào)度算法 例,例,幾乎同時(shí)到達(dá)的三個(gè)作業(yè)幾乎同時(shí)到達(dá)的三個(gè)作業(yè)j1 j1、j2 j2、j3 j3。j1 j1運(yùn)行運(yùn)行2 2小時(shí),小時(shí),j2 j2和和j3 j3只需只需1 1分鐘。三個(gè)作業(yè)的平均周轉(zhuǎn)時(shí)分鐘。三個(gè)作業(yè)的平均周轉(zhuǎn)時(shí)間為間為2 2個(gè)小時(shí)多。增長(zhǎng)了短作業(yè)的周轉(zhuǎn)時(shí)間。個(gè)小時(shí)多。增
31、長(zhǎng)了短作業(yè)的周轉(zhuǎn)時(shí)間。 (系統(tǒng)先運(yùn)行系統(tǒng)先運(yùn)行j1 j1,j2 j2和和j3 j3要等要等2 2個(gè)小時(shí)個(gè)小時(shí)。j1 j1完成之后完成之后,j2 j2和和j3 j3再分別運(yùn)行再分別運(yùn)行1 1分鐘。分鐘。)短進(jìn)程優(yōu)先短進(jìn)程優(yōu)先(SPFSPF):取一個(gè)下次所需運(yùn)行時(shí)間):取一個(gè)下次所需運(yùn)行時(shí)間最短的進(jìn)程。最短的進(jìn)程。( (該算法能使平均等待時(shí)間最短該算法能使平均等待時(shí)間最短) )基于優(yōu)先級(jí)的調(diào)度算法基于優(yōu)先級(jí)的調(diào)度算法(Priority Scheduling Algorithm)l思想:給每一個(gè)進(jìn)程設(shè)置一個(gè)優(yōu)先級(jí),系統(tǒng)在調(diào)度時(shí)優(yōu)先選思想:給每一個(gè)進(jìn)程設(shè)置一個(gè)優(yōu)先級(jí),系統(tǒng)在調(diào)度時(shí)優(yōu)先選擇具有高優(yōu)先級(jí)的
32、進(jìn)程占用擇具有高優(yōu)先級(jí)的進(jìn)程占用CPUCPU。具有相同優(yōu)先數(shù)的進(jìn)程按。具有相同優(yōu)先數(shù)的進(jìn)程按照照FCFSFCFS算法執(zhí)行。算法執(zhí)行。l優(yōu)先級(jí)的確定:優(yōu)先級(jí)的確定:運(yùn)行前:可根據(jù)外設(shè)的使用情況,運(yùn)行時(shí)間的長(zhǎng)短,緊急程度,重運(yùn)行前:可根據(jù)外設(shè)的使用情況,運(yùn)行時(shí)間的長(zhǎng)短,緊急程度,重要程度等因素確定。要程度等因素確定。運(yùn)行中:運(yùn)行中:1 1)靜態(tài)優(yōu)先級(jí):)靜態(tài)優(yōu)先級(jí):進(jìn)程創(chuàng)建時(shí)就規(guī)定好它的優(yōu)先級(jí),這個(gè)數(shù)值在進(jìn)進(jìn)程創(chuàng)建時(shí)就規(guī)定好它的優(yōu)先級(jí),這個(gè)數(shù)值在進(jìn)程運(yùn)行時(shí)不變。通常賦予程運(yùn)行時(shí)不變。通常賦予系統(tǒng)進(jìn)程系統(tǒng)進(jìn)程較高優(yōu)先級(jí)。較高優(yōu)先級(jí)。2 2)動(dòng)態(tài)優(yōu)先級(jí))動(dòng)態(tài)優(yōu)先級(jí):進(jìn)程的優(yōu)先級(jí)在執(zhí)行過程中可以根據(jù)情況
33、變化而:進(jìn)程的優(yōu)先級(jí)在執(zhí)行過程中可以根據(jù)情況變化而改變改變(UNIX(UNIX中采用的方法中采用的方法) )。根據(jù)進(jìn)程。根據(jù)進(jìn)程占用占用CPUCPU時(shí)間的長(zhǎng)短時(shí)間的長(zhǎng)短或或等待等待CPUCPU時(shí)間的長(zhǎng)短時(shí)間的長(zhǎng)短動(dòng)態(tài)調(diào)整。動(dòng)態(tài)調(diào)整。 優(yōu)點(diǎn)優(yōu)點(diǎn)靈活。通過不同的優(yōu)先級(jí)設(shè)置策略,可以強(qiáng)調(diào)不同的靈活。通過不同的優(yōu)先級(jí)設(shè)置策略,可以強(qiáng)調(diào)不同的性能。性能。實(shí)現(xiàn)也較為方便。實(shí)現(xiàn)也較為方便。通過優(yōu)先級(jí)的動(dòng)態(tài)調(diào)整,可以平衡系統(tǒng)性能通過優(yōu)先級(jí)的動(dòng)態(tài)調(diào)整,可以平衡系統(tǒng)性能。 問題問題靜態(tài)優(yōu)先級(jí)法靜態(tài)優(yōu)先級(jí)法無窮阻塞無窮阻塞 (Indefinite Blocking)(Indefinite Blocking) 進(jìn)程占
34、用進(jìn)程占用CPUCPU的方式的方式非搶占式非搶占式 ( (不可剝奪式不可剝奪式)FCFS)FCFS。搶占式搶占式 ( (可剝奪式可剝奪式)會(huì)使進(jìn)程頻繁調(diào)度,在設(shè)計(jì)時(shí)會(huì)使進(jìn)程頻繁調(diào)度,在設(shè)計(jì)時(shí)還應(yīng)考慮進(jìn)程切換的時(shí)間開銷。還應(yīng)考慮進(jìn)程切換的時(shí)間開銷。時(shí)間片輪轉(zhuǎn)法時(shí)間片輪轉(zhuǎn)法 (RR, Round Robin)(RR, Round Robin)l特點(diǎn):特點(diǎn):專門為分時(shí)系統(tǒng)設(shè)計(jì)。類似于專門為分時(shí)系統(tǒng)設(shè)計(jì)。類似于FCFSFCFS算法但是增加算法但是增加了搶占及進(jìn)程間的切換功能。了搶占及進(jìn)程間的切換功能。l思想:思想:系統(tǒng)規(guī)定一個(gè)時(shí)間長(zhǎng)度系統(tǒng)規(guī)定一個(gè)時(shí)間長(zhǎng)度( (時(shí)間片時(shí)間片) )作為允許一個(gè)進(jìn)程作為允許
35、一個(gè)進(jìn)程運(yùn)行的時(shí)間,如果在這段時(shí)間該進(jìn)程沒有執(zhí)行完,則必運(yùn)行的時(shí)間,如果在這段時(shí)間該進(jìn)程沒有執(zhí)行完,則必須讓出須讓出CPUCPU等待下一次分配的時(shí)間片。等待下一次分配的時(shí)間片。l原理原理PCBPCBPCBPCBCPUPCBPCBPCBPCB等待隊(duì)列等待隊(duì)列1PCBPCBPCBPCB等待隊(duì)列等待隊(duì)列n就緒隊(duì)列就緒隊(duì)列時(shí)間片用完時(shí)間片用完完成等待完成等待完成等待完成等待執(zhí)行執(zhí)行 時(shí)間片的選擇方法時(shí)間片的選擇方法固定時(shí)間片:分配給每個(gè)進(jìn)程時(shí)間片相等;固定時(shí)間片:分配給每個(gè)進(jìn)程時(shí)間片相等;可變時(shí)間片:根據(jù)進(jìn)程的不同要求對(duì)時(shí)間片的大小實(shí)可變時(shí)間片:根據(jù)進(jìn)程的不同要求對(duì)時(shí)間片的大小實(shí)時(shí)修改。時(shí)修改。 優(yōu)點(diǎn)
36、:優(yōu)點(diǎn):公平性,及時(shí)性。公平性,及時(shí)性。 問題:?jiǎn)栴}:時(shí)間片大小的確定?時(shí)間片大小的確定?過大:退化為過大:退化為FCFSFCFS算法,響應(yīng)時(shí)間變長(zhǎng)。算法,響應(yīng)時(shí)間變長(zhǎng)。過?。阂粋€(gè)任務(wù)需要多個(gè)時(shí)間片執(zhí)行,增加了進(jìn)程切過?。阂粋€(gè)任務(wù)需要多個(gè)時(shí)間片執(zhí)行,增加了進(jìn)程切換次數(shù),響應(yīng)時(shí)間變長(zhǎng)。換次數(shù),響應(yīng)時(shí)間變長(zhǎng)。能不能在減少進(jìn)程切換次數(shù)的同時(shí),能不能在減少進(jìn)程切換次數(shù)的同時(shí),又能保持較高的響應(yīng)速度?又能保持較高的響應(yīng)速度?第一級(jí)隊(duì)列第一級(jí)隊(duì)列(FIFO)(FIFO)使用處理機(jī)使用處理機(jī)完成完成使用處理機(jī)使用處理機(jī)完成完成使用處理機(jī)使用處理機(jī)完成完成搶占搶占搶占搶占搶占搶占第二級(jí)隊(duì)列第二級(jí)隊(duì)列(FIFO
37、)(FIFO)第第n n級(jí)隊(duì)列級(jí)隊(duì)列(時(shí)間片輪轉(zhuǎn))(時(shí)間片輪轉(zhuǎn))多級(jí)反饋隊(duì)列調(diào)度法多級(jí)反饋隊(duì)列調(diào)度法(Multilevel Feedback Queue Scheduling):設(shè)置多條就緒隊(duì)列設(shè)置多條就緒隊(duì)列, ,進(jìn)程被調(diào)度執(zhí)行后進(jìn)程被調(diào)度執(zhí)行后, ,在被剝奪在被剝奪或放棄處理機(jī)后而在就緒時(shí)可以改變其就緒隊(duì)列或放棄處理機(jī)后而在就緒時(shí)可以改變其就緒隊(duì)列( (見下圖見下圖)。)。設(shè)計(jì)另一個(gè)設(shè)計(jì)另一個(gè)多級(jí)反饋隊(duì)列調(diào)度算法多級(jí)反饋隊(duì)列調(diào)度算法的例子的例子: :l以優(yōu)先級(jí)設(shè)置多隊(duì)列。以優(yōu)先級(jí)設(shè)置多隊(duì)列。l各隊(duì)列的調(diào)度算法采用各隊(duì)列的調(diào)度算法采用FCFS+FCFS+時(shí)間片。時(shí)間片。l進(jìn)程優(yōu)先級(jí)升降原則是
38、:等待進(jìn)程優(yōu)先級(jí)升降原則是:等待CPUCPU過久升,過久升,I/OI/O完成完成插入就緒隊(duì)列時(shí)升,運(yùn)行完一個(gè)完整時(shí)間片降插入就緒隊(duì)列時(shí)升,運(yùn)行完一個(gè)完整時(shí)間片降l進(jìn)程最初進(jìn)入就緒隊(duì)列以用戶初置優(yōu)先級(jí)為參數(shù)。進(jìn)程最初進(jìn)入就緒隊(duì)列以用戶初置優(yōu)先級(jí)為參數(shù)。目前最為通用、靈活的目前最為通用、靈活的CPUCPU調(diào)度算法,但也是調(diào)度算法,但也是最為復(fù)雜的。最為復(fù)雜的。實(shí)時(shí)系統(tǒng)的調(diào)度算法實(shí)時(shí)系統(tǒng)的調(diào)度算法 時(shí)鐘驅(qū)動(dòng)法時(shí)鐘驅(qū)動(dòng)法:各任務(wù)的調(diào)度安排通常是在系統(tǒng):各任務(wù)的調(diào)度安排通常是在系統(tǒng)運(yùn)行運(yùn)行前前就確定了。就確定了。硬實(shí)時(shí)系統(tǒng)硬實(shí)時(shí)系統(tǒng)的任務(wù)是固定的和可知的的任務(wù)是固定的和可知的。系統(tǒng)以規(guī)則的間隔時(shí)間調(diào)度任
39、務(wù)執(zhí)行。一個(gè)定時(shí)。系統(tǒng)以規(guī)則的間隔時(shí)間調(diào)度任務(wù)執(zhí)行。一個(gè)定時(shí)器被周期性地設(shè)置,時(shí)間到期后,系統(tǒng)啟動(dòng)要執(zhí)行器被周期性地設(shè)置,時(shí)間到期后,系統(tǒng)啟動(dòng)要執(zhí)行的任務(wù)。的任務(wù)。 加權(quán)輪轉(zhuǎn)法加權(quán)輪轉(zhuǎn)法:進(jìn)程的權(quán)就是分配給它的一小部分處:進(jìn)程的權(quán)就是分配給它的一小部分處理機(jī)時(shí)間。輪轉(zhuǎn)時(shí),不同的進(jìn)程可以獲得不同的處理機(jī)時(shí)間。輪轉(zhuǎn)時(shí),不同的進(jìn)程可以獲得不同的處理機(jī)時(shí)間。廣泛用在高速開關(guān)網(wǎng)的實(shí)時(shí)控制中。理機(jī)時(shí)間。廣泛用在高速開關(guān)網(wǎng)的實(shí)時(shí)控制中。作業(yè)與進(jìn)程的關(guān)系作業(yè)與進(jìn)程的關(guān)系作業(yè)作業(yè):是用戶對(duì)計(jì)算機(jī)的一次獨(dú)立的使用過程。:是用戶對(duì)計(jì)算機(jī)的一次獨(dú)立的使用過程。進(jìn)程進(jìn)程:是分配計(jì)算機(jī)資源的單位,是用戶任務(wù)運(yùn):是分配計(jì)算
40、機(jī)資源的單位,是用戶任務(wù)運(yùn)行的實(shí)體,作業(yè)可包含多個(gè)進(jìn)程行的實(shí)體,作業(yè)可包含多個(gè)進(jìn)程( (至少一個(gè)至少一個(gè)) )。批處理系統(tǒng)作業(yè)與進(jìn)程關(guān)系:批處理系統(tǒng)作業(yè)與進(jìn)程關(guān)系:作業(yè)調(diào)度程序每選作業(yè)調(diào)度程序每選擇一道作業(yè)運(yùn)行時(shí),首先為該作業(yè)創(chuàng)建一個(gè)根進(jìn)程,擇一道作業(yè)運(yùn)行時(shí),首先為該作業(yè)創(chuàng)建一個(gè)根進(jìn)程,該進(jìn)程執(zhí)行作業(yè)控制語言解釋器程序,在解釋執(zhí)行該進(jìn)程執(zhí)行作業(yè)控制語言解釋器程序,在解釋執(zhí)行作業(yè)步時(shí)可根據(jù)需要?jiǎng)?chuàng)建多個(gè)子進(jìn)程。作業(yè)步時(shí)可根據(jù)需要?jiǎng)?chuàng)建多個(gè)子進(jìn)程。作業(yè)和進(jìn)程狀態(tài)轉(zhuǎn)換圖作業(yè)和進(jìn)程狀態(tài)轉(zhuǎn)換圖:提交提交后備后備運(yùn)行運(yùn)行完成完成作業(yè)輸入作業(yè)輸入作業(yè)調(diào)度作業(yè)調(diào)度創(chuàng)建進(jìn)程創(chuàng)建進(jìn)程作業(yè)終止作業(yè)終止就緒就緒執(zhí)行執(zhí)行等
41、待等待進(jìn)程調(diào)度進(jìn)程調(diào)度作業(yè)調(diào)度算法:作業(yè)調(diào)度算法:FIFOFIFO、SJFSJF和和最高響應(yīng)比優(yōu)先法最高響應(yīng)比優(yōu)先法 響應(yīng)比響應(yīng)比R R定義如下:定義如下: R =(W+T)/T = 1+W/TR =(W+T)/T = 1+W/T (W W為為作業(yè)等待時(shí)間,作業(yè)等待時(shí)間,T T作業(yè)估計(jì)運(yùn)行時(shí)間)作業(yè)估計(jì)運(yùn)行時(shí)間)l特點(diǎn):結(jié)合了先來先服務(wù)、短作業(yè)優(yōu)先的方法。特點(diǎn):結(jié)合了先來先服務(wù)、短作業(yè)優(yōu)先的方法。優(yōu)先運(yùn)行短作業(yè)和等待時(shí)間足夠長(zhǎng)的長(zhǎng)作業(yè)。優(yōu)先運(yùn)行短作業(yè)和等待時(shí)間足夠長(zhǎng)的長(zhǎng)作業(yè)。l缺點(diǎn):算法比較復(fù)雜。缺點(diǎn):算法比較復(fù)雜。分時(shí)系統(tǒng)作業(yè)與進(jìn)程之關(guān)系:分時(shí)系統(tǒng)作業(yè)與進(jìn)程之關(guān)系:把用戶的一次上機(jī)過程把用戶
42、的一次上機(jī)過程看成是一個(gè)交互作業(yè)看成是一個(gè)交互作業(yè)( (無論從內(nèi)部表示及外部特征無論從內(nèi)部表示及外部特征, ,它它都有別于批作業(yè)都有別于批作業(yè)),),系統(tǒng)為每個(gè)終端設(shè)備生成一個(gè)進(jìn)程,系統(tǒng)為每個(gè)終端設(shè)備生成一個(gè)進(jìn)程,該進(jìn)程運(yùn)行終端命令解釋器。該進(jìn)程在解釋執(zhí)行命令該進(jìn)程運(yùn)行終端命令解釋器。該進(jìn)程在解釋執(zhí)行命令時(shí)還可以創(chuàng)建多個(gè)子進(jìn)程。時(shí)還可以創(chuàng)建多個(gè)子進(jìn)程。支持分時(shí)與批處理的系統(tǒng)作業(yè)提交方法:支持分時(shí)與批處理的系統(tǒng)作業(yè)提交方法:用戶可以通用戶可以通過交互式命令提交子作業(yè)過交互式命令提交子作業(yè)( (如如:at -f /root/bin/ss :at -f /root/bin/ss now now 表示
43、提交一個(gè)作業(yè)控制說明書文件名為表示提交一個(gè)作業(yè)控制說明書文件名為ssss的作業(yè)的作業(yè)到作業(yè)輸入隊(duì)列到作業(yè)輸入隊(duì)列. .或直接拍入或直接拍入“shell ss”shell ss”表示馬上生表示馬上生成一個(gè)進(jìn)程執(zhí)行命令解釋器成一個(gè)進(jìn)程執(zhí)行命令解釋器, ,解釋執(zhí)行解釋執(zhí)行ssss中的命令中的命令) ) 輸入一條終端命輸入一條終端命令令, ,分析命令分析命令后臺(tái)命令后臺(tái)命令? ?創(chuàng)建子進(jìn)程執(zhí)行命令創(chuàng)建子進(jìn)程執(zhí)行命令等子進(jìn)程返回等子進(jìn)程返回向終端發(fā)提示符向終端發(fā)提示符否否命令解釋程序執(zhí)行流程:命令解釋程序執(zhí)行流程:線程引入線程引入輕權(quán)進(jìn)程(輕權(quán)進(jìn)程(Light-Weight ProcessLight-W
44、eight Process)的引入)的引入。引入進(jìn)程是。引入進(jìn)程是為了實(shí)現(xiàn)作業(yè)內(nèi)作業(yè)步的并發(fā)執(zhí)行,同一作業(yè)進(jìn)程之間為了實(shí)現(xiàn)作業(yè)內(nèi)作業(yè)步的并發(fā)執(zhí)行,同一作業(yè)進(jìn)程之間會(huì)有許多的協(xié)作,需要進(jìn)行數(shù)據(jù)交換,但進(jìn)程有自己獨(dú)會(huì)有許多的協(xié)作,需要進(jìn)行數(shù)據(jù)交換,但進(jìn)程有自己獨(dú)立的存儲(chǔ)空間,互相不干擾。如果要進(jìn)行進(jìn)程間數(shù)據(jù)交立的存儲(chǔ)空間,互相不干擾。如果要進(jìn)行進(jìn)程間數(shù)據(jù)交換,則需要操作系統(tǒng)相關(guān)系統(tǒng)調(diào)用支持,為了方便進(jìn)程換,則需要操作系統(tǒng)相關(guān)系統(tǒng)調(diào)用支持,為了方便進(jìn)程間交換數(shù)據(jù),間交換數(shù)據(jù),一種共享存儲(chǔ)空間的進(jìn)程概念應(yīng)運(yùn)而生,一種共享存儲(chǔ)空間的進(jìn)程概念應(yīng)運(yùn)而生,我們叫它為輕權(quán)進(jìn)程(我們叫它為輕權(quán)進(jìn)程(Light-W
45、eight ProcessLight-Weight Process)。線線 程程線程的引入線程的引入 隨著共享內(nèi)存多隨著共享內(nèi)存多CPUCPU計(jì)算機(jī)的發(fā)展,迫切需要加計(jì)算機(jī)的發(fā)展,迫切需要加速單個(gè)作業(yè)步的運(yùn)行速度,速單個(gè)作業(yè)步的運(yùn)行速度,事實(shí)上同一個(gè)作業(yè)步的工事實(shí)上同一個(gè)作業(yè)步的工作也是有可并行成份的。作也是有可并行成份的。因?yàn)檫M(jìn)程內(nèi)程序執(zhí)行的順序因?yàn)檫M(jìn)程內(nèi)程序執(zhí)行的順序性,不可能實(shí)現(xiàn)進(jìn)程內(nèi)可并行成分的并行執(zhí)行。為此,性,不可能實(shí)現(xiàn)進(jìn)程內(nèi)可并行成分的并行執(zhí)行。為此,線程的概念呼之欲出。在一個(gè)進(jìn)程中可以包含多個(gè)可線程的概念呼之欲出。在一個(gè)進(jìn)程中可以包含多個(gè)可以并發(fā)(并行)執(zhí)行的線程。系統(tǒng)按進(jìn)程分
46、配所有除以并發(fā)(并行)執(zhí)行的線程。系統(tǒng)按進(jìn)程分配所有除CPUCPU以外的系統(tǒng)資源(如內(nèi)存,外設(shè),文件等),而以外的系統(tǒng)資源(如內(nèi)存,外設(shè),文件等),而程序則依賴于線程運(yùn)行,系統(tǒng)按線程分配程序則依賴于線程運(yùn)行,系統(tǒng)按線程分配CPUCPU資源。資源。引入線程后,進(jìn)程概念內(nèi)涵改變了,進(jìn)程只作為除引入線程后,進(jìn)程概念內(nèi)涵改變了,進(jìn)程只作為除CPUCPU以外系統(tǒng)資源的分配單位,不再以進(jìn)程為單位占以外系統(tǒng)資源的分配單位,不再以進(jìn)程為單位占用用CPUCPU 。 線程的定義線程的定義l線程線程(thread)(thread)也叫也叫輕權(quán)進(jìn)程輕權(quán)進(jìn)程,是一個(gè)可執(zhí)行的實(shí)體單,是一個(gè)可執(zhí)行的實(shí)體單元。它代替以往的進(jìn)
47、程,成為現(xiàn)代操作系統(tǒng)中處理元。它代替以往的進(jìn)程,成為現(xiàn)代操作系統(tǒng)中處理機(jī)調(diào)度的基本單位。機(jī)調(diào)度的基本單位。l線程和進(jìn)程的關(guān)系:線程和進(jìn)程的關(guān)系:多線程模型多線程模型 線程是進(jìn)程的一個(gè)組成部分,線程由進(jìn)線程是進(jìn)程的一個(gè)組成部分,線程由進(jìn)程創(chuàng)建,因此一個(gè)進(jìn)程中至少存在一個(gè)程創(chuàng)建,因此一個(gè)進(jìn)程中至少存在一個(gè)線程,線程還可以創(chuàng)建其它線程。線程,線程還可以創(chuàng)建其它線程。 進(jìn)程依然是資源分配和保護(hù)的基本單位,進(jìn)程依然是資源分配和保護(hù)的基本單位,線程只能在進(jìn)程的地址空間活動(dòng),線程線程只能在進(jìn)程的地址空間活動(dòng),線程只能使用其所在進(jìn)程的資源。只能使用其所在進(jìn)程的資源。u 一個(gè)與用戶交互線程一個(gè)與用戶交互線程u
48、另一個(gè)在后臺(tái)進(jìn)行格式化另一個(gè)在后臺(tái)進(jìn)行格式化的線程。的線程。u 一旦在第一頁中的語句被一旦在第一頁中的語句被刪除掉,交互線程就立即刪除掉,交互線程就立即通知格式化線程對(duì)整本書通知格式化線程對(duì)整本書重新進(jìn)行處理。重新進(jìn)行處理。u 同時(shí),交互線程繼續(xù)監(jiān)控同時(shí),交互線程繼續(xù)監(jiān)控鍵盤和鼠標(biāo)。鍵盤和鼠標(biāo)。u 第三個(gè)線程可以處理磁盤第三個(gè)線程可以處理磁盤備份。備份。線程線程鍵盤鍵盤文檔文檔進(jìn)程進(jìn)程 分派線程分派線程(dispatcher)(dispatcher)從網(wǎng)絡(luò)讀入請(qǐng)求,之后選從網(wǎng)絡(luò)讀入請(qǐng)求,之后選一個(gè)工作線程提交請(qǐng)求,當(dāng)該工作線程阻塞在一個(gè)工作線程提交請(qǐng)求,當(dāng)該工作線程阻塞在磁盤操作上時(shí),分派線程
49、可選另一個(gè)工作線程磁盤操作上時(shí),分派線程可選另一個(gè)工作線程運(yùn)行。運(yùn)行。分派線程分派線程工作線程工作線程內(nèi)核內(nèi)核網(wǎng)絡(luò)連接網(wǎng)絡(luò)連接用戶空間用戶空間WebWeb服務(wù)器進(jìn)程服務(wù)器進(jìn)程 進(jìn)程內(nèi)的多線程共享同一個(gè)地址空間和所有進(jìn)程內(nèi)的多線程共享同一個(gè)地址空間和所有可用數(shù)據(jù)。由于線程附帶的資源不多,所以可用數(shù)據(jù)。由于線程附帶的資源不多,所以線程比進(jìn)程更容易創(chuàng)建和撤銷。線程比進(jìn)程更容易創(chuàng)建和撤銷。 線程線程(thread)(thread):是進(jìn)程內(nèi)的一個(gè)可執(zhí)行實(shí)體,:是進(jìn)程內(nèi)的一個(gè)可執(zhí)行實(shí)體,是處理機(jī)調(diào)度的基本單位。是處理機(jī)調(diào)度的基本單位。線程的結(jié)構(gòu)線程的結(jié)構(gòu)線程的特點(diǎn):線程的特點(diǎn):l線程作為基本的調(diào)度單位,
50、線程作為基本的調(diào)度單位,其狀態(tài)有:就緒、運(yùn)行、阻其狀態(tài)有:就緒、運(yùn)行、阻塞等;塞等;l進(jìn)程中所有線程都共享進(jìn)進(jìn)程中所有線程都共享進(jìn)程的存儲(chǔ)空間和分配資源。程的存儲(chǔ)空間和分配資源。PCB程序程序數(shù)據(jù)數(shù)據(jù)進(jìn)進(jìn)程程地地址址空空間間線程線程1線程線程2線程線程3工作區(qū)工作區(qū)TCB棧棧寄存器組寄存器組TCB棧棧寄存器組寄存器組TCB棧棧寄存器組寄存器組一個(gè)線程的組成一個(gè)線程的組成l 有一個(gè)唯一的標(biāo)識(shí)符有一個(gè)唯一的標(biāo)識(shí)符l 表示處理機(jī)狀態(tài)和運(yùn)行現(xiàn)場(chǎng)的一組寄存器表示處理機(jī)狀態(tài)和運(yùn)行現(xiàn)場(chǎng)的一組寄存器l 兩個(gè)堆棧,分別用于用戶態(tài)和核心態(tài)調(diào)用時(shí)進(jìn)行參兩個(gè)堆棧,分別用于用戶態(tài)和核心態(tài)調(diào)用時(shí)進(jìn)行參數(shù)傳遞數(shù)傳遞l 一個(gè)
51、獨(dú)立的程序計(jì)數(shù)器一個(gè)獨(dú)立的程序計(jì)數(shù)器l 關(guān)聯(lián)的進(jìn)程和線程指針關(guān)聯(lián)的進(jìn)程和線程指針線程優(yōu)勢(shì)線程優(yōu)勢(shì)創(chuàng)建和撤消線程的開銷非常小。不需要向系統(tǒng)請(qǐng)求創(chuàng)建和撤消線程的開銷非常小。不需要向系統(tǒng)請(qǐng)求獨(dú)立的地址空間及進(jìn)行相關(guān)的地址空間復(fù)制獨(dú)立的地址空間及進(jìn)行相關(guān)的地址空間復(fù)制( (例如父例如父子進(jìn)程子進(jìn)程) ),因此創(chuàng)建和撤銷線程系統(tǒng)的開銷要遠(yuǎn)小于,因此創(chuàng)建和撤銷線程系統(tǒng)的開銷要遠(yuǎn)小于進(jìn)程。進(jìn)程。切換迅速。線程的上下文環(huán)境要比進(jìn)程簡(jiǎn)單的多,切換迅速。線程的上下文環(huán)境要比進(jìn)程簡(jiǎn)單的多,因此線程間的切換遠(yuǎn)比進(jìn)程快的多。因此線程間的切換遠(yuǎn)比進(jìn)程快的多。通信效率高。同一進(jìn)程中的線程由于共享同一地址通信效率高。同一進(jìn)程
52、中的線程由于共享同一地址空間,通信時(shí)不需要借助內(nèi)核功能??臻g,通信時(shí)不需要借助內(nèi)核功能。并發(fā)度高。在多處理機(jī)系統(tǒng)中,對(duì)進(jìn)程的個(gè)數(shù)是有并發(fā)度高。在多處理機(jī)系統(tǒng)中,對(duì)進(jìn)程的個(gè)數(shù)是有所限制的,但對(duì)線程的個(gè)數(shù)理論上不存在限制,更所限制的,但對(duì)線程的個(gè)數(shù)理論上不存在限制,更發(fā)揮了多處理機(jī)系統(tǒng)的優(yōu)勢(shì)。發(fā)揮了多處理機(jī)系統(tǒng)的優(yōu)勢(shì)。l 進(jìn)程擁有一個(gè)獨(dú)立的地址空間,若干代碼段和數(shù)據(jù)段進(jìn)程擁有一個(gè)獨(dú)立的地址空間,若干代碼段和數(shù)據(jù)段,若干打開文件、主存以及至少一個(gè)線程。,若干打開文件、主存以及至少一個(gè)線程。l 一個(gè)進(jìn)程內(nèi)的多線程一個(gè)進(jìn)程內(nèi)的多線程共享共享該進(jìn)程的該進(jìn)程的所有資源所有資源,線程自,線程自己擁有很少資源。
53、己擁有很少資源。(1 1)擁有的資源)擁有的資源l進(jìn)程調(diào)度需進(jìn)行進(jìn)程上下文的切換,開銷大。進(jìn)程調(diào)度需進(jìn)行進(jìn)程上下文的切換,開銷大。l同一進(jìn)程內(nèi)的線程切換,僅把線程擁有的一小部分資源同一進(jìn)程內(nèi)的線程切換,僅把線程擁有的一小部分資源變換了即可,效率高。同一進(jìn)程內(nèi)的線程切換比進(jìn)程切變換了即可,效率高。同一進(jìn)程內(nèi)的線程切換比進(jìn)程切換快得多。換快得多。不同進(jìn)程的線程切換不同進(jìn)程的線程切換(2 2)調(diào)度)調(diào)度(3 3)并發(fā)性)并發(fā)性 引入線程后,使得系統(tǒng)的并發(fā)執(zhí)行程度更高。引入線程后,使得系統(tǒng)的并發(fā)執(zhí)行程度更高。 進(jìn)程進(jìn)程之間、進(jìn)程內(nèi)的多線程之間可并發(fā)執(zhí)行。之間、進(jìn)程內(nèi)的多線程之間可并發(fā)執(zhí)行。(4 4)安全性)安全性 同一進(jìn)程的多線程共享進(jìn)程的所有資源,一個(gè)線程同一進(jìn)程的多線程共享進(jìn)程的所有資源,一個(gè)線程可以改變另一個(gè)線程的數(shù)據(jù),而多進(jìn)程實(shí)現(xiàn)則不會(huì)產(chǎn)可以改變另一個(gè)線程的數(shù)據(jù),而多進(jìn)程實(shí)現(xiàn)則不會(huì)產(chǎn)生此問題。共享方便。生此問題。共享方便。線程的實(shí)現(xiàn)機(jī)制線程的實(shí)現(xiàn)機(jī)制用戶空間內(nèi)核空間進(jìn)程線程線程表進(jìn)程表線程線程表進(jìn)程用戶級(jí)線程用戶級(jí)線程優(yōu)點(diǎn):優(yōu)點(diǎn):l核心不用管理線程的切
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包合同終止協(xié)議
- 木材公司銷售合同
- 平面模特拍攝合同
- 電力施工勞務(wù)合同
- 漫畫助理外包合同
- 油漆勞務(wù)分包合同協(xié)議書
- 無人機(jī)物流配送運(yùn)營合作項(xiàng)目合同
- 商丘幼兒師范高等??茖W(xué)?!堵眯猩缃?jīng)營管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東管理學(xué)院《高階地質(zhì)資源勘查與評(píng)價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 文華學(xué)院《地理科學(xué)類專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 溶劑油MSDS危險(xiǎn)化學(xué)品安全技術(shù)說明書
- 馬工程西方經(jīng)濟(jì)學(xué)(第二版)教學(xué)課件-2
- 慢阻肺的慢病管理課件
- (中職)化學(xué)分析技術(shù)項(xiàng)目一 走進(jìn)化學(xué)分析實(shí)驗(yàn)室教學(xué)課件
- 探放水工培訓(xùn)教材
- 某縣某年度高標(biāo)準(zhǔn)基本農(nóng)田建設(shè)項(xiàng)目復(fù)核報(bào)告
- 秘書實(shí)務(wù)完整版課件全套ppt教程
- 酒店電子商務(wù)全套課件
- 質(zhì)量體系的職能架構(gòu)
- 《旅游經(jīng)濟(jì)學(xué)》全書PPT課件
- 幼兒園一日活動(dòng)流程表
評(píng)論
0/150
提交評(píng)論