计算机操作系统进程调度算法_2014961712资料.doc

计算机操作系统进程调度算法_2014961712资料.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统 实 验 报 告 院系:兴湘学院 班级:14级计算机科学与技术班 学号:2014961712 姓名:胡小庆 指导老师:匡林爱 实验名称:进程调度模拟实验 日期:2015年11月30号 目录 TOC \o 1-6 \h \u  HYPERLINK \l _Toc31456 实验目的:  PAGEREF _Toc31456 3  HYPERLINK \l _Toc4770 实验过程:  PAGEREF _Toc4770 3  HYPERLINK \l _Toc7104 进程调度算法的概念(课本的定义):  PAGEREF _Toc7104 3  HYPERLINK \l _Toc32744 1. 先来先服务调度算法  PAGEREF _Toc32744 3  HYPERLINK \l _Toc17111 2. 时间片轮转调度算法  PAGEREF _Toc17111 4  HYPERLINK \l _Toc8707 3. 短作业优先调度算法  PAGEREF _Toc8707 4  HYPERLINK \l _Toc27142 4. 优先级调度算法  PAGEREF _Toc27142 4  HYPERLINK \l _Toc2329 实验模拟方式  PAGEREF _Toc2329 5  HYPERLINK \l _Toc3962 实验总结:  PAGEREF _Toc3962 5  HYPERLINK \l _Toc14015 实验中遇到的问题  PAGEREF _Toc14015 5  HYPERLINK \l _Toc8740 可执行程序(附件)  PAGEREF _Toc8740 6  HYPERLINK \l _Toc19209 源代码  PAGEREF _Toc19209 6  HYPERLINK \l _Toc8972 1.代码截图:  PAGEREF _Toc8972 6  HYPERLINK \l _Toc10011 2.程序截图:  PAGEREF _Toc10011 8  实验题目:进程调度实验 实验目的: 编程模拟实现几种常见的进程调度算法,通过对几组进程分别使用不 同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较各种算法的性能优劣。加深对进程调度算法的理解。 实验过程: 进程调度算法的概念(课本的定义): 1. 先来先服务调度算法 先来先服务调度算法按照作业/进程进入队列的先后顺序进行挑选,先进入的将先进行后续步骤的处理。 该算法既可以用于高级调度,也可以用于低级调度。当在高级调度中采用该算法时,每次调度都从后备作业队列中选择一个或多个最先进入队列的作业将它们调入内存,为它们分配资源,创建进程,然后放入就绪队列中。当在低级调度中采用该算法时,每次调度都从就绪队列中选择一个最先进入该队列的进程,并为之分配处理机,使之投入运行。 2. 时间片轮转调度算法 时间片轮转调度算法将所有的就绪队列按先来先服务的原则排成一个队列,每次调度时,把处理机分配给首进程,并令其执行一个时间片,当执行的时间片用完时,发出中断请求,调度程序便依此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证系统在给定的时间内响应所有用户的请求。 3. 短作业优先调度算法 短作业优先调度算法以进入系统的作业所要求的CPU运行时间的长短为挑选依据,优先选取预期所需时间最短的作业进行调度,可以分别用于高级调度和低级调度。 4. 优先级调度算法 优先级调度算法是根据事先设定好的进程的优先级来选定就绪队列中优先级最高的进程投入运行的算法。在运行过程中,如果就绪队列中出现优先级更高的进程,则根据系统策略进行调度。分为两种方式:非抢占式和抢占式。 优先级的划分有两种方法。一种是静态优先级,另一种是动态优先级。 5.(还有几种常用的调度算法) 实验模拟方式 /*****************************************************************************/ 为实验所编写的代码并没有真正的实现进程的调度,因为自己对计算机底层的了解还不够,所以只是简单的根据用户的输入模拟调度“进程”.方法:把用户输入的进程名当做进程控制块(PCB),把 scanf() 输入当做I/O中断,把 printf() puts() 输出当做作业的执行。 实验用了“先来先服务”和“时间片轮转”两个调度算法,编写的代码只是实现相应的调度算法的计

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档