![《計算機(jī)操作系統(tǒng)》第2章課件_第1頁](http://file4.renrendoc.com/view/6b0d24ce61043d0dd45008b96e763a59/6b0d24ce61043d0dd45008b96e763a591.gif)
![《計算機(jī)操作系統(tǒng)》第2章課件_第2頁](http://file4.renrendoc.com/view/6b0d24ce61043d0dd45008b96e763a59/6b0d24ce61043d0dd45008b96e763a592.gif)
![《計算機(jī)操作系統(tǒng)》第2章課件_第3頁](http://file4.renrendoc.com/view/6b0d24ce61043d0dd45008b96e763a59/6b0d24ce61043d0dd45008b96e763a593.gif)
![《計算機(jī)操作系統(tǒng)》第2章課件_第4頁](http://file4.renrendoc.com/view/6b0d24ce61043d0dd45008b96e763a59/6b0d24ce61043d0dd45008b96e763a594.gif)
![《計算機(jī)操作系統(tǒng)》第2章課件_第5頁](http://file4.renrendoc.com/view/6b0d24ce61043d0dd45008b96e763a59/6b0d24ce61043d0dd45008b96e763a595.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)操作系統(tǒng)回顧操作系統(tǒng)概論操作系統(tǒng)基本概念和發(fā)展史操作系統(tǒng)類型操作系統(tǒng)接口及接口實(shí)例批處理分時、實(shí)時網(wǎng)絡(luò)分布式2進(jìn)程與線程第章本章目標(biāo)掌握進(jìn)程的概念掌握進(jìn)程調(diào)度的原理掌握進(jìn)程通信機(jī)制了解線程的概念什么是進(jìn)程什么是進(jìn)程 進(jìn)程是一個可并發(fā)執(zhí)行的具有獨(dú)立功能的程序關(guān)于某個數(shù)據(jù)集合的一次執(zhí)行過程,也是操作系統(tǒng)進(jìn)行資源分配和保護(hù)的基本單位。簡單的說:程序的一次執(zhí)行就是一個進(jìn)程。進(jìn)程的特性一個程序可以派生多個進(jìn)程。多個不同程序運(yùn)行時,也會有多個相對應(yīng)進(jìn)程與其對應(yīng)。進(jìn)程是動態(tài)的,有始有終,有生命周期,有進(jìn)程狀態(tài)變化。進(jìn)程與程序的區(qū)別程序是“靜止”、無生命的,進(jìn)程是“活動”的。程序可以脫離機(jī)器長期保存,而進(jìn)程是執(zhí)行著的程序。程序不具有并發(fā)特征,不占系統(tǒng)資源,進(jìn)程則相反,并受到其他進(jìn)程的制約和影響。一個程序可對應(yīng)多個進(jìn)程。
進(jìn)程的三種基本狀態(tài)運(yùn)行狀態(tài)就緒狀態(tài)等待狀態(tài)進(jìn)程狀態(tài)的變遷進(jìn)程調(diào)度的概念進(jìn)程調(diào)度也稱為處理機(jī)調(diào)度,它協(xié)調(diào)和控制各進(jìn)程對CPU的使用。相應(yīng)的進(jìn)程調(diào)度程序可叫分配程序或低級調(diào)度程序。進(jìn)程調(diào)度算法調(diào)度算法先來先服務(wù)最短周期優(yōu)先優(yōu)先級法輪轉(zhuǎn)法多隊列反饋法先來先服務(wù)只考慮進(jìn)程進(jìn)入就緒隊列的先后,而不考慮它的下一個CPU周期的長短及其他因素。
p3p2p1進(jìn)程就緒隊列p2p3p1進(jìn)程就緒隊列先來先服務(wù)舉例設(shè)P1占CPU時間為24ns,P2為3ns,P3為3ns。則執(zhí)行情況如下所示:
t
0242730P1P2P3結(jié)果
p1需24nsp2需(24+3)nsp3需要t3=(24+3+3)ns平均為(24+27+30)/3=27ns最短周期優(yōu)先法將周期短的進(jìn)程放在前面,長的放在后面。p1p2p31p1p3p22p2p1p33p3p1p24p3p2p15p2p3p16其他算法優(yōu)先級法:隊列中優(yōu)先級最高的進(jìn)程投入運(yùn)行,而不管CPU周期的長短和其他因素。輪轉(zhuǎn)法:按一定時間片(記為q)輪番運(yùn)行各個進(jìn)程。如果q是一個定值,則輪轉(zhuǎn)法是一種對各進(jìn)程機(jī)會均等的調(diào)度方法。多隊列反饋法:把就緒進(jìn)程按優(yōu)先級排成多個隊列,同隊列的進(jìn)程具有相同的時間片。高優(yōu)先級隊列的時間片比低優(yōu)先級隊列的小。死鎖死鎖就是多個進(jìn)程競爭資源而形成的一種僵持局面死鎖的起因系統(tǒng)內(nèi)的資源數(shù)量不足進(jìn)程推進(jìn)的順序不當(dāng)防范死鎖機(jī)制死鎖預(yù)防死鎖避免(防止系統(tǒng)進(jìn)入不安全狀態(tài))檢測與恢復(fù)打破資源的互斥和不可剝奪條件打破死鎖的環(huán)路條件進(jìn)程通信軟中斷(通過發(fā)送信號給進(jìn)程來實(shí)現(xiàn))共享存儲(將信息發(fā)送到存儲區(qū)域,供接受進(jìn)程讀?。┕蚕砦募ㄟM(jìn)程間通過共享文件來傳達(dá)信息)消息傳遞(把一組比特位傳遞到對方進(jìn)程的接受地點(diǎn))信箱(信箱頭和包括若干信格的信箱體組成)共享存儲原理圖進(jìn)程控制塊進(jìn)程控制塊(PCB)是描述進(jìn)程名字、狀態(tài)、程序段與數(shù)據(jù)段的數(shù)據(jù)結(jié)構(gòu)。線程的概念線程是進(jìn)程的一個實(shí)體,被系統(tǒng)獨(dú)立調(diào)度和分配。除寄存器和棧等,本身基本不擁有系統(tǒng)資源。
一個線程可以創(chuàng)建和撤銷另一個線程;同一進(jìn)程中的多個線程之間可以并發(fā)執(zhí)行;線程同樣有就緒、阻塞和執(zhí)行三種基本狀態(tài)。線程與進(jìn)程的比較線程是調(diào)度和分配的基本單位,而進(jìn)程是資源擁有的基本單位;進(jìn)程間可并發(fā)執(zhí)行,進(jìn)程中的線程亦可并發(fā)執(zhí)行;進(jìn)程的調(diào)度與切換都是由操作系統(tǒng)內(nèi)核完成,而線程則既可由操作系統(tǒng)內(nèi)核完成,也可由用戶程序進(jìn)行。
Linux進(jìn)程的屬性
進(jìn)程ID;父進(jìn)程和父進(jìn)程的ID;用戶ID(UID)和所歸屬的組(GID);進(jìn)程狀態(tài):分為運(yùn)行R、休眠S、僵尸Z;進(jìn)程執(zhí)行的優(yōu)先級;進(jìn)程所連接的終端名。Linux進(jìn)程管理工具
Ps:監(jiān)視進(jìn)程工具;
Pgrep:通過程序的名字來查詢進(jìn)程的工具;
kill:終止進(jìn)程;top監(jiān)視系統(tǒng)任務(wù)的工具。CPU調(diào)度實(shí)例實(shí)例說明實(shí)例目的模塊設(shè)計流程圖
模塊測試CPU調(diào)度代碼實(shí)踐
實(shí)例說明
功能是模擬CPU的調(diào)度,調(diào)度策略為基于動態(tài)優(yōu)先級的調(diào)度策略。實(shí)例是使用C語言實(shí)現(xiàn),可以在多種編譯工具上進(jìn)行調(diào)試(比如vc6.0,turboc等)。實(shí)例目的強(qiáng)調(diào)編寫代碼規(guī)范;加深理解操作系統(tǒng)的CPU調(diào)度策略;掌握分析方法:流程圖,偽代碼,N-S;掌握用c語言開發(fā)項(xiàng)目的思路;掌握測試方法;學(xué)會書寫相關(guān)文檔。模塊設(shè)計voidmain():CPU調(diào)度主函數(shù)voidjobSchedule():進(jìn)程調(diào)度voidinitJobs():初始化進(jìn)程控制塊列表voidOSRun():模擬操作系統(tǒng)的運(yùn)行PCB*createJob():進(jìn)程創(chuàng)建voidshowJobinfo(PCB*job):顯示進(jìn)程信息
voiddoJob(PCB*job):運(yùn)行指定的進(jìn)程int
random(int
imaxvalue):生成隨機(jī)整數(shù)
CPU調(diào)度流程圖進(jìn)程調(diào)試功能模塊的流程圖進(jìn)程調(diào)度功能模塊的N-S圖進(jìn)程調(diào)度功能模塊的偽代碼2-1void
jobSchedule(){
inti;#ifDEBUG
printf(“nowstepintojobSchedulefunction……\n”);#endifCURPCB=null;
for(遍歷進(jìn)程列表){
if(進(jìn)程列表項(xiàng)不為空){
釋放進(jìn)行所占空間;
進(jìn)程列表項(xiàng)置為空;
continue;
}CURPCB指向進(jìn)程;}
轉(zhuǎn)下一頁……}進(jìn)程調(diào)度功能模塊的偽代碼2-2void
jobSchedule(){
……
if(CURPCB不為空){
for(遍歷系統(tǒng)進(jìn)程列表){
if(進(jìn)程列表項(xiàng)不為空){CURPCB指向當(dāng)前遍歷到的進(jìn)程;}}}
else{SYS_RUN_FLAG=0;}}功能模塊測試測試方式1:
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 場景恐懼實(shí)驗(yàn)分析系統(tǒng)使用手冊
- 2025年度公司股東借款合同稅務(wù)處理及合規(guī)性
- 2025年度乳膠漆施工項(xiàng)目進(jìn)度跟蹤與報告合同
- 2025年度城市道路橋梁安裝施工合同范本
- 增加變更申請書
- 2025年度內(nèi)衣行業(yè)產(chǎn)品召回與消費(fèi)者權(quán)益保護(hù)合同
- 煤炭運(yùn)輸保險合同樣本
- 光洋股合同范例
- 2025年度個人低息借款合同(文化創(chuàng)意版)
- 食品加工居間合同意向書
- 中考物理復(fù)習(xí)備考策略
- 博士后進(jìn)站申請書博士后進(jìn)站申請書八篇
- 小報:人工智能科技科學(xué)小報手抄報電子小報word小報
- GB/T 41509-2022綠色制造干式切削工藝性能評價規(guī)范
- 全面介紹現(xiàn)貨中遠(yuǎn)期交易
- 公安系防暴安全03安檢
- 孫權(quán)勸學(xué)教案全國一等獎教學(xué)設(shè)計
- 企業(yè)生產(chǎn)現(xiàn)場6S管理知識培訓(xùn)課件
- 五年級下冊數(shù)學(xué)課件 第10課時 練習(xí)課 蘇教版(共11張PPT)
- 電梯口包邊施工方案正式
- 三年級道德與法治下冊我是獨(dú)特的
評論
0/150
提交評論