您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页处理机调度算法实验报告

处理机调度算法实验报告

来源:筏尚旅游网
实验二 处理机调度算法

(1)处理机调度的目的是什么? 为提高内存利用率和系统吞吐量。 将那些暂时不能运行的进程调至外存,当内存不紧张时,将那些具备运行条件的就绪进程重新调入内存。

合理快速的处理计算机软件硬件资源,分配处理机,用以提高处理机的利用率及改善系统性能(吞吐量,响应时间)。

(2)处理机调度的算法有哪些,各自的优缺点是什么? ① 先来先服务算法:有利于长作业(进程),不利于短作业(进程); ② 短作业优先调度算法:有利于短作业(短进程),不利于长作业(长进程);

③ 高优先权调度算法:静态缺点:可能导致低优先权进程长期得不到调度甚至饿死; 动态:优先权随进程等待时间增加或执行而变

④ 高响应比优先调度算法

⑤ 基于时间片轮转调度算法:时间片太小,会频繁发生中断,系统开销增大 时间片太大,响应进程慢。

⑥ 多级反馈队列调度算法:具有较好的性能,能很好满足各类型用户的需求。

(3)基于两种处理机调度算法,分别解答例题中的三个问题; 作业名 A B D C 到达时间 1 3 6 4 服务时间 4 3 2 5 开始时间 1 5 8 10 完成时间 5 8 10 15 周转时间 4 5 4 11 1. 内存中作业运行的序列:A、B、D、C 2. A进入内存的时刻1,结束的时刻5

B进入内存的时刻5,结束的时刻8 D进入内存的时刻8,结束的时刻10 C进入内存的时刻10,结束的时刻15 3.平均周转时间:6 作业名 B C A D 到达时间 3 4 1 6 服务时间 3 5 4 2 开始时间 3 6 11 15 完成时间 6 11 15 17 周转时间 3 7 14 11 1. 内存中作业运行的序列:B、C、A、D 2. B进入内存的时刻3,结束的时刻6

C进入内存的时刻6,结束的时刻11 A进入内存的时刻11,结束的时刻15 D进入内存的时刻15,结束的时刻17 3.平均周转时间:8.75

(4)画出处理机调度算法的程序流程图;

开始

初始化PVB,输入进程信息

各进程按优先权数从高到低排列

是 就绪队列空? 结束

就绪队列首进程投入运行

时间片到,运行进程已占用 CPU时间+1

行 进 程 占 用 已到达 运已 CPU时间已达到 所需的运行时间

进程完成

撤销该进程 未到达 使运行进程的优先数减1 把运行进程插入就绪队列

(5)补全参考程序;

void process(int currentTmp, int nextTmp) { int j;

int s=nextTmp-currentTmp;

while(memoryNum>0 && s>=memory[0].needtime){ totalTime=totalTime+memory[0].needtime; s=s-memory[0].needtime;

printf(\"线程%c的开始时间是:%d,结束时间

是:%f\\n\ allTime+=totalTime+1; memoryNum--;

for(j = 1; j<=memoryNum; j++) memory[j-1] = memory[j];

if(waitNum>0 && s>0){

memory[memoryNum] = wait[0]; memoryNum++; waitNum--;

for(j = 1; j<=waitNum; j++) wait[j-1] = wait[j];

sort(memory,memoryNum, 'P'); } }

if(memoryNum>0 && s}

//选择排序算法,若key为'P'则按优先级大的排在数组首,否则为'N'则按所需时间进行短作业优先排序

void sort(PCB *pcb,int count, char key) { PCB *p;

PCB mao; int i,j;

if(key=='P'){

for(i=0;ifor(j=0;jif((p->priority)>((p+1)->priority)){ mao=*p;

*p=*(p+1); *(p+1)=mao; } p++; } }

}else if(key=='N'){

for(i=0;ifor(j=0;jif((p->needtime)>((p+1)->needtime)){ mao=*p; *p=*(p+1); *(p+1)=mao; } p++; } } }

}

(6)基于例题中的例子,分别运行两种处理机调度算法并将运行结果截图。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务