计算机操作系统进程调度算法_2014961712概要

上传人:今*** 文档编号:108117022 上传时间:2019-10-22 格式:DOC 页数:10 大小:857KB
返回 下载 相关 举报
计算机操作系统进程调度算法_2014961712概要_第1页
第1页 / 共10页
计算机操作系统进程调度算法_2014961712概要_第2页
第2页 / 共10页
计算机操作系统进程调度算法_2014961712概要_第3页
第3页 / 共10页
计算机操作系统进程调度算法_2014961712概要_第4页
第4页 / 共10页
计算机操作系统进程调度算法_2014961712概要_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《计算机操作系统进程调度算法_2014961712概要》由会员分享,可在线阅读,更多相关《计算机操作系统进程调度算法_2014961712概要(10页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统实验报告院系:兴湘学院班级:14级计算机科学与技术班学号:2014961712姓名:胡小庆指导老师:匡林爱实验名称:进程调度模拟实验日期:2015年11月30号 目录实验目的:3实验过程:3进程调度算法的概念(课本的定义):31. 先来先服务调度算法32. 时间片轮转调度算法43. 短作业优先调度算法44. 优先级调度算法4实验模拟方式5实验总结:5实验中遇到的问题5可执行程序(附件)6源代码61.代码截图:62.程序截图:8 实验题目:进程调度实验实验目的:编程模拟实现几种常见的进程调度算法,通过对几组进程分别使用不 同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较

2、各种算法的性能优劣。加深对进程调度算法的理解。实验过程:进程调度算法的概念(课本的定义):1. 先来先服务调度算法先来先服务调度算法按照作业/进程进入队列的先后顺序进行挑选,先进入的将先进行后续步骤的处理。该算法既可以用于高级调度,也可以用于低级调度。当在高级调度中采用该算法时,每次调度都从后备作业队列中选择一个或多个最先进入队列的作业将它们调入内存,为它们分配资源,创建进程,然后放入就绪队列中。当在低级调度中采用该算法时,每次调度都从就绪队列中选择一个最先进入该队列的进程,并为之分配处理机,使之投入运行。2. 时间片轮转调度算法时间片轮转调度算法将所有的就绪队列按先来先服务的原则排成一个队列

3、,每次调度时,把处理机分配给首进程,并令其执行一个时间片,当执行的时间片用完时,发出中断请求,调度程序便依此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证系统在给定的时间内响应所有用户的请求。3. 短作业优先调度算法短作业优先调度算法以进入系统的作业所要求的CPU运行时间的长短为挑选依据,优先选取预期所需时间最短的作业进行调度,可以分别用于高级调度和低级调度。4. 优先级调度算法优先级调度算法是根据事先设定好的进程的优先级来选定就绪队列中优先级最高的进程投入运行的算法。在运行过程中,如果就绪队列中出现优先

4、级更高的进程,则根据系统策略进行调度。分为两种方式:非抢占式和抢占式。优先级的划分有两种方法。一种是静态优先级,另一种是动态优先级。5.(还有几种常用的调度算法)实验模拟方式/*/为实验所编写的代码并没有真正的实现进程的调度,因为自己对计算机底层的了解还不够,所以只是简单的根据用户的输入模拟调度“进程”.方法:把用户输入的进程名当做进程控制块(PCB),把 scanf() 输入当做I/O中断,把 printf() puts() 输出当做作业的执行。实验用了“先来先服务”和“时间片轮转”两个调度算法,编写的代码只是实现相应的调度算法的计算规则,可根据课本的73和76页的数据进行测试。/*/实验总结:实验中遇到的问题1. 在模拟“时间片轮转调度算法”的时候,仅模拟了第一轮调度。一个进程在时间片用完的时候需要插到数组的末尾,然后接着运行第二个进程,以此递推。中间判断一下进程是否执行完毕,用状态数组记录其运行状态。2. 实验仅仅是模拟了调度算法的书面计算方法,只能说是实现了计算方法,没有真正的生成进程和调度进程。可执行程序(附件)源代码1.代码截图:2.程序截图:(注:因为doc文档没有语法高亮,所以直接截图了。可执行文件在文档的“可执行文件”目录下.)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号