计算机操作系统:处理机调度相关

处理机调度所需要解决的问题:在多道处理系统中由于进程多于处理机而产生的一系列问题。

1,长程调度(高级调度):将作业从外存调入就绪队列(阻塞到就绪);

2,短程调度(处理机调度,进程调度):将作业从就绪状态转为执行状态(分配处理机);

3,中级调度:将作业从就绪队列放入外存(时间片用完的作业就是一种例子)。

4,调度算法:

(1)先来先服务FCFS:按照作业的到来序列依次分配处理机与资源,相对而言短进程的等待时间长,因此有利于长作业;

(2)短进程优先SJF:按照进程的所需服务时间长短次序分配处理机,所需服

务时间越短的进程越先得到处理机,由于没有鉴别进程的重要程度,所以对于长作业和紧急任

务都不利;

(3)优先级调度PSA:按照进程PCB中的优先级信息得到的优先级次序分配处

理机,注意这里的优先级是静态的,是用户输入PCB里的。这样的优先级调度也有一定问题,

低优先级的任务的等待时间越长,越长时间没有得到处理机,越容易产生饥饿现象;

(4)高响应比优先HRRN:上一例优先级是静态的,此例的优先级则是动态(PCB里的优先级也有一定的算法进行动态的变化)的,优先权=(等待时间+要求服务时间)/要求服务时间;避免了饥饿现象的产生,也综合考虑了长作业,紧迫作业,短作业的特点。

(5)时间片轮转调度RR:按照用户所定义的时间片依次将进入就绪队列的进程

进行分配处理机,所需要的注意的是时间片的设置。

5,进程调度的任务有三:保护CPU现场(也就是上下文),分配处理机与资源,进程调度。

对于实时系统来说,由于用户当前需要做的操作永远是最快需要响应的,所以在以上的调度算

法中我们需要考虑“抢占”这一概念;

6,抢占方式有三:当前进入就绪队列的进程优先级比正在运行的进程优先级高,允许剥夺它的

处理机与资源进行使用;当前进入就绪队列的进程所需时间比正在运行的进程所剩运行时间短,

允许抢占它的处理机与资源进行使用;当前正在运行的进程时间片完,允许就绪队列的第一个进程抢占它的处理机与资源(此时时间片完的进程应挂到就绪队列的队尾还是阻塞队列需要结合系统当前内存状态)。

死锁:产生死锁的原因则是系统资源不足产生的(举个例子:现在有两个进程1与2;1进行占有打印机,2进程占有刻盘机,1向系统申请刻盘机,2进程向系统申请打印机,二者谁都得不到完整的资源而导致死锁状态的产生)

7,死锁的预防:(静态)死锁的产生有四个条件:请求与保持状态,对共享资源的互斥性,循环等待,资源的不可抢占;共享性资源的互斥性是固有属性所以无法破坏,我们需要破坏另外三个去达到预防的效果;(1))破坏请求与保持状态:系统只需保证当一个进程向它开口申请资源时,此进程不得占有不可抢占的资源(你想要得到别人的就得做好补全别人的准备);(2)破坏循环等待:将系统各类资源进行线性的编号,当此进程向系统申请F7号设备时,如果F8已被申请则释放此进程的资源(F7必定被占用了,F7<F8)。(3)破坏不可抢占:当已经占据不可抢占资源的进程向系统的请求不被满足时,就释放它所拥有的资源。

8,死锁的避免:(动态)要想在各进程动态申请的情况下避免进入死锁的状态,就必须时刻了解资源的空闲情况以及各进程所需与现拥有的各类资源情况;通过安全性检查算法(银行家算法)保证系统不进入不安全状态。

9,死锁的解除:撤销资源,终止进程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ForestSpringH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值