版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、關于進程管理的討論實驗四班況建煒2801309008關鍵詞:進程管理WindowsUnixLinux摘要:進程管理在并發(fā)式操作系統(tǒng)中是非常重要的一個部分,好的進程調(diào)度算法能夠大大提高系統(tǒng)運行的效率。本文結合操作系統(tǒng)課上所學的知識,通過對三種操作系統(tǒng)進程管理部分的比較,加深對進程管理的理解。一、引言隨著硬件的不斷發(fā)展,處理器的運算能力越來越強大,當今的操作系統(tǒng)中,并發(fā)式系統(tǒng)占主流地位。為了描述程序在并發(fā)執(zhí)行時對系統(tǒng)資源的共享,我們需要一個
2、描述執(zhí)行時動態(tài)特征的概念,這就是進程。進程管理在一個操作系統(tǒng)中占據(jù)非常重要的位置,一個好的系統(tǒng)必須有一個優(yōu)秀的進程管理機制,包括進程創(chuàng)建,掛起,狀態(tài)轉(zhuǎn)換,調(diào)度算法等。本文主要對調(diào)度策略進行研究,通過對三種系統(tǒng)調(diào)度策略的比較加深對進程管理的理解。二、進程相關簡介2.1進程的定義和描述進程是一個具有一定獨立功能的程序在一個數(shù)據(jù)集合上的一次動態(tài)執(zhí)行過程。進程與處理機、存儲器和外設等資源的分配和回收相對應,進程是計算機系統(tǒng)資源的使用主體。在操作
3、系統(tǒng)中引入進程的并發(fā)執(zhí)行,是指多個進程在同一計算機操作系統(tǒng)中的并發(fā)執(zhí)行。引入進程并發(fā)執(zhí)行可提高對硬件資源的利用率,但又會帶來額外的空間和時間開銷,增加了操作系統(tǒng)的復雜性。2.2線程在操作系統(tǒng)中,進程的引入提高了計算機資源的利用率。但在進一步提高進程的并發(fā)性時,人們發(fā)現(xiàn)進程切換開銷占的比重越來越大,同時進程間通信的效率也收到限制。線程的引入正式為了簡化進程間的通信,以小的開銷來提高進程內(nèi)的并發(fā)程度。在只有進程概念的操作系統(tǒng)中,進程是存儲器
4、、外設等資源的分配單位,同時也是處理機調(diào)度的對象。為了提高進程內(nèi)的并發(fā)性,在引入線程的操作系統(tǒng)中,把線程作為處理機調(diào)度的對象,而把進程作為資源分配單位,一個進程內(nèi)可同時有多個并發(fā)執(zhí)行的線程。線程是一個動態(tài)的對象,是處理機調(diào)度的基本單位,表示進程中的一個控制點,執(zhí)行一系列的指令。由于同一進程內(nèi)的各線程都可訪問整個進程的所有資源,所以它們之間的通信比進程間通信要方便;而同一進程內(nèi)的線程間切換也由于許多上下文相同的簡化。2.3處理機調(diào)度在多道
5、程序設計系統(tǒng)中,內(nèi)存中有多道程序運行,他們相互爭奪處理機這一重要的資源。處理機調(diào)度就是從就緒隊列中,按照一定的算法選擇一個進程并將處理機分配給它運行,以實現(xiàn)進程并發(fā)地執(zhí)行。一般情況下,當占用處理機的進程因為某種請求得不到滿足而不得不放棄CPU進入等待狀態(tài)時,或者當時間片到,系統(tǒng)不得不將CPU分配給就緒隊列中另一進程的時候,率。(2)重要程序的進程優(yōu)先數(shù)大,怎樣有利于用戶靈活操作。(3)進入計算機系統(tǒng)時間長的進程優(yōu)先數(shù)大,這樣有利于縮短作
6、業(yè)的完成時間。(4)交互式用戶作業(yè)進程優(yōu)先數(shù)大,這樣有利于提高中斷響應時間。優(yōu)先數(shù)的設置可以采用靜態(tài)和動態(tài)兩種方式。靜態(tài)設置方式就是指系統(tǒng)在建立一個進程時,就按照某種原則為進程制定一個優(yōu)先數(shù),這個優(yōu)先數(shù)在進程存在期間一直保持不變。而動態(tài)設置方式是指系統(tǒng)在進程存在期間經(jīng)常改變進程的優(yōu)先數(shù),如何動態(tài)的改變進程的優(yōu)先數(shù),依賴于具體操作系統(tǒng)的設計目標。三、WindowsServer2003線程調(diào)度作為一個實際的操作系統(tǒng),WindowsServe
7、r2003的處理機調(diào)度的調(diào)度對象是線程,所以也稱為線程調(diào)度。但WindowsServer2003的線程調(diào)度并不是單純使用某一種調(diào)度算法,而是使用多種算法,針對實際系統(tǒng)的需要進行針對性的優(yōu)化和改進。WindowsServer2003實現(xiàn)了一個基于優(yōu)先級的搶先式多處理機調(diào)度系統(tǒng)。調(diào)度系統(tǒng)總是運行優(yōu)先級最高的就緒線程。通常線程可以在任何可用的處理機上運行,但可以限制某線程只能在某處理機上運行。當一個線程被調(diào)度進入運行狀態(tài)時,它可運行一個成為時
8、間配額的時間片。時間配額是WindowsServer2003允許一個線程連續(xù)運行的最大時間長度,隨后系統(tǒng)會中斷該線程的運行,判斷是否需要降低該線程的優(yōu)先級,并查找是否有其他高優(yōu)先級或相同優(yōu)先級的線程等待運行。不同的版本系統(tǒng)默認時間配額是不同的,同一系統(tǒng)中個線程的時間配額是可以修改的。由于WindowsServer2003所具有的搶先式調(diào)度特征,一個線程的一次調(diào)度執(zhí)行可能并沒有用完它的時間配額。如果一個高優(yōu)先級的線程進入就緒狀態(tài),當前運行
9、的線程可能在用完它的時間配額前就被搶先。事實上,一個線程甚至可能在被調(diào)度進運行狀態(tài)后開始運行之前就被搶先。我們已說過,WindowsServer2003的處理機調(diào)度對象是線程,這時的進程僅作為提供資源對象和線程的運行環(huán)境,而不作為處理機調(diào)度的對象。處理機調(diào)度是嚴格針對線程進行的,并不考慮調(diào)度線程屬于哪個進程。例如,進程A有10個可運行的線程,進程B有2個可運行的線程,這12個線程的優(yōu)先級都相同,每個線程都將得到112的處理及時間。Win
10、dowsServer2003并不會把處理機時間分成相同的兩部分,一部分給進程A,另一部分給進程B。四、Linux處理機調(diào)度Linux系統(tǒng)作業(yè)調(diào)度非常簡單,或者說沒有作業(yè)調(diào)度。Linux系統(tǒng)中的內(nèi)核級線程和進程在表示、管理調(diào)度方面沒有差別,系統(tǒng)也沒有專門的線程調(diào)度,采用進程調(diào)度統(tǒng)一處理進程和內(nèi)核級線程。Linux系統(tǒng)提供了三種進程調(diào)度算法,這三種算法可由用戶通過宏定義來選擇??墒褂玫恼{(diào)度策略為:調(diào)度策略標志所代表的調(diào)度策略#defineS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論