【操作系统笔记0.2】操作系统的运行环境

操作系统在硬件之上,其他软件之下,直接与硬件打交道。操作系统的运行环境这部分内容,涉及《计算机体系结构》和《微机原理》等课程知识:

  • 计算机层次结构
  • 中央处理器(CPU)
  • 存储系统
  • 缓冲技术
  • 中断机制
  • I/O技术
  • 时钟

本文以中断为核心内容,只介绍 CPU 及中断:
Roadmap:(加粗部分为重点知识)

  • CPU
    • 特权指令 vs 非特权指令
    • CPU状态
      • 用户态 vs 核心态
      • 状态转换
  • 中断
    • 定义
    • 特点
    • 类型
    • 中断处理机制
      • 中断系统
      • 中断响应、中断处理、保存现场、恢复现场
      • 中断优先级
      • 中断屏蔽
  • 中断&系统调用&CPU状态

CPU

1. 指令系统分类

在多道程序系统中,为保证安全,把指令系统分为两类:特权指令、非特权指令

特权指令非特权指令
只允许操作系统一般用户均可使用

特权指令 eg:修改程序状态字、设置中断屏蔽、启动I/O设备、清内存、设置时钟、停机等

2. CPU状态

(1)管态 vs 目态
在**程序状态字(PSW)**中专门设置一位,根据运行程序使用指令的不同权限而设置。

管态目态
别称特态、特权态,核心态,系统态普态、用户态
执行指令权限能执行指令全集,具有改变CPU状态的能力只能执行非特权指令
运行程序操作系统在管态下运行用户程序在目态下运行
转换目态到管态:唯一途径是通过中断。管态到目态:设置PSW指令(修改程序状态字)

注:如果在目态下用户执行了特权指令,则产生中断,由操作系统得到控制权,而特权指令被停止执行。

中断

协调系统对各种外部事件的响应和处理。中断是实现多道程序的必要条件。

  1. 中断定义
    CPU在执行一个程序时,对系统发生的某个事件作出的一种反应:CPU暂停正在执行的程序,保留现场后自动转去处理相应的事件,处理完该事件后再返回断点,继续完成被打断的程序。(如有必要,被中断的程序可以在后来某时间恢复,继续执行。)

  2. 特点:
    (1)随机
    (2)可恢复
    (3)自动处理

  3. 中断系统
    中断由软件、硬件协同完成——中断系统
    中断装置(硬件):发现中断,响应中断
    中断处理程序(软件)

    中断的其他要素:
    中断源:引起中断发生的事件
    中断寄存器:硬件为每个中断源设置寄存器,中断发生时信息被记录在寄存器中,以便分析处理(记录中断)
    中断字:中断寄存器中的内容
    系统堆栈:在内存开辟的一块区域用来临时保存进程运行现场
    中断向量表:使中断装置找到恰当的中断处理程序,中断程序入口地址映射表
    中断向量:表中的每一项,由程序状态字PSW和指令计数器PC的值组成

  4. 中断类型

  • 强迫性中断 vs 自愿性中断
    • 强迫性中断
      正在运行程序所不期望的,不知何时何地发生。
      • 输入/输出(I/O)中断:主要来自外部设备、通道
        eg:设备出错,传输结束等
      • 程序性中断:运行程序中本身的中断
        eg:溢出、缺页、缺段、地址越界、除数为0等
      • 时钟中断:
        时间片到时
      • 控制台中断:
        由控制台发出控制信息,产生中断
      • 硬件故障中断:
        eg:电源故障,内存出错等
    • 自愿性中断
      用户在程序中有意识安排的中断:用户在编制程序时因为要求操作系统提供服务,有意使用 “访管”指令或系统调用,使其发生中断。
  • 硬中断 vs 软中断
    • 硬中断:通过硬件来产生中断请求
外中断内中断
处理器和主存储器之外来自处理器和主存内部的中断
与正执行指令无关与正执行指令有关
可屏蔽多为异常(不可屏蔽)
电源故障中断、时钟中断、控制台中断、I/O中断等主存奇偶错、地址越界、调试指令、访管中断、算术操作溢出等
  • 软中断:通常是通信进程之间用来模拟硬中断的一种信号通信方式
  1. 中断响应(由中断装置完成)
    发现中断接收中断的过程
    (1)发现中断源
    优先级
    (2)保存现场,将中断向量推入系统堆栈
    (3)引出中断处理程序
    方法:CPU在执行每条指令后扫描中断寄存器,查看有无中断请求,如果没有,则执行下一指令;如果有中断请求,则通过交换中断向量引出中断处理程序。(交换程序状态字进入中断处理程序:保留PSW内容,将它送入内存单元中相应的中断源的旧的状态字内存单元;将内存中相应新的状态字单元送入PSW内,形成新的现行程序状态字。)
  2. 中断处理(由中断处理程序完成)
    (1)保存现场:保存未被硬件保存的现场
    (2)识别中断具体原因
    (3)根据中断原因处理中断事件
    (4)中断返回
    ①从程序中断处继续执行
    ②启动一个新的程序
    ③重新启动OS
  3. 中断优先级
    • 硬件规定的
    • 对同级中断按硬件规定次序响应
    • 由硬件划分的,不可改变,但可调整
  4. 中断屏蔽
    定义:暂时禁止一个或多个中断源向CPU发中断请求。
    中断发生时,CPU不予响应的状态,常用于必须连续运行的程序,防止任务被中断干扰;或执行处理某一类中断时,防止其它中断干扰。
    实现:在PSW中设置一个中断屏蔽位,通过设置中断屏蔽指令完成开中断与关中断来进行中断屏蔽。

中断&系统调用&CPU状态

  • 用户态到核心态:唯一途径是通过中断
    用户程序(用户态)
    -> 中断处理程序(核心态)->系统服务程序(核心态)
    ->恢复到用户程序
  • 系统调用:
    用户程序通过访管指令或陷阱指令(Trap 指令),
    来请求操作系统为其提供某种功能的服务。
    系统调用的过程
    当CPU执行访管指令或陷阱指令时,即引起访管中断或陷阱中断;
    处理器保存中断点的程序执行上下文环境(PSW, PC和其他的一些寄存器),CPU切换到管态。
    中断处理程序开始工作,调用相应的系统服务;
    中断处理结束后,恢复被中断程序的上下文环境,CPU恢复为目态,回到中断点继续执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值