第05讲_进程调度

第05讲_进程调度

ID:45134582

大小:785.50 KB

页数:49页

时间:2019-11-10

第05讲_进程调度_第1页
第05讲_进程调度_第2页
第05讲_进程调度_第3页
第05讲_进程调度_第4页
第05讲_进程调度_第5页
资源描述:

《第05讲_进程调度》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2.6进程调度在多道系统当中,往往有多个进程同时在内存中 运行。在任何时刻,一个进程只可能是以下三种 状态之一:运行状态:该进程正在CPU上运行,每个CPU上最多只能有一个进程在运行;就绪状态:进程已经就绪,随时可以运行;阻塞状态:如在某个信号量上被阻塞,等待I/O与此相对应,操作系统会维护相应的状态队列。就绪队列和各种I/O设备队列(本图摘自Silberschatz,GalvinandGagne:“OperatingSystemConcepts”)选择谁去运行?在操作系统中,负责去做这个选择的那 部分程序,称为调度程序(

2、scheduler);调度程序在决策过程中所采用的算法, 称为是调度算法;调度程序是CPU资源的管理者;调度的对象是进程,也可以是线程,大 多数的调度问题对两者都是适用的。2.6.1关于调度的若干问题1.要解决的问题WHEN:何时分配CPU—调度的时机WHAT:按什么原则分配CPU—调度算法HOW:如何分配CPU—进程的上下文切换2.进程的行为进程的执行过程:CPU执行(CPUburst)和等待I/O操作(I/Oburst)交替进行。fpResult=fopen(szResult,"w");if(fpResult==NUL

3、L)printf(“can’topenfile");flag=0;while(1){str1[0]=0;fgets(str1,MAX_LEN,fpOut);if(str1[0]==0){str2[0]=0;fgets(str2,MAX_LEN,fpStd);if(str2[0]==0){flag=1;break;}}...CPU繁忙(CPU-bound)的进程:大部分时间 处于运行和就绪状态;I/O繁忙(I/O-bound)的进程:大部分时间处 于阻塞状态。CPU繁忙与I/O繁忙CPU繁忙I/O繁忙while(ch!=EO

4、F){putchar(ch);ch=fgetc(fp);}内部因素:进程自身的功能决定了它的各种工作量。例如,矩阵相乘进程的计算量大,文件管理进程的I/O需求很大;外部因素:计算机系统的运行速度决定了完成这些工作量所需要的时间长短。工作量和工作时间是两回事,判断一个进程是属于CPU繁忙还是属于输入输出繁忙,主要看它的计算时间和输入输出时间;I/O设备的运行速度较慢,CPU的运行速度较快,而且更新换代的速度快,将来进程都趋向于I/O繁忙。CPU繁忙还是I/O繁忙?VCD播放软件;WORD文字编辑器;磁盘碎片整理工具defra

5、g。CPU繁忙还是I/O繁忙?(续)3.何时调度?当一个新的进程被创建时,是执行新进程还是继续执行父进程?当一个进程运行完毕时;当一个进程由于I/O、信号量或其他的某个原因被阻塞时;当一个I/O中断发生时,表明某个I/O操作已经完成,而等待该I/O操作的进程转入就绪状态;在分时系统中,当一个时钟中断发生时。不可抢占调度方式:一个进程若被选中,就一直运行下去,直到它被阻塞(I/O,或正在等待其他的进程),或主动地交出CPU。以上的情形1-3均可发生调度;可抢占调度方式:当一个进程在运行时,调度程序可以打断它。以上的情形1-5

6、均可发生调度,另外,在其他的一些情形下,如就绪队列中有进程的优先级高于当前运行进程的优先级,也可能立即进行调度。两种调度方式4.调度算法的类别不同的OS有不同的目标,对调度程序有不同的要求,因此需要不同类型的调度算法。批处理系统:无须及时的用户响应,采用不可抢占的调度方式,或时间间隔很长的可抢占调度方式,从而允许进程能长时间运行,减少进程的切换次数,提高系统的性能;交互式系统:及时的用户响应非常重要,必须采用可抢占的调度方式。以防单个进程占用太多CPU时间,影响到其他进程的运行。实时系统:对响应时间要求苛刻,每个进程运行时

7、间很短,可采用可抢占的调度方式。5.调度算法的目标算法调度的目标是多元的,有些是可以共存的,也有些是相互牵制的,对于一个实际的调度算法来说,有一个综合权衡的过程。所有系统普遍适用的目标:公平:每个进程都能进展,不会“饥饿”;对已制订的调度策略必须能贯彻执行;均衡:尽可能使整个系统的各部分都忙起来, 提高系统资源的使用效率。用户关心的评价指标:周转时间(Turnaroundtime):一个作业从提交到完成(得到结果)所经历的时间。 包括:在CPU上执行,在就绪队列和阻塞队列中等待,结果输出等待;平均周转时间:一批作业的周转时

8、间的平均值;平均带权周转时间:权值是实际执行时间的倒数;等待时间(WaitingTime):在就绪队列中的等待时间。响应时间(ResponseTime):用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间。响应时间越短越好,优先考虑交互式进程。周转时间:(Ei表示作业i完成时间,Si表示作

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

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

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