好文档 - 专业文书写作范文服务资料分享网站

操作系统实验(实验2-5)

天下 分享 时间: 加入收藏 我要投稿 点赞

函数组成。其中: INSERT1的功能是把还未完成且优先数小于别的进程的进程PCB按进程优先数的顺序插入到就绪队列中。 INSERT2是轮转法使用的函数,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插到就绪队列的队尾。 FIRSTIN 的功能是将就绪队列中的第一个进程投入运行。 PRINT打印每执行一个时间片后的所有进程的状态,这里,就绪(等待)用“W”代表。 CREATE 的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。 PRISCH按优先数算法调度进程。 ROUNDSCH按时间片轮转法调度进程。 主程序中定义了PCB 的结构和其它变量:number——进程数,algo为10个字符长的字符串,存放要求输入的算法的名,PRIORITY 为优先数算法,ROUNDROBIN为循环轮转法,在程序运行时输入其中的一个。 3.主要算法

算法 PRISCH

{ while (当前运行进程不为空) {

进程占用CPU 时间加1 进程到完成还要的CPU时间减1 进程优先数减3

if(进程到完成还要的CPU时间为0) { 将该进程插入到完成队列中 修改该进程状态 当前运行进程指针为空 if(就绪队列不为空) FIRSTIN函数 }

else if (就绪队列不为空且当前进程优先数小于就绪队列中第一

个进程的优先数)

{ 修改当前进程状态为W INSERT1函数 FIRSTIN函数 } PRINT函数 } }

算法 ROUNDSCH

{ while (当前运行进程不为空)

{

进程占用CPU 时间加1 进程到完成还要的CPU时间减1 进程计数器加1

if(进程到完成还要的CPU时间为0) { 将该进程插入到完成队列中 修改该进程状态 当前运行进程指针为空 if(就绪队列不为空) FIRSTIN过程 }

else if (进程计数器等于进程轮转时间片) { 修改当前进程计数器为0 if(就绪队列不为空) { 修改当前进程状态为W INSERT2过程 FIRSTIN过程 } } PRINT过程 } }

六. 实验报告

1. 实验题目。

2. 采用的数据结构及符号说明。

3. 打印一份源程序清单,并附加流程图与注释。 4. 打印出两种算法的执行结果。

5. 比较两种算法的优缺点并分析实验过程中遇到的问题,谈谈实验后的体会。

操作系统实验(实验2-5)

函数组成。其中:INSERT1的功能是把还未完成且优先数小于别的进程的进程PCB按进程优先数的顺序插入到就绪队列中。INSERT2是轮转法使用的函数,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插到就绪队列的队尾。FIRSTIN的功能是将就绪队列中的第一个进程投入运行。PRINT打印每执行一个时间片后的所有进程的状态,这里,就绪(等待)用“W”代表。CREA
推荐度:
点击下载文档文档为doc格式
7iw6v3cxnj1x2cx44e354ncj33s24s019na
领取福利

微信扫码领取福利

微信扫码分享