操作系统 -- 处理机调度

处理机调度

由于内存空间有限,有时无法将用户提交的作业全部放到内存中,因此需要确定某种规则来决定将作业调入内存的顺序。
高级调度(作业调度):按照一定的原则从外存上处于后备队列的作业中挑选一个(或多个)作业,给他们分配内存等必要资源,并建立相应的进程(建立PCB),以使他们获得竞争处理机的权利。

引入虚拟存储技术后,可将暂时不能运行的进程调至外存等待。等他们重新具备了运行条件且内存又稍有空闲时,再重新调入内存。这么做是为了提交内存的利用率和系统的吞吐量。
暂时调到外存等待的进程状态为挂起状态。值得注意的是,PCB并不会一起调到外存,而是会常驻内存。
中级调度(内存调度):就是决定将那个处于挂起状态的进程重新调入内存。

低级调度(进程调度):其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。

七状态模型

在这里插入图片描述

对比
在这里插入图片描述

进程调度(低级调度)

进程调度的时机

在这里插入图片描述

进程调度的方式

1:非剥夺调度方式,又称非抢占式。即只允许进程主动放弃处理机。在运行过程中即便有更紧迫的任务到达,当前进程依然会继续使用处理机。知道该进程终止或主动要求进入阻塞态。

2:剥夺调度方式,又称抢占方式。当进程正在处理机上执行时,如果有一个更重要或更紧迫的进程需要使用处理机,则立即停止正在执行的进程,将处理机分配给更重要紧迫的那个进程。

调度算法的评价指标

1:CPU利用率 = CPU忙碌的时间/总时间
2:系统吞吐量 = 总完成了多少道作业/总共花了多少时间
3:周转时间 = 作业在外存后备队列上等待作业调度(高级调度)的时间 + 进程在就绪队列上等待进程调度的时间(低级调度)+ 进程在CPU上执行的时间 + 进程等待I/O操作完成的时间。 = 作业的完成时间 - 作业的提交时间
4:带权周转时间 = 作业周转时间/作业时机运行时间
5:等待时间 = 指进程/作业处于等待处理机状态时间之和
6:响应时间 = 用户从首次提出请求到系统响应的时间

调度算法

1:先来先服务(FCFS)
在这里插入图片描述

2:短作业优先(SJF)
在这里插入图片描述

3:高响应比优先(HRRN)
在这里插入图片描述

4:时间片轮转调度算法(RR)
在这里插入图片描述

5:优先级调度算法
在这里插入图片描述

6:多级反馈队列调度算法

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

全栈游戏开发

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

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

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

打赏作者

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

抵扣说明:

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

余额充值