操作系统笔记------处理机调度

本文详细介绍了操作系统中处理机调度的三个层次:高级调度、中级调度和低级调度,以及各种调度算法,如FCFS、SJF、优先权调度、时间片轮转等。讨论了调度算法的性能衡量标准,如周转时间和响应时间,并分析了实时调度的策略和抢占式与非抢占式调度。
摘要由CSDN通过智能技术生成

调度层次


这里的处理对象是作业,这时一个比较宽泛的概念,不仅仅包括程序和数据,还应包括对程序运行的控制信息。在批处理系统上,作业是最基本的调度单位,由后备队列中调入内存,在为其创建相应的进程,分配内存与相关的资源,之后根据相关的算法来分配cpu资源(以时间片作为单位),但是可能会有相关的事件发生,有些进程会被阻塞或者挂起,之后又重新就绪获得时间片进行运行,往复直至运行结束。根据各个阶段的资源调度特点,将其分为三个层次。

高级调度


就是最先的那一段,决定将后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
运行时调度的频率低(相关进程创建后的运行需要时间,内存有限),调度的算法可以很复杂(要确定相关调度的作业)

中级调度


之后就是中级调度了,之前创建的进程可能会由于相关事件或者没有请求到相关的资源,导致其无法立即运行,这时如果其还占用着内存资源的话会比较浪费,我们可以根据其状态将其移到外存中的相关队列中,等待其具备了运行条件,且内存又稍有空闲时,再由中级调度加载入内存中等待(就绪)继续运行。
其细分为内存就绪(表示进程在内存中就绪)和外存就绪(进程在外存中就绪),内存阻塞(运行后由于事件或者资源条件被撤到到内存)和外存阻塞(在内存中长期处于阻塞状态,将其换至外存中存储)。
中级调度的目的是为了提高内存利用率和系统吞吐量,调度频率介于高级调度和低级调度之间。
图中的阻塞,挂起队列与就绪挂起队列都是在外存中,就绪队列与阻塞队列位于内存中。

低级调度


这里就是具体决定是哪一个就绪进程获得处理机(cpu)的使用权(时间片)。主要分配的对象是cpu处理机。
调度方式有两种:一种是非抢占式,一种是抢占式。
非抢占式:故名思意,一旦获取到了cpu的使用权,就不会被抢占,即使是比它更为重要的进程对处理机提出请求,也不会剥夺当前cpu的使用权,直至当前进程运行完成或者由于事件进入阻塞状态时,才会把处理机分配给下一进程。
抢占式:抢占式就是当前进程运行时,如果有一个更重要的进程提出对处理机的请求时,就立即暂停对当前进程的执行,并将处理器分配给更紧迫的进程。
比较:非抢占式的系统开销小,实时性差,很多的耗时操作会占据太多的时间导致进程的等待时间增长。抢占式可以避免耗时进程对cpu资源的霸占。可以设置相关的优先级进行调度。

调度算法的性能衡量

周转时间

从作业提交给系统开始,到作业完成为止的时间间隔;
周转时间=后备队列等待时间(作业)+就绪队列等待时间(进程)+CPU上执行时间(进程)+等待I/O操作时间(进程)
平均周转时间=总的周转时间 / 进程数量
带权周转时间=总的周转时间 / 实际需要运行(服务)的时间
平均带权周转时间=总的带权周转时间 / 进程数量

面向用户

响应时间:用户从提交键盘命令开始,到系统首次给出响应为止的时间。
截止时间:作业(或进程)开始(或结束)的最晚时间
面向用户的准则要求响应时间快,截止时间保证。

面向系统

吞吐量:系统单位时间内完成的作业或进程的数量。
面向系统的准则要求系统吞吐量高,处理机利用率好,资源利用均衡。

调度算法

用于资源分配,根据系统的资源分配策略所规定的资源分配算法。对于不同的系统和系统目标,通常采用不同的调度算法,有的算法适用于作业调度,有的算法适用于进程调度;但也有些调度算法既可用于作业调度,也可用于进程调度。

先来先服务(FCFS)

既可用于

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值