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

操作系统实验一处理机调度算法的实现

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

p=Q.front->next;

printf(\已输入的五个进程为:\\n\ while(p!=NULL){

printf(\进程名是:%s,状态为:就绪,优先数为:%d,需要运行的时间

为:%d\\n\ } }

LinkQueue running(LinkQueue Q)//建立进程就绪函数 {

if(k->time==0) {

printf(\运行后进程 [%s] 已完成 ,状态为:结束。\\n\ free(k); }else{

(k->pri)--;//每运行一次优先数减“1” (k->time)--;//每运行一次运行时间减“1” p=p->next;

printf(\运行后的优先数是:%d,需要的运行时间是:%d\\n\\n\ }

return Q; }

void main()//最后是主函数

Q=sort(Q,k);

{ int m=0; LinkQueue p; p=InitQueue(); p=input(p); check(p);

while((p.front->next)!=NULL) { m++; }

printf(\进程已经完成.\\n\}

程序运行结果截图如下: 实验体会:

刚开始的时候不知道用什么数据结构,只知道PCB这个结构中有什么,根据题目得知其中包括进程的名字、优先运行数、运行时间。在看了数据结构的书和一个已经写好的程序后得知,应该使用链式队列。但是初始化链式队列之后,问题就来了,应该定义哪些函数来运行进程满足题目的要求??根据题目分析出,需要四个函数,对进程的优先数进行

k=p.front->next;//k指向对头节点 p.front->next=k->next;//删除对头节点 k->next=NULL;

printf(\第%d次运行,被选中进程是:%s \p=running(p);

从小到大排列的sort()函数,对进程进行检查和判断的check()函数,对进程进行优先数减1和运行时间减1的running()函数,最后是主函数main()。运行时出现了指针混乱的问题和记录运行的变量没有初始化的问题,最为困难的是sort函数的编写。

操作系统实验一处理机调度算法的实现

p=Q.front->next;printf(\已输入的五个进程为:\\n\while(p!=NULL){printf(\进程名是:%s,状态为:就绪,优先数为:%d,需要运行的时间为:%d\\n\}}LinkQueuerunning(LinkQueueQ)//建立进程就绪函数{if(k-
推荐度:
点击下载文档文档为doc格式
6nuv64btr70fluh9boav3qhtz4wh2h00tvh
领取福利

微信扫码领取福利

微信扫码分享