操作系統(tǒng)課件ch2-2.3進(jìn)程及其實現(xiàn)_第1頁
操作系統(tǒng)課件ch2-2.3進(jìn)程及其實現(xiàn)_第2頁
操作系統(tǒng)課件ch2-2.3進(jìn)程及其實現(xiàn)_第3頁
操作系統(tǒng)課件ch2-2.3進(jìn)程及其實現(xiàn)_第4頁
操作系統(tǒng)課件ch2-2.3進(jìn)程及其實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.3進(jìn)程及其實現(xiàn)進(jìn)程的定義和屬性進(jìn)程的狀態(tài)和轉(zhuǎn)換進(jìn)程的描述和組成進(jìn)程切換與模式切換進(jìn)程的控制和管理2.3.1進(jìn)程的定義和性質(zhì)進(jìn)程是可并發(fā)執(zhí)行的程序在某個數(shù)據(jù)集合上的一次計算活動,也是操作系統(tǒng)進(jìn)行資源分配和保護(hù)的基本單位。進(jìn)程是一個既能用來共享資源,又能描述 程序并發(fā)執(zhí)行過程的一個基本單位。操作系統(tǒng)為什么要引入進(jìn)程概念?原因1-刻畫系統(tǒng)的動態(tài)性,發(fā)揮系統(tǒng)的并發(fā)性,提高資源利用率。原因2-它能解決系統(tǒng)的“共享性”,正確描述程序的執(zhí)行狀態(tài)。

“可再用”程序

“可再入”程序“可再入”程序具有的性質(zhì)“可再入”程序舉例編譯程序P(P的入口,處理源程序乙)(P把源程序甲的信息記盤等磁盤完成)AB源程序甲源程序乙進(jìn)程的屬性結(jié)構(gòu)性:共享性:動態(tài)性:獨立性:制約性:并發(fā)性:2.3.2進(jìn)程的狀態(tài)和轉(zhuǎn)換進(jìn)程三態(tài)模型及其狀態(tài)轉(zhuǎn)換運行態(tài)就緒態(tài)等待態(tài)選中落選出現(xiàn)等待事件等待事件結(jié)束進(jìn)程五態(tài)模型及其轉(zhuǎn)換運行態(tài)就緒態(tài)等待態(tài)選中落選出現(xiàn)等待事件等待事件結(jié)束新建態(tài)終止態(tài)進(jìn)程的掛起進(jìn)程為什么要有“掛起”狀態(tài)?進(jìn)程掛起的原因?具有掛起功能的進(jìn)程狀態(tài)及其轉(zhuǎn)換掛起等待事件結(jié)束出現(xiàn)等待事件解除掛起掛起落選選中運行態(tài)就緒態(tài)等待事件結(jié)束終止態(tài)新建態(tài)掛起就緒態(tài)解除掛起掛起掛起等待態(tài)等待態(tài)提交提交掛起進(jìn)程具有如下特征該進(jìn)程不能立即被執(zhí)行。掛起進(jìn)程可能會等待事件,但所 等待事件是獨立于掛起條件的, 事件結(jié)束并不能導(dǎo)致進(jìn)程具備執(zhí) 行條件。進(jìn)程進(jìn)入掛起狀態(tài)是由于操作系 統(tǒng)、父進(jìn)程或進(jìn)程本身阻止它的 運行。結(jié)束進(jìn)程掛起狀態(tài)的命令只能通 過操作系統(tǒng)或父進(jìn)程發(fā)出。2.3.3進(jìn)程的描述和組成(1)1進(jìn)程映象進(jìn)程控制塊進(jìn)程程序塊進(jìn)程核心棧進(jìn)程數(shù)據(jù)塊進(jìn)程—用戶線程—內(nèi)核線程進(jìn)程的描述和組成(2)操作系統(tǒng)中把進(jìn)程物理實體和支持進(jìn)程運行的環(huán)境合稱為進(jìn)程上下文。當(dāng)系統(tǒng)調(diào)度新進(jìn)程占有處理器時,新老進(jìn)程隨之發(fā)生上下文切換。進(jìn)程的運行被認(rèn)為是在上下文中執(zhí)行。進(jìn)程的描述和組成(2)進(jìn)程上下文組成用戶級上下文:系統(tǒng)級上下文:寄存器上下文:2進(jìn)程控制塊進(jìn)程控制塊P

C

B,是操作系統(tǒng)用于記錄和刻劃進(jìn)程狀態(tài)及有關(guān)信息的數(shù)據(jù)結(jié)構(gòu)。也是操作系統(tǒng)掌握進(jìn)程的唯一資料結(jié)構(gòu),它包括了進(jìn)程執(zhí)行時的情況,以及進(jìn)程讓出處理器后所處的狀態(tài)、斷點等信息。進(jìn)程控制塊包含三類信息 標(biāo)識信息現(xiàn)場信息控制信息3進(jìn)程隊列及其管理(1)處于同一狀態(tài)的所有PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程隊列。同一狀態(tài)進(jìn)程的PCB既可按先來先到的原則排成隊列;也可按優(yōu)先數(shù)或其它原則排成隊列。通用隊列組織方式:線性方式、鏈接方式

