第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/8/10 21:15:27 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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函数的编写。

操作系统实验一处理机调度算法的实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6nuv64btr70fluh9boav3qhtz4wh2h00tvh_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top