实验一 进程调度算法模拟

实验一 进程调度算法模拟

ID:10189069

大小:144.50 KB

页数:10页

时间:2018-06-12

实验一 进程调度算法模拟_第1页
实验一 进程调度算法模拟_第2页
实验一 进程调度算法模拟_第3页
实验一 进程调度算法模拟_第4页
实验一 进程调度算法模拟_第5页
资源描述:

《实验一 进程调度算法模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统实验报告(一)班级:计1001姓名:车琛学号:201007010113实验一进程调度算法模拟1.内容:设计一个简单的进程调度算法,模拟OS中的进程调度过程;2.要求:①进程数不少于5个;②进程调度算法任选;可以用动态优先数加时间片轮转法实现进程调度,每运行一个时间片优先数减3;③用C语言编程;④程序运行时显示进程调度过程。3.步骤:①设计PCB及其数据结构:进程标识数:ID进程优先数:PRIORITY(优先数越大,优先级越高)进程已占用时间片:CPUTIME,每得到一次调度,值加1;进程还需占用时间片:ALLTIME,每得到一次调度,该值减1,一旦运行完毕,ALLTIME为0

2、)进程队列指针:NEXT,用来将PCB排成队列进程状态:STATE(一般为就绪,可以不用)②设计进程就绪队列及数据结构;③设计进程调度算法,并画出程序流程图;④设计输入数据和输出格式;结构格式:当前正运行的进程:0当前就绪队列:2,1,3,4⑤编程上机,验证结果。4.提示:假设调度前,系统中有5个进程,其初始状态如下:ID01234PRIORITY93830290可否考虑用数组或链表去实现CPUTIME00000ALLTIME32634STATEreadyreadyreadyreadyready①以时间片为单位调度运行;②每次调度ALLTIME不为0,且PRIORITY最大的进程运行

3、一个时间片;③上述进程运行后其优先数减3,再修改其CPUTIME和ALLTIME,重复②,③④直到所有进程的ALLTIME均变为0。5.书写实验报告①实验题目;②程序中所用数据结构及说明;③清单程序及描述;④执行结果。代码清单#include#include#include#include#include#defineMINSIZE5typedefenumSTATE{ready,running,stop,}STATE;typedefstructPCB{intpid;intprior

4、ity;//进程优先级intcputime;intalltime;STATEstate;structPCBprev;structPCBnext;}PCB;typedefPCBNode;voidinit_process(Node&head){head=(PCB)malloc(sizeof(PCB));head->next=head;head->prev=head;}voidpush(Nodehead,Nodepnode){if(head==NULLpnode==NULL)return;Nodep=head->next;while(p!=head&&pnode->priority

5、priority){p=p->next;}pnode->next=p->prev->next;pnode->prev=p->prev;p->prev->next=pnode;p->prev=pnode;}voidshow_process(Nodehead){if(head==NULL)return;Nodep=head->next;cout<<"当前的就绪队列有:"<pid<<"";cout<<"优先级为"<priority<<"";cou

6、t<<"剩余ALLTIME为"<alltime<<"";cout<<"运行时间cputime为"<cputime<<"";cout<next;}cout<<""<next==head)returnNULL;Nodep=head->next;p->prev->next=p->next;p->next->prev=p->prev;returnp;}PCBcreate_process(intid,intpriority,intcpu

7、time,intalltime,STATEstate){PCBp=(PCB)malloc(sizeof(PCB));p->pid=id;p->cputime=cputime;p->alltime=alltime;p->priority=priority;p->state=state;p->next=NULL;p->prev=NULL;returnp;}voiddestroy_head(Nodehead){if(head==NULL)return;free(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。