2.2处理机调度

2.2.1 调度的概念

1.调度的基本概念
在多道程序系统中,进程的数量往往多于处理机的个数,因此进程争用处理机的情况在所难免处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

2.调度的层次 高级调度到低级调度的频率逐渐升高
1)作业调度高级调度
2)中级调度内存调度 作用是为了提高内存的利用率和系统而吞吐量,将暂时不能运行的进程调到外存,此时进程称为挂起态,若内存空闲时,将具备运行条件的进程调入内存,并修改状态为就绪态
3)进程调度低级调度 最基本,必不可少

2.2.2 调度的时机、切换与过程


现代操作系统中,不能进行进程调度和切换的情况有以下几种:
1) 在处理中断的过程中
2) 进程在 操作系统 内核程序临界区中 普通临界区可以进程调度
3) 其他需要完全屏蔽中断的原子操作


应当进行进程调度和切换的情况如下:
1) 发生引起调度条件且当前进程无法继续运行下去时,可以进行调度与切换,若系统之在这种情况下进行调度与切换,是为非剥夺调度。
2) 中断处理结束或自陷处理结束。

2.2.3 进程的调度方式

1. 非剥夺调度方式(非抢占式) 即使有某个更为重要或紧迫的进程进入就绪队列,仍然让正在执行的进程继续执行,直到该进程完成或发生某种事件进入阻塞态时才获得处理机。简单、系统开销小,适合大多数批处理系统 不适合分时系统和大多数实时系统。

2. 剥夺调度方式(抢占式) 若有某个更为重要或紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给这个更为重要或紧迫的进程。采用剥夺式的调度,对提高系统吞吐率和响应效率都有明显的好处。

2.2.4 调度的基本准则

不同调度算法有不同的特性,在选择调度算法时,必须考虑算法的特性,为了比较调度算法的性能,评价指标有以下几点:
1) CPU利用率。 CPU是计算机系统中最重要和昂贵的资源之-一,所以应尽可能使CPU保持“忙”状态,使这一资源利用率最高。

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

2)系统吞吐量。 ==表示单位时间内CPU完成作业的数量。==长作业需要消耗较长的处理机时间,因此会降低系统的吞吐量。而对于短作业,它们所需要消耗的处理机时间较短,因此能提高系统的吞吐量。调度算法和方式的不同,也会对系统的吞吐量产生较大的影响。

3)周转时间。 周转时间是指从作业提交到作业完成所经历的时间,是作业等待、在就绪队列中排队、在处理机上运行及进行输入输出操作所花费时间的总和。

作业的周转时间可用公式表示如下:


带权周转时间 = 作业周转时间/作业实际运行时间


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

平均周转时间 = (作业1的周转时间+..+作业n的周转时间)/n

带权周转时间 = 作业周转时间/作业实际运行时间

平均带权周转时间 = (作业1的带权周转时间+...+作业n的带权周转时间)/n

4)等待时间。 等待时间指进程处于等处理机状态的时间之和等待时间越长,用户满意度
越低。
因此,衡量一个调度算法的优劣,常常只需简单地考察等待时间。
5)响应时间。 响应时间指从用户提交请求到系统首次产生响应所用的时间。

2.2.5 典型调度算法

1.先来先服务(FCFS)调度算法
既可以用于作业调度,又可以用于进程调度。
在这里插入图片描述

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

在这里插入图片描述

3.优先级调度算法优先级用于描述作业运行的紧迫程度
既可以用于作业调度,又可以用于进程调度

按照是否可以剥夺主要分为以下两种:
1)非剥夺式优先级调度算法
2)剥夺式优先级调度算法

按照进程优先级
1)系统进程>用户进程
2)I/O进程>计算型进程
3)交互型进程>非交互型进程

4.高响应比优先调度算法
主要用于作业调度
在这里插入图片描述

5.时间片轮转调度算法 主要适用于分时系统

系统将所有进程按照到达时间的先后次序排成一个队列(先来先服务的原则),但仅能运行一个时间片,一个时间片后,即使进程并未完成,也必须释放处理机被剥夺给下一个就绪的进程被剥夺的进程返回到就绪队列的尾部重新排队。

若时间片选择的足够大,时间片轮转法退化为先来先服务算法

6.多级反馈队列调度算法(融合了前几种算法的优点)抢占式调度算法
时间片轮转法和优先级调度法的综合发展
在这里插入图片描述
1) 设置多个就绪队列,并赋予不同的优先级,第一级最高,第二级次之。
2) 赋予队列中进程执行时间片的大小各不相同,优先级高的队列时间片小 (第二级队列的时间片是第一级时间片的两倍,第三级时间片的大小是第二级时间片大小的两倍)
3) 一个新进程进入内存后,首先将它放到第一级队列的末尾,**按FCFS等待调度**当轮到该进程执行时,如果它能在时间片内完成,便可撤离系统,如若不能,跳转至第二级队列的末尾,以此类推
4) 仅当第一级队列为空时,调度程序才会调度第二级队列中的进程

多级反馈队列的优势有以下几点:
1) 短作业优先
2) 周转时间较短
3) 经过前面几个队列得到部分执行,不会长期得不到处理

例题


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值