- 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小组处理器调度报告
组号 2 成绩
计算机操作系统
课程设计报告
题目 时间片轮转法进行CPU调度
专业: 网络工程
班级: 二班
学号+姓名: 20111346050
吴秀格
20111346037
刘丹丹
20111346047
陆一祎
指导教师: 赵晓平
2013年6月7日
目 录
一、设计目的 3
二、设计内容 3
三、实验要求 3
四、设计原理 4
五、详细设计及编码 4
5.1实验分析 4
5.2模块分析 4
5.3流程图 5
5.4代码实现 7
5.5运行示例及结果分析 13
六、心得体会 20
七、参考资料 20
八、成员分工 20
设计目的
在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下的处理器调度,帮助学生加深了解处理器调度的工作。
处理机调度是操作系统中非常重要的部分。为深入理解进程管理部分的功能,设计调度算法,模拟实现处理机的调度。本课程设计是用时间片轮转算法模拟单处理机调度。
二、 设计内容
(1)创建进程,每个进程包括三组数据:进程名,进程到达时间,服务时间。
(2)自定义模拟的进程数目。在进程数目之内,手动输入进程(进程名、到达时间和服务时间)。自定义时间片大小。
(3)定义一个时间轴,为参考。
(4)初始化时间轴,根据先到先服务的原则,将已到达的进程插入到执行队列。
(5)分配给执行队列的队首一个时间片,开始运行时间片减1,时间轴则向前推进1,。时间轴每推进一秒,检索是否有新的进程到达,若有则将到达的进程插入到执行队列的队尾。
(6)进程每运行1秒,服务时间减1,同时判断该进程是否运行完(服务时间是否为零)。运行完则退出执行队列。若没有则等待下一次运行。
(7)当一个时间片用完时,判断所有进程是否都运行完,若有,该模拟实验结束。
(8)当一个时间片用完时,判断该队首是否运行过一个完整的时间片,没有则保持该执行队列顺序不变。有,则将该进程插入到队尾。分配新的时间片给队首。
三、实验要求
1.分析设计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。
2.画出程序的基本结构框图和流程图。
3.对程序的每一部分要有详细的设计分析说明。
4.源代码格式要规范。
5.设计合适的测试用例,对得到的运行结果要有分析。
6.设计中遇到的问题,设计的心得体会。
7.按期提交完整的程序代码、可执行程序和课程设计报告。
四.设计原理
系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。时间片的大小从几ms到几百ms。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾:然后,再把处理机分配给就绪队列中的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一给定的时间内获得一时间片的处理机执行时间。换言之,系统能在给定的时间内响应所有用户的请求。、
五.详细设计及编码
5.1实验分析
时间片轮转的主要思想就是按顺序为每一个进程一次只分配一个时间片的时间。算法要完成的功能就是将各个进程按照时间片轮转运行的动态过程显示出来。时间片轮转算法的主要实现过程是首先为每一个进程创建一个进程控制块,定义数据结构,说明进程控制块所包含的内容,有进程名、进程所需运行时间、已运行时间和进程的状态以及指针的信息。实现的过程即运用指针指向某一个进程,判断当前的进程是否是就绪状态“r”,如果是,则为该进程分配一个时间片,同时,已运行时间加一且要求运行的时间减一,如此循环执行,当某一个进程的所需要运行的时间减少至0时,则将该进程的状态设置为“e”。然后,将指针指向下一个未运行完成的进程,重复判断,直至所有的进程都运行结束。
5.2模块分析
结构体
typedef struct PCB{
char name[10]; //进程名
struct PCB *next; //循环链指针
int need_time; //要求运行时间
int worked_time; //已运行时间,初始为0
char
您可能关注的文档
最近下载
- 2025上海闵行区古美路街道招聘社区综合协管员18人考试参考试题及答案解析.docx VIP
- 2025年文职人员招聘考试公共科目知识点试题.docx VIP
- (完整word版)九宫格数独及答案(18道).docx VIP
- 广东省深圳市罗湖区2024-2025学年九年级上学期11月期中考试数学试题(含答案).pdf VIP
- 6.2 学会依法办事教学课件(共27张PPT)-初中道德与法治统编版(2024)八年级上册.pptx VIP
- 医疗陪诊创业计划书模板.pptx VIP
- 贵州大学论文模版封面.doc VIP
- 第一单元(教学课件)-【大单元教学】五年级语文上册同步备课系列(统编版).pptx VIP
- 单元工程施工质量检验表与验收表(样表:1土石方工程)(SLT 336—2025)水土保持工程质量验收与评价规范.docx VIP
- 技能认证焦炉调温工知识考试(习题卷18).pdf VIP
原创力文档


文档评论(0)