实验四进程调度.doc

实验四进程调度.doc

ID:49547649

大小:24.76 KB

页数:8页

时间:2020-03-02

实验四进程调度.doc_第1页
实验四进程调度.doc_第2页
实验四进程调度.doc_第3页
实验四进程调度.doc_第4页
实验四进程调度.doc_第5页
资源描述:

《实验四进程调度.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验四进程调度一、实验目的1.理解有关进程控制块、进程队列的概念。2.掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑。二、实验内容1.设计进程控制块PCB表结构,分别适用于优先权调度算法和时间片轮转调度算法。2.建立进程就绪队列。对两种不同算法编制子程序。3.编制两种进程调度算法:1)优先权调度;2)时间片轮转调度。三、实验准备1.优先权调度算法为了照顾紧迫型进程获得优先处理,引入了优先权调度算法。它从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。这时,又进一步把该算法分为两种方式:1)非抢占式优先权调度算法在这种方式下,系统一旦把处理器分配给就

2、绪队列中优先权最高的进程后,该进程就占有处理器一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。系统这时才能将处理器分配给另一个优先权高的进程。这种方式实际上是每次将处理器分配给当前就绪队列中优先权最高的进程。它常用于批处理系统中,也可用于某些对时间要求不严格的实时系统中。2)抢占式优先权调度算法在这种方式下,系统同样把处理器分配给当前就绪队列中优先权最高的进程,使之执行。但在其执行期间,仍然会不断有新的就绪进程进入就绪队列,如果出现某个进程,其优先权比当前正在执行的进程的优先权还高时,进程调度程序就会立即暂停当前进程的执行,而将处理器收回,并将处理器分

3、配给新出现的优先权更高的进程,让其执行。这种方式实际上永远都是系统中优先权最高的进程占用处理器执行。因此,它能更好地满足紧迫进程的要求,故常用于要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统中。对于优先权调度算法,其关键在于是采用静态优先权,还是动态优先权,以及如何确定进程的优先权。1)静态优先权静态优先权是在创建进程时确定的,并且规定它在进程的整个运行期间保持不变。一般来说,优先权是利用某个范围内的一个整数来表示的,如0~7,或0~255中的某个整数,所以又称为优先数。在使用时,有的系统用“0”表示最高优先权,数值越大优先权越小,而有的系统则恰恰相

4、反。2)动态优先权动态优先权要配合抢占调度方式使用,它是指在创建进程时所赋予的优先权,可以随着进程的推进而发生改变,以便获得更好的调度性能。在就绪队列中等待调度的进程,可以随着其等待时间的增加,其优先权也以某个速率增加。因此,对于优先权初值很低的进程,在等待足够长的时间后,其优先权也可能升为最高,从而获得调度,占用处理器并执行。同样规定正在执行的进程,其优先权将随着执行时间的增加而逐渐降低,使其优先权可能不再是最高,从而暂停其执行,将处理器回收并分配给其他优先权更高的进程。这种方式能防止一个长进程长期占用处理器的现象。2.时间片轮转调度算法在分时系统中,为了保证人机

5、交互的及时性,系统使每个进程依次按时间片方式轮流地执行,即时间片轮转调度算法。在该算法中,系统将所有的就绪进范文..程按进入就绪队列的先后次序排列。每次调度时把CPU分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。然后,把CPU分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程,在一定的时间(可接受的等待时间)内,均能获得一个时间片的执行时间。在时间片轮转调度算法中,时间片的大小对系统的性能有很大影响。如果时间片太

6、大,大到每个进程都能在一个时间片内执行结束,则时间片轮转调度算法退化为先来先服务调度算法,用户将不能获得满意的响应时间。若时间片过小,连用户键入的简单常用命令都要花费多个时间片,那么系统将频繁地进行进程的切换,同样难以保证用户对响应时间的要求。2.4程序示例1.本程序用两种算法对五个进程进行调度,每个进程可有三种状态,并假设初始状态为就绪状态。2.为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的优先数或轮转时间数以及进程需运行的时间片数的初始值均由用户给定。3.在优先数算法中,优先数可以先取值为50,进程每执行一次,优先数减3,CPU时间片数加1,进

7、程还需要的时间片数减1。在轮转算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了2个单位),这时,CPU时间片数加2,进程还需要的时间片数减2,并排列到就绪队列的尾上。4.对于遇到优先数一致的情况,采用FIFO策略解决。#include#include#include#include#include#include#defineP_NUM5#defineP_TIME50enumstate{ready,execute,bloc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。