操作系统-处理机调度

本文深入探讨了处理机调度的三个层次,包括作业调度、内存调度和进程调度。阐述了调度的时机、切换过程以及不同调度方式,如非抢占和抢占方式。此外,介绍了多种调度算法,如FCFS、SJF、HRRN和时间片轮转,并分析了它们的优缺点和适用场景。通过对调度算法的评价指标如CPU利用率、系统吞吐量、周转时间和响应时间的讨论,帮助读者理解如何评估和选择调度策略。
摘要由CSDN通过智能技术生成

在这里插入图片描述

调度的概念

处理机调度是对处理机进行分配,即从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

例如:在银行中普通客户需要取票排队而VIP客户可以优先服务。

调度的3个层次

高级调度

首先理解一下作业的概念,作业并不是学生时代时的作业,而是一个具体的任务。用户用户向系统提交一个作业 ≈ 用户让操作系统启动一个程序(来处理一个具体的任务)

高级调度的概念

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

中级调度(内存调度)——按照某种策略决定将哪个处于挂起状态的进程重新调入内存。一个进程可能会被多次调出、调入内存,因此中级调度发生的频率要比高级调度更高。

当内存不够时,可将某些进程的数据调出外存。等内存空闲或者进程需要运行时再重新调入内存。
暂时调到外存等待的进程状态为挂起状态。被挂起的进程PCB会被组织成挂起队列

低级调度:低级调度(进程调度/处理机调度)—— 按照某种策略从就绪队列中选取一个进程,将处理机分配给它。

进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。
进程调度的频率很高,一般几十毫秒一次。

三层调度的联系和对比

要做什么 调度发生在… 发生频率 对进程状态的影响
高级调度(作业调度) 按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程 外存->内存(面向作业) 最低 无->创建态->就绪态
中级调度 (内存调度) 按照某种规则,从挂起队列中选择合适的进程将其数据调回内存 外存->内存(面向进程) 中等 挂起态->就绪态(阻塞挂起->阻塞态)
低级调度(进程调度) 按照某种规则,从就绪队列中选择一个进程为其分配处理机 内存->CPU 最高 就绪态->运行态

切换与过程调度方式

进程调度的时机

  • 进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。

需要进行进程调度与切换的情况

1.当前运行的进程主动放弃处理机

  • 进程正常终止
  • 运行过程中发生异常而终止
  • 进程主动请求阻塞(如 等待I/O)

2.当前运行的进程被动放弃处理机

  • 分给进程的时间片用完
  • 有更紧急的事需要处理(如 I/O中断)
  • 有更高优先级的进程进入就绪队列

还有不能进行进程调度与切换的情况:

  • 处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难
    做到在中断处理过程中进行进程切换。
  • 进程在操作系统内核程序临界区中。
  • 原子操作过程中(原语)。原子操作不可中断,要一气呵成(如之前讲过的修改PCB中进程状态标志,并把PCB放到相应队列)

注意下面的说法:

在这里插入图片描述

临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。
临界区:访问临界资源的那段代码。

在这里插入图片描述

进程调度的方式

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

非抢占方式的特点:实现简单,系统开销小但是无法及时处理紧急任务,适合于早期的批处理系统

2.剥夺调度方式,

评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_End丶断弦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值