索引方式。進(jìn)程隊列及其管理(2)就緒隊列指針等待隊列1指針等待隊列2指針…PCB2

5PCB3

0PCB4

0PCB5

0PCB6

4PCB7

0…PCBn

7空閑進(jìn)程隊列指針鏈接方式PCB表運行隊列指針

PCB1

0 運行隊列指針就緒表指針等待表1指針…索引方式PCB表PCB1PCB2PCB3PCB4PCB5PCB6……PCBn空閑表指針…就緒索引表…等待索引表1等待表2指針Linux進(jìn)程鏈表雙向循環(huán)鏈表進(jìn)程可運行隊列鏈表散列鏈表等待隊列鏈表隊列管理和狀態(tài)轉(zhuǎn)換示意圖處理器提交 指派超時事件1等待隊列事件2等待隊列事件n等待隊列就緒隊列 完成……等待事件1等待事件2等待事件n事件1出現(xiàn)事件2出現(xiàn)事件n出現(xiàn)2.3.4進(jìn)程切換與CPU模式切換進(jìn)程切換是讓處于運行態(tài)的進(jìn)程中斷運行,讓出處理器,這時要做一次進(jìn)程上下文切換、即保存老進(jìn)程狀態(tài)而裝入被保護(hù)了的新進(jìn)程的狀態(tài),以便新進(jìn)程運行進(jìn)程切換的步驟保存被中斷進(jìn)程的處理器現(xiàn)場信息修改被中斷進(jìn)程的進(jìn)程控制塊的有關(guān)信息,如進(jìn)程狀態(tài)等把被中斷進(jìn)程的進(jìn)程控制塊加入有關(guān)隊列選擇下一個占有處理器運行的進(jìn)程修改被選中進(jìn)程的進(jìn)程控制塊的有關(guān)信息

根據(jù)被選中進(jìn)程設(shè)置操作系統(tǒng)用到的地址轉(zhuǎn)換和存儲保護(hù)信息根據(jù)被選中進(jìn)程恢復(fù)處理器現(xiàn)場調(diào)度和切換時機(jī)問題

請求調(diào)度的事件發(fā)生后,就會運行低級調(diào)度程序,低級調(diào)度程序選中新的就緒進(jìn)程后,就會進(jìn)行上下文切換。實際上,由于種種原因,調(diào)度和切換并不一定能一氣呵成。

通常的做法是,由內(nèi)核置上請求調(diào)度標(biāo)志,延遲到上述工作完成后再進(jìn)行調(diào)度和進(jìn)程

上下文切換,Linux進(jìn)程調(diào)度標(biāo)志位need-resched, Windows延遲過程調(diào)用DPC/dispatch軟件 中斷。處理器模式切換當(dāng)中斷發(fā)生時,暫時中斷正在執(zhí) 行的用戶進(jìn)程,把進(jìn)程從用戶狀 態(tài)切換到內(nèi)核狀態(tài),去執(zhí)行操作 系統(tǒng)例行程序以獲得服務(wù),這就 是一次模式切換,內(nèi)核在被中斷了的進(jìn)程的上下文 中對這個中斷事件作處理,即使 該中斷可能不是此進(jìn)程引起的模式切換的步驟保存被中斷進(jìn)程的處理器現(xiàn)場信息;處理器從用戶態(tài)切換到核心態(tài),以便執(zhí)行服務(wù)程序或中斷處理程序;如果處理中斷,可根據(jù)規(guī)定的中斷級設(shè)置中斷屏蔽位;根據(jù)系統(tǒng)調(diào)用號或中斷號,從系統(tǒng)調(diào)用表或中斷入口表找到服務(wù)程序或中斷處理程序地址。CPU上執(zhí)行的進(jìn)程所處活動范圍用戶空間中,處于進(jìn)程上下文,用戶進(jìn)程在運行,使用用戶棧。內(nèi)核空間中,處于進(jìn)程上下文,內(nèi)核代表某進(jìn)程在運行,使用核心棧。內(nèi)核空間中,處于中斷上下文,與任何進(jìn)程無關(guān),中斷服務(wù)程序正在處理特定中斷,Intel

x86未提供中斷棧,借用核心棧。UNIX/Linux中上下文切換和模式切換核心態(tài)運行斷(隱含模式切換)模式切換用戶態(tài)運行系統(tǒng)調(diào)用或中等待狀態(tài)就緒狀態(tài)發(fā)生事件喚醒調(diào)度進(jìn)程中斷、中斷返回允許的上下文切換切換2.3.5進(jìn)程的控制和管理(1)處理器管理的一個主要工作是對進(jìn)程的控制,包括:創(chuàng)建進(jìn)程、阻塞進(jìn)程、喚醒進(jìn)程、掛起進(jìn)程、激活進(jìn)程、終止進(jìn)程和撤銷進(jìn)程等。這些控制和管理功

溫馨提示

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

評論

0/150

提交評論