- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要
无论在批处理系统还是分时系统中,一个系统最重要的任务就是进程的调度。进程一般都多于处理机数,但是,处理机在某一时刻只能执行一个进程。这将导致进程互相争夺处理机,导致处理效率低下。因此,引进进程调度这一机制。
进程的调度有多种算法,我们为了更好地了解这些算法,决定对此进行模拟,主要包括:先来先服务调度算法、最高优先数优先算法、时间片轮转算法。
目录
摘要 2
1. 概述 4
2. 课程设计任务及要求 4
2.1 设计任务 4
2.2 设计要求 4
3.算法及数据结构 5
3.1算法的总体思想 5
3.1.1最高优先数优先的调度算法 5
3.1.2时间片轮转法 5
3.1.3先来先服务算法 5
3.2最高优先数优先模块 5
3.2.1 功能 5
3.2.2 数据结构 6
3.2.3 算法 6
3.3时间片轮转法模块 6
3.3.1功能 6
3.3.2 数据结构 7
3.3.3算法 7
3.4先来先服务模块 7
3.4.1功能 7
3.4.2数据结构 8
3.4.3算法 9
4. 程序设计与实现 10
4.1 程序流程图 10
4.2 程序代码 13
4.3 实验结果 15
5. 结论 17
6. 收获、体会和建议 17
陈亦信心得 17
潘炯填心得 17
7. 参考文献 18
概述
这次课程设计要求用C语言编写一个进程调度模拟程序,并使其在红帽Linux环境下能够正常运行。程序要求能够让用户自己选择进程调度的算法:1、最高优先数优先算法;2、时间片轮转法;3、先来先服务算法。
并根据用户选择的算法,系统能够自动进行运行,并给出进程调度的结果,输出在页面上。
2. 课程设计任务及要求 完成工作 完成人 周三下午 审题,根据要求,编写基本的链表结构 陈亦信 周四上午 商议工作分配,编写输出函数 陈亦信 周四下午 编写时间片轮转算法的代码 陈亦信 周五上午 编写最高优先级优先算法的代码 陈亦信 周五下午 完成上述算法的代码 陈亦信 潘炯填工作进度表
时间 完成工作 完成人 周三下午 完成文档排版,算法设计思想并画程序流程图 潘炯填 周四上午 完成大部分文档,并根据文档内容编写FCFS算法代码 潘炯填 周四下午 根据文档内容编写FCFS算法代码 潘炯填 周五上午 根据文档内容编写FCFS算法代码 潘炯填 周五下午 根据代码及运行结果,完成文档 潘炯填
2.2 设计要求
(1)编写一个进程调度程序,允许多个进程共享进程调度程序。(Linux系统下运行)
(2)采用 a.最高优先数优先的调度算法(即把处理机分配给优先数最高的进程);
b.时间片轮转法;
c.先来先服务算法。
(3)每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。
(4)进程的优先数、到达时间、时间片以及需要的运行时间由随机数产生。
(5)选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。
(6)程序中进程的运行时间以时间片为单位计算。
3.算法及数据结构
3.2.1 功能3.2.2 数据结构3.2.3 算法3.3.1功能
3.3.2 数据结构
3.3.3算法4. 程序设计与实现
{int i;e READY,TAIL,RUN,FINISH,FX;
printf(请输入你要的进程数:);
scanf(%d,i);
READY=(e)malloc(sizeof(pt));
FINISH=(e)malloc(sizeof(pt));
printf(******** \n);
TAIL=CREATE(READY,i);
printf(******** );
READY=READY-next;
PRINTX(READY,NULL,NULL);
printf(\n---------\n);
i=0;
while(READY)
{sleep(1);
Tt=TAIL;
signal(SIGINT,Dynamic);
if(DFlag==1)
{TAIL=Tt;
DFlag=0;
}
RUN=READY;
READY=mvfg(READY,FINISH); if(i==0)
FINISH=FINISH-next;
PRINTX2(READY,FINISH,RUN);
printf(\n\n*******\n);
i++;
}
PRINTX(READY,FINISH,NULL);
printf(\n\n*******\n);
}
void ROUNDROBIND()//时间片轮转算法即时版
{int i;e REA
您可能关注的文档
最近下载
- 浙江金华市金婺资源开发集团有限公司招聘笔试题库2023.pdf VIP
- 2025-2026学年沪书画版(五四学制)(2024)小学美术一年级上册(全册)教学设计(附目录P102).docx
- 九年级化学上册单元练习题2.doc VIP
- 20210810-海通国际-中国有色金属行业:决战元素周期表.pdf VIP
- 三峡大学2020年831电路考研真题.docx VIP
- YD 5178-2017-T 通信管道人孔和手孔图集.pptx VIP
- 学堂在线网课《如何写好科研论文》课后作业单元考核答案.docx VIP
- 三种人(工作票签发人、负责人、许可人)培训.ppt VIP
- 初中数学专题:有理数混合运算.doc VIP
- 部编版九年级上全册古文注释、翻译、简答、阅读习题及答案 .pdf VIP
文档评论(0)