2.2处理机的调度

1.调度

处理机调度是对处理机进行分配;

从进程就绪队列中按照一定的调度算法对进程进行处理机分配,以实现并发执行;

处理机调度是多到程序操作系统基础,是操作系统设计核心问题

调度的层次

1)作业调度,高级调度,内存与辅存之间的调度;

2)内存调度,中级调度,提高内存的利用率和系统的吞吐量;

3)进程调度,低级调度,根据调度算法分配处理机。

三层调度的关系

1.作业调度为进程左准备活动,选择作业进入内存,并创建进程分配资源;内存调度处于作业调度和进程调度之间;

2.作业调度少,内存调度略多,进程调度最为频繁;

3.进程调度是操作系统中最基本的一种调度,不可或缺;

2.调度的时机、切换与过程

进程调度进程切换程序都是操作系统内核程序

进程调度与进程切换有什么样的联系?

先后顺序:请求进程调度的事件发送后,运行进程调度程序,从就绪队列中调度了新的进程后,才会进行进程之间的切换;

3.进程的调度方式

1)非抢占式(非剥夺)调度方式,当前执行进程不因其他重要进程就绪而停止执行;

注:优:实现简单、系统开销小;

适用批处理系统不适用分时系统实时系统

2)抢占式(剥夺)调度方式,运行进程可因为其他重要进程就绪而暂停执行;

优:提高了系统吞吐率和响应效率;

该方式需要根据调度的原则决定优先程度:优先权、短进程优先、时间片轮转等;

4.调度的准则

调度算法的性能评判因素:

1)CPU利用率 2)系统吞吐量(cpu单位时间内完成作业数目) 3)周转时间 4)等待时间 5)响应时间

5.调度算法

1)先来先服务调度算法(FCFS)

即可用作业调度,又可用于进程调度

FCFS属于不可剥夺调度算法;在执行作业过长,导致后面作业等待过长时间,故不适合分时系统和实时系统;

注:可与优先级调度算法结合,相同优先级的进程按FCFS先来先服务调度;

算法特点:简单,但效率低;

2)短作业优先调度算法(SJF)

短作业优先调度;

不可忽视缺点:

只考虑短作业,对长作业明显不利;

不考虑作业的重要程度;

短作业会受用户影响;

注:SJF调度算法的平均等待时间、平均周转时间最少

3)优先级调度算法

根据作业或进程的优先级调度;适合实时系统;

作业调度,选择优先级高的作业,调入内存,分配资源,并创建相应进程,插入就绪队列;

进程调度,当有优先级更高的进程就绪能否抢占正在执行的进程;

非抢占式优先级调度;

抢占式优先级调度;

进程的优先级可分为:静态优先级、动态优先级;

静态优先级:创建时确定优先级,运行周期时不变;

动态优先级:运行时,根据进程动态变换调整优先级;

一般优先级:

1)系统进程>用户进程;

2)交互进程(前端实时响应)>非交互进程(后台运行);

3)I/O进程>计算型进程;注:I/O处理速度慢,设优先级高,先开始有助于提高系统整体效率;

4)高响应比调度算法

主要用于作业调度:选择作业调度内存,分配资源;

综合FCFS、SJF,同时考虑作业等待时间和估计运行时间;

响应比R_p=(等待时间+要求服务时间)/要求服务时间

适合分时操作系统;

5)时间片轮转调度算法

将就绪进程队列,按达到时间排成循队列,选着当前队头进程运行指定时间片,eg:100ms;,时间片结束下一个进程,结束进程从新排队;

时间片的大小决定算法效率,设置时间片影响因素有:系统响应时间、就绪进程数目、系统的处理能力;

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

综合****时间片轮转调度优先级调度,通过动态调整进程优先级和时间片大小,兼顾系统多方面目标;

算法思想:

1)设置多个进程就绪队列,并将队列分级,级别高该队列优先级高;

2)每个队列中时间片大小不同;优先级高的时间片小;

3)新进程进入内存,按优先级梯度下降FCFS调度执行直至作业完成;

总结:

优先级调度算法适合实时操作系统

高响应比、时间片轮转、多级反馈队列调度适合分时操作系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值