操作系统-进程和线程-处理机调度

文章详细介绍了操作系统的调度概念,包括调度的三个层次:高级调度、中级调度和低级调度,以及不同调度方式。接着讨论了调度算法的评价指标,如CPU利用率、周转时间和响应时间等,并列举了多种调度算法,如FCFS、SJF、HRRN、RR和优先级算法,分析了它们的优缺点和适用场景。
摘要由CSDN通过智能技术生成

目录

一、调度的概念

1.1调度的层次

1.1.1高级调度(作业调度)

1.1.2中级调度(内存调度)

1.1.3低级调度(进程调度)

1.2状态模型

1.3调度的时机

1.4调度方式

1.5进程的切换与过程

二、调度算法的评价指标

2.1CPU利用率

2.2吞吐量

2.3周转时间

2.4带权周转时间

2.5等待时间

2.6响应时间

三、调度算法

3.1先来先服务(FCFS)

3.2短作业优先(SJF)

3.3高响应比优先(HRRN)

3.4时间片轮转调度算法(RR)

3.5优先级算法

3.6多级反馈队列调度算法

3.7多级队列调度算法


一、调度的概念

多道程序中,进程数量往往多于处理机个数,因此进程争用处理机的情况在所难免。处理机调度是对处理机进行分配

1.1调度的层次

1.1.1高级调度(作业调度)

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

1.1.2中级调度(内存调度)

按某策略决定将哪个处于挂起状态的进程重新调入内存

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

1.1.3低级调度(进程调度)

按照某种算法从就绪队列中年选择一个进程为其分配处理机

1.2状态模型

1.3调度的时机

1.4调度方式

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

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

1.5进程的切换与过程

二、调度算法的评价指标

2.1CPU利用率

2.2吞吐量

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

2.3周转时间

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

2.4带权周转时间

 

2.5等待时间

指进程/作业处于等待处理机状态时间之和,等待时间越长,用户满意度越低

对进程:等待时间为进程建立后等待被服务的时间之和 

对作业:不仅考虑建立进程后的等待时间,还有加上作业在外存后备队列中等待时间

2.6响应时间

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

三、调度算法

 

3.1先来先服务(FCFS)

思想:类似队列先来先到

规则:按照作业/进程到达先后顺序进行服务

是否可抢占式:非抢占式

优点:公平、算法实现简单

缺点:对长作业有利,对短作业不利

不会饥饿

3.2短作业优先(SJF)

思想:追求最少的平均等待时间,最少的平均周转时间,最少的平均带权周转时间

规则:最短作业/进程优先得到服务

是否可抢占式:非抢占式,也有抢占式-----最短剩余时间优先算法

优点:"最短的"平均等待时间、平均周转时间

缺点:不公平。对短作业有利,长作业不利。

一直有短作业,长作业就会得不到服务会有饥饿现象

3.3高响应比优先(HRRN)

思想:要综合考虑作业/进程的等待时间和要求服务时间

规则:在每次调度时计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务                            响应比=(等待时间+要求服务时间)/要求服务时间

是否可抢占式:非抢占式

优点:综合考虑等待时间和运行时间。等待时间相同时,要求服务时间短的优先。要求服务时间相同时,等待时间长的优先。对长作业来说,随着等待时间越来越长,响应比越来越大,避免饥饿

不会饥饿

3.4时间片轮转调度算法(RR)

思想:公平、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应

规则:按照各进程到达就绪队列得顺序,轮流让各个进程执行一个时间片。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队

是否可抢占式:抢占式

优点:公平、需要快,适合分时操作系统

缺点:由高频率的进程切换,因此有一定开销,不区分任务紧急程度

不会饥饿

时间片太大会退化先来先服务调度算法,并会增大进程响应时间,因此时间片不能太大

进程切换太频繁,也不能太小 

3.5优先级算法

思想:根据紧急程度决定处理顺序

规则:每个作业/进程有各自的优先级,优先级高的先调度        

是否可抢占式:抢占式/非抢占式都有

优点:优先级区分紧急程度。可灵活地调整对各作业/进程的偏好程度

缺点:源源不断有优先级高的任务到来,会有饥饿

会饥饿

 3.6多级反馈队列调度算法

思想:对其他调度算法的折中权衡

规则:1.设置多级就绪队列,各级队列优先级高到低,时间片小到大,2.新进程到第1级队列按FCFS原则排队分配时间片,若时间片完进程还未结束,则进入下一级队列队尾,如果已经是最后一级就放回队列队尾3.只有第k级队列为空时,才会为k+1级队头进程分配时间片

优点:

是否可抢占式:抢占式

会饥饿

3.7多级队列调度算法

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值