OS的运行机制和体系结构(2)

  • 操作系统的体系结构

操作系统和企业管理类似   内核就是企业的管理层,负责一些重要的工作,只有管理层能执行特权指令。用户态、核心态之间的切换相当普通员工和管理层之间的工作交接。大内核:初创企业体量不大,管理层负责大部分事情,效率高但是结构混乱,难以维护。微内核:随着企业体量也来越大,管理层只负责最核心部分工作,组织结构清晰,方便维护,但是效率低。

  1.  大内核
    1. 将操作系统的主要功能模块都作为系统内核,运行在核心态
    2.  优点:高性能
    3. 缺点:内核代码庞大、结构混乱、难以维护
  2. 小内核
    1. 只把最基本的功能保留在内核
    2. 优点:内核功能少,结构清晰,方便维护
    3. 缺点:需要频繁地在核心态和用户态中间切换,性能低
  •     中断和异常(内中断和外中断、中断处理过程)
  1. 中断是为了实现多道程序并发执行而引入的一种技术,人们通过操作系统作为计算机的管理者,并引入中断机制,从而实现多道程序并发执行。
  2. 本质:发生中断就意味着需要操作系统介入,开展管理工作。
中断过程:当CPU收到计时部件发出的中断信号时,操作系统切换为核心态,并对中断进行处理(通过内核进行处理),此时意味着进程 1 的时间片已用完,换进程 2 运行,并切换为用户态。进程 2 运行时可能发出系统调用(内中断信号),请求输出,此时,CPU切换为核心态,并对中断进行处理(进程 2 暂停运行、等待 I/O 完成,换进程 3 运行,并切换为用户态)。I/O 完成后,设备向CPU发出中断信号,操作系统切换为核心态,并对中断进行处理(恢复进程 2 的运行,并切换为用户态,以完成后续工作)。

        中断的概念和作用   (发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态转为核心态,使操作系统获得计算机的控制权,有了中断,才能实现多道程序并发执行。)
  1. 当发生中断CPU会立即进入核心态
  2. 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
  3. 对不同的中断信号,会进行不同的处理       
        中断   (广义的中断)  通过“中断信号来自cpu内部还是外部”判断是内/外中断
  1. 内中断(也称异常(信号来源:CPU内部与当前执行的指令有关)、例外、陷入)
    1. 自愿中断--指令中断     如:系统调用时使用的访问指令(又叫陷入指令)
    2. 强迫中断
      1. 硬件故障   如:缺页
      2. 软件中断   如:整数除0
  2. 外中断(狭义中断)  信号来源:CPU外部当前执行的指令无关
    1. 外设请求   如:I/O操作完成发生的中断信号
    2. 人工干预    如:用户强制终止一个进程
  3.  补充:内中断的另一种分类方式
    1.  陷阱、陷入(trap)
    2. 故障(fault)
    3. 终止(abort)     
        外中断的处理过程
            step1:每条指令执行结束后,CPU检查是否有外部中断信号
            step2:若有外部中断信号,则需要保护被中断的CPU环境
            step3:根据中断信号类型转入相应的中断处理程序
            step4:恢复原进程的CPU环境并退出中断,返回原进程继续往下执行
posted @ 2023-01-30 15:41  cczzw  阅读(77)  评论(0)    收藏  举报