linux处理机调度实验报告,模拟Linux操作系统下处理机调度实验报告
在采用多道系統(tǒng)的設(shè)計(jì)程序中,往往有若干進(jìn)程同時(shí)處于就緒狀態(tài)。當(dāng)就緒狀態(tài)進(jìn)程數(shù)大于處理機(jī)數(shù)時(shí),就必須按照某種策略來(lái)決定哪些進(jìn)程優(yōu)先占用處理機(jī)。本實(shí)驗(yàn)?zāi)M在單處理機(jī)情況下處理機(jī)調(diào)度
處理機(jī)調(diào)度
一、實(shí)驗(yàn)?zāi)康?#xff1a;
1、了解Linux下Emacs編輯器的使用方法,掌握各種常用的鍵盤(pán)操作命令;
2、理解并掌握處理機(jī)調(diào)度算法。
二、實(shí)驗(yàn)內(nèi)容及要求:
在采用多道系統(tǒng)的設(shè)計(jì)程序中,往往有若干進(jìn)程同時(shí)處于就緒狀態(tài)。當(dāng)就緒狀態(tài)進(jìn)程數(shù)大于處理機(jī)數(shù)時(shí),就必須按照某種策略來(lái)決定哪些進(jìn)程優(yōu)先占用處理機(jī)。本實(shí)驗(yàn)?zāi)M在單處理機(jī)情況下處理機(jī)調(diào)度。
1、優(yōu)先調(diào)度算法實(shí)現(xiàn)處理機(jī)的調(diào)度:
設(shè)計(jì)思路:
1)每個(gè)進(jìn)程用一個(gè)進(jìn)程控制塊PCB來(lái)代表,進(jìn)程控制塊包括進(jìn)程名(進(jìn)程的標(biāo)識(shí))、指針(按優(yōu)先數(shù)的大小把進(jìn)程連成隊(duì)列,用指針指出下一個(gè)進(jìn)程的進(jìn)程控制塊首地址,最后一個(gè)進(jìn)程中的指針為"0")、要求運(yùn)行時(shí)間、優(yōu)先數(shù)、狀態(tài)(就緒、結(jié)束);
2)每次運(yùn)行處理機(jī)調(diào)度程序前,為每個(gè)進(jìn)程確定它的"優(yōu)先數(shù)"和"要求運(yùn)行時(shí)間";
3)把給定的進(jìn)程按優(yōu)先數(shù)的大小連成隊(duì)列,用一單元指出隊(duì)首進(jìn)程;
4)每模擬執(zhí)行一次進(jìn)程,優(yōu)先數(shù)減一,要求運(yùn)行時(shí)間減一;
5)如果要求運(yùn)行的時(shí)間>=0,再將它加入隊(duì)列(按優(yōu)先數(shù)的大小插入,重置隊(duì)首標(biāo)志);如果要求運(yùn)行的時(shí)間=0,那么把它的狀態(tài)修改為結(jié)束,且推出隊(duì)列;
6)若就緒隊(duì)列不為空,重復(fù)上述,直到所有的進(jìn)程都結(jié)束;
7)程序有顯示和打印語(yǔ)句,每次運(yùn)行后顯示變化。
2、按時(shí)間片輪轉(zhuǎn)法實(shí)現(xiàn)處理機(jī)調(diào)度:
設(shè)計(jì)思路:
1)每個(gè)進(jìn)程用一個(gè)進(jìn)程控制塊PCB來(lái)代表,進(jìn)程控制塊包括進(jìn)程名(進(jìn)程的標(biāo)識(shí))、指針(把進(jìn)程連成循環(huán)隊(duì)列,用指針指出下一個(gè)進(jìn)程的進(jìn)程控制塊首地址,最后一個(gè)進(jìn)程中的指針指出第一個(gè)進(jìn)程的進(jìn)程控制塊首地址)、已運(yùn)行時(shí)間、狀態(tài)(就緒、結(jié)束);
2)每次運(yùn)行處理機(jī)調(diào)度程序前,為每個(gè)進(jìn)程確定它的"要求運(yùn)行時(shí)間";
3)用指針把給定的進(jìn)程按順序排成循環(huán)隊(duì)列,用另一標(biāo)志單元記錄輪到的進(jìn)程;
4)每模擬運(yùn)行一次進(jìn)程,已運(yùn)行時(shí)間加一;
5)進(jìn)程運(yùn)行一次后,把該進(jìn)程控制塊的指針值送到標(biāo)志單元,以指示下一個(gè)輪到的進(jìn)程。若該進(jìn)程要求運(yùn)行時(shí)間≠已運(yùn)行時(shí)間,未執(zhí)行結(jié)束,待到下一輪再執(zhí)行;若要求運(yùn)行時(shí)間=已運(yùn)行時(shí)間,狀態(tài)改為結(jié)束,退出隊(duì)列;
6)若就緒隊(duì)列不為空,重復(fù)步驟四和五;
7)程序有顯示和打印語(yǔ)句,每次運(yùn)行后顯示變化。
三、程序設(shè)計(jì):
1、優(yōu)先數(shù)調(diào)度算法:
/*我的思路:先主函數(shù)輸入要進(jìn)行調(diào)度的進(jìn)程數(shù),然后調(diào)用函數(shù)create(),把進(jìn)程的信息輸入,
總結(jié)
以上是生活随笔為你收集整理的linux处理机调度实验报告,模拟Linux操作系统下处理机调度实验报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 修改linux绑定的域名,手工修改lin
- 下一篇: linux怎么进入文件夹_Linux基础