计算机操作系统教程:中断与处理器调度-期末复习大纲

  1. 中断与处理器调度

    1. 中断是实现多道程序设计的必要条件,表示一切导致控制随机发生转移的事件。

    2. 系统启动后,操作系统处于中断状态。

  2. 中断概念

    1. 遇到突发事件,必须中止当前程序,处理此事件,之后恢复原来运行的程序。

  3. 中断系统

    1. 中断装置

      1. 硬件部分,发现并响应中断。

      2. 识别中断源:选择级别最高的中断源。

        1. 每个中断源有一个中断寄存器,用于保存与中断相关的信息(中断字),便于中断处理程序分析原因和采取措施。

      3. 保存现场:将正在运行的进程的PSW和PC压入系统栈。

      4. 引出中断处理程序:根据中断字,将对应的中断向量送入PSW(中断处理程序的运行环境)和PC(中断处理程序的入口地址)中,如此转入中断处理程序。

        1. 中断向量的位置是硬件规定的,内容是OS在初始化时设置好的。

    2. 中断处理程序

      1. 每类中断事件有一个中断处理程序。

      2. 位于操作系统中,软件部分。

      3. 若时机恰当,系统考虑切换进程,进行程序调度。

    3. 中断类型

      1. 强迫性中断
        1. 时钟中断:最重要的中断。

        2. 输入输出中断。

        3. 控制台中断。

        4. 硬件故障中断。

        5. 程序错误中断。

      2. 自愿性中断
        1. 系统调用。

        2. 访管指令:要求系统提供某种服务。非特权指令,CPU暂停用户程序执行,用OS为用户服务。

  4. 中断嵌套和系统栈

    1. 中断嵌套
      1. 如果系统在处理一个中断事件的过程中又响应了新的中断,则发生中断嵌套。栈(系统空间中)是中断现场的保存区域。

        1. 被中断程序的PSW和PC需要由中断装置压入系统栈,被中断程序的其他现场信息(如寄存器中的内容)由中断处理程序选择性压入系统栈,系统栈位置由硬件确定。

    2. 中断优先级
      1. 硬件将中断源分为若干个级别,称为中断优先级别。优先级高的先响应。

      2. 硬件系统提供了中断屏蔽指令,即暂时禁止中断源发送中断请求。

        1. 通常,不允许同级和低级的中断,但允许更高级的中断插入。

        2. 优先级不可改变,但能通过屏蔽来调整响应次序。

        3. 关中断:一些程序段的执行不允许任何中断打扰(如保存现场和恢复现场),故屏蔽所有中断源。

    3. 中断处理逻辑
      1. 图3-6及其课本说明

      2. 图3-7及其课本说明

      3. 表3-1(注意:就绪到核心运行时,PCB恢复核心现场信息,核心运行到等待时,PCB保存核心现场信息;而核心运行到目态运行时,系统栈弹出核心级别现场的寄存器信息、PSW和PC,反之压入目态级别现场的PSW和PC、寄存器信息到系统栈。当进程发生中断(目态运行到核心运行,核心运行到核心运行)时,压入PSW,PC等到系统栈,而若要发生进程切换,再将更多的现场信息保存到PCB中。只有中断后,才有可能保存信息到PCB,并且中断后进程就进入核心态运行。)

    4. 现场级别
      1. 中断现场
        1. 保存在系统栈中

        2. 发生中断时,目态现场(PSW,PC,寄存器)压入系统栈,其次中断处理程序的嵌套函数调用的返回点,参数,局部变量,返回值压入系统栈。若中断嵌套,则核心级别现场压入系统栈,核心级别现场的中断嵌套函数信息压入系统栈。

      2. 进程切换现场
        1. 保存在进程PCB中

        2. 进程切换时,涉及核心态的等待和剥夺,故PCB保存的现场是核心级别现场。(目态没有等待和剥夺,若涉及等待和剥夺,等待和剥夺的状态会被记录,而这是用户级现场所不可具备的。)换而言之,目态现场因为中断而被操作系统管理后,变成核心现场,核心现场信息再被保存在PCB中。

    5. 中断处理历程
      1. 强迫性中断
        1. 输入输出中断处理
          1. 通道发出

              1. 正常结束:再启动通道或唤醒进程

              2. 传输错误:进行复执;复执失败一定次数后通知操作员

        2. 时钟中断处理
          1. 硬件时钟

            1. 绝对时钟:年月日

            2. 间隔时钟:间隔产生中断信号

              1. 时钟中断管理(P57)

          2. 软件时钟

            1. 硬件和程序实现

        3. 控制台中断处理
          1. 利用控制台发出中断请求

        4. 硬件故障中断管理
          1. 人工干预;中断处理程序保存现场信息

            1. 电源故障

              1. 将寄存器内容和内存信息保存到外存

              2. 停止外围设备工作

              3. 停止处理器工作

              4. 排除后:启动处理器恢复程序

              5. 启动外围设备工作

              6. 取回保存的信息

            2. 主存故障

              1. 奇偶校验错误或海明校验错误引起。

              2. 将其划分为永久性的不可用区域。

        5. 程序错误中断处理
          1. 只能由系统处理的中断

            1. 内存访问越界,执行非法特权指令,缺页故障,缺段故障等影响到其他进程或者OS。

          2. 可由用户处理的中断

            1. 浮点数溢出,阶数为0等。如果用户没有指定处理方式,则按标准处理方法处理。

            2. 用户自编的处理程序叫做中断续元,其入口地址叫做中断续元入口。对于发生在不同位置的同种中断,用户可以给出不同的处理方法。

            3. 中断续元表:每个程序具备,长度为系统允许用户处理的中断的个数。表的初始内容只有PSW,PC为0。中断续元的调用为目态。

            4. 图3-10及其课本描述

      2. 自愿性中断处理
        1. 用户程序在目态执行访管指令时引起。(P61)

  5. 处理器调度(进程调度,低级调度)

    1. CPU资源在进程或线程之间的分配。

    2. 操作系统不可调度用户级线程,可调度包含其的进程。

    3. 进程的执行为CPU阵发期与I/O阵发期的交替。

    4. CPU阵发期:对处理器一次连续的使用。

      1. 阵发时间:在CPU阵发期所需要的处理时间。

      2. 阵发时间的递推公式。P63

    5. 处理器调度算法
      1. 根据CPU阵发时间,确定了处理器的分配策略,确定了进程的运行次序。

      2. 指标
        1. CPU利用率尽可能高

        2. 吞吐量尽可能高

        3. 周转时间(任务从就绪(到达/进入系统)到完成所用的时间)尽可能低

          1. 平均周转时间,衡量对同一作业流的不同调度算法的调度性能,越小越好

          2. 带权周转时间(大于1)

          3. 平均带权周转时间,衡量不同作业流的同一调度算法的调度性能,越小越好

        4. 响应时间(任务从就绪到开始处理所用的时间)尽可能低

        5. 系统开销尽可能少

      3. 先到先服务算法
        1. 按照申请CPU的次序来调度。公平但是短进程等待时间长,从而平均等待时间长。

      4. 最短作业优先算法
        1. 按照CPU阵发时间递增的顺序调度,平均周转时间最短,不公平:一个较长的就绪任务可能会被饿死。

      5. 最短剩余时间优先算法
        1. 剥夺式的最短作业优先算法,优先选择剩余时间最短的进程或线程。

      6. 最高响应比优先算法
        1. 先到先服务,最短作业优先的折中。

        2. 响应比公式及其说明。P65

      7. 最高优先数优先算法
        1. 由一个数字来表达进程的紧迫程度/优先级。

        2. 静态优先数:进入系统时拥有的固定优先数,简单开销小,但对低优先级公平性差。(适合批处理)

        3. 动态优先数:进程获得资源时提高其优先级,以免资源被浪费。进程就绪态过久,提高其优先级。资源利用率高,公平性好,但复杂开销大。

        4. 非剥夺式

          1. 进程一直运行,直到运行完毕或者进入等待。

        5. 剥夺式

          1. 发生进程切换:进程进入等待;运行完毕;出现高优先级的新就绪进程。

      8. 循环轮换算法(适合分时系统)
        1. 公平,响应及时。

        2. 每个进程一个时间片,进程按照就绪队列的次序轮流执行。

        3. 时间片用完时,若CPU阵发期未结束,进程未进入等待,则再度进入就绪队列尾部。

        4. 基本轮转(时间片等长)

        5. 改进轮转(可变长时间片):灵活,但需恰当。

      9. 分类排队算法
        1. 多个就绪队列。

        2. 通用操作系统中:实时就绪队列,分时就绪队列,批处理就绪队列。优先级递减。不同队列内的算法可不同。

      10. 反馈排队算法
        1. 多个就绪队列。

        2. 每个队列通常使用循环轮转算法。

        3. 进程可以在不同就绪队列移动。首次进入第一级就绪队列,逐层下降(最后一层循环);高优先级的队列时间片短。

        4. 特点

          1. 短进程优先处理。

          2. 设备资源利用率高。

          3. 系统开销小。

          4. 很好的一种适应性调度。

    6. 处理器调度时机
      1. 处理器调度程序是操作系统底层的模块,调用该程序的前提是进入操作系统(系统态)。

      2. 进程结束,进程等待资源,进程等待数据传输,会引起中断进而进程切换。

      3. 时钟中断,设备输入输出可能引起进程切换。

  6. 交换(中级调度)

    1. 系统控制并发程度的一个调度级别。

    2. 进程在内存和外存储器中的调度。

    3. 缓解资源紧张矛盾,减少并发度以降低系统开销。

      1. 并发度过高会导致激烈的资源竞争,降低进程推进速度,导致CPU资源切换频繁,增加系统开销。

    4. 图3-19。

  7. 作业调度(高级调度)

    1. 将一个作业由输入井送入内存。

    2. 使作业以进程的形式进入内存并获得运行资格。

    3. 流程
      1. 提交:输入机到输入井

      2. 后备:呆在输入井(作业调度1,位于操作系统高层)

      3. 执行:输入井到内存(作业调度1,2,位于操作系统高层)

      4. 完成:完成,进入输出井(作业调度2,位于操作系统高层)

      5. 退出:输出井到输出设备

    4. 作业调度(后备到执行)

      1. 不可剥夺式算法适合批处理作业。(FCFS,HPF,SJF,HRN)

  8. 实时调度

    1. 合理地安排多个实时任务的执行次序,使各个实时任务都能满足约束条件
      1. 随机性实时任务

      2. 周期性实时任务

      3. 硬实时任务

      4. 软实时任务(允许超时)

      5. 实时人物的紧迫程度用优先级表示

    2. 在实时系统中,有时间约束
      1. 就绪时间:可以开始处理的时间

      2. 开始截止期(最迟开始处理时间)

      3. 处理时间

      4. 完成截止期(最迟完成时间,一般是下一个周期的开始时间)

    3. 多个实时任务可调度的必要条件:∑Ci/Ti≤1
      1. 对于某些算法,并不能等于1

      2. 剥夺式调度
        1. 实现灵活,可以充分发挥处理器利用率,实现复杂

        2. 最早截止期优先调度
          1. 优先选择完成截止期最早的实时任务

        3. 最小裕度优先调度
          1. 裕度L越小,优先级越高

          2. 裕度为0必须立即分派,否则错过截止期

      3. 非剥夺式调度
        1. 实现简单,处理器往往不能负载运行(一个任务完成后,到下一个周期开始这一段空闲时间,可能不足以塞入一个任务,导致处理器空闲)

        2. 单调速率调度
          1. 任务发生频率越高(周期短),调度级别越高

          2. 可调度的上限值(查表)

          3. 开销小,效率偏高

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值