【操作系统】进程调度

调度的概念

        确定某种规则决定处理任务的顺序


调度的三个层次:

高级调度(作业调度)

        作业:一个具体的任务(存放在外存的程序,进入内存就成了进程)

        按一定的原则从外存的作业队列中挑选一个作业调入内存,并创建进程每个作业只调入一次(建立PCB),调出一次(撤销PCB)。

中级调度(内存调度)

        内存不足时,将某些进程的数据调到外存。等内存空闲或者进程需要运行时再重新调入内存。

        暂时调到外存等待的进程状态为挂起状态,被挂起的进程PCB被组织成挂起队列

        按照某种策略决定将哪个处于挂起状态的进程重新调入内存一个进程可能多次调入、调出内存频率比高级调度高。

低级调度(进程调度/处理机调度)

        按照某种策略从就绪队列中选取一个进程,将处理机分配给它。

        最基本的调度,频率很高,一半几十毫秒一次。

发生位置发生频率对进程状态影响

高级调度

(作业调度)

外存-->内存

(面向作业)

最低无-->创建态-->就绪态

中级调度

(内存调度)

外存-->内存

(面向进程)

中等挂起态-->就绪态

低级调度

(进程调度)

内存-->CPU最高就绪态-->运行态

进程的挂起态与七状态模型

        挂起状态:暂时调到外存等待的进程状态。

        就绪态-->就绪挂起

        阻塞态-->阻塞挂起

        运行态-->就绪挂起


        创建态-->就绪挂起

        阻塞挂起也可以进入就绪挂起


进程调度的时机、切换与过程、方式

 进程调度时机

        当前运行的进程主动放弃处理机:进行正常终止、发生异常而终止、主动请求阻塞(I/O);

        当前运行的进程被动放弃处理机:时间片用完、有更紧急的事处理(I/O中断)、优先级更高的进程进入就绪队列;

不能进行调度与切换的情况:处理中断的过程中、进程在操作系统内核临界区中、原子操作过程中(原语);

进程调度方式

        非剥夺调度方式(非抢占方式):只允许进程主动放弃处理机

                实现简单、开销小、无法处理紧急任务,适合早期批处理系统。

        剥夺调度方式(抢占方式):若有更重要的进程需要使用处理机,则立即停止正在执行的进程,将处理机分配给更重要的进程。

                适合于分时操作系统、实时操作系统。

进程切换

        狭义的进程调度:从就绪队列中选出一个要运行的进程。

        进程切换:进程让出处理机,由另一个进程占用处理机的过程。(保存原有进程数据、对新进程数据恢复)

        广义的进程调度包含上面两种。


调度器/调度程序

        调度程序决定让谁运行(调度算法)、运行时长(时间片大小)

调度时机

  •         创建新进程
  •         进程退出
  •         运行进程阻塞
  •         I/O中断发生(可能唤醒某些阻塞进程)
  •         非抢占式,运行阻塞或退出
  •         抢占式,每个时钟中断

不支持内核级线程的操作系统,调度程序的处理对象是进程;

支持内核级线程的操作系统,调度程序的处理对象是内核级线程;

闲逛进程(idle)

        没有其他就绪进程时,运行闲逛进程。优先级最低,可以是0地址指令,占一个完整的指令周期,能耗低,指令周期末尾例行检查中断。


评价调度算法的指标   

CPU利用率   

        CPU处于忙碌时间占总时间的比例;

        利用率=忙碌时间/总时间;

系统吞吐量

        单位时间内完成作业的数量

        系统吞吐量=总共完成了多少道作业/总花费时间

周转时间

        作业被提交给系统开始,到作业完成为止的时间间隔。

        包括:高级调度、低级调度时间、在CPU执行时间、等待I/O操作完成的时间。

        作业周转时间=作业完成时间-作业提交时间

        平均周转时间=各作业周转时间之和/作业数

        带权周转时间=作业周转时间/作业实际运行的时间           (>=1)

        平均带权周转时间=各作业带权周转时间之和/作业数

等待时间

        进程/作业处于等待处理机状态时间之和

        进程等待I/O完成的期间不计入等待时间,进程在被服务。

响应时间

        用户提交请求到首次产生响应所用的时间。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曦樂~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值