计算机操作系统知识点总结(二)

2、操作系统运行机制与用户界面

2.1 中断和异常

  • 当中断或异常发生时,运行用户模式程序的CPU会马上进入操作系统内核程序并运行。
  • 中断的引入是为了开发CPU和通道(或设备)之间的并行操作
  • 异常表示CPU执行指令时本身出现算术溢出零做除数取数时发生奇偶错访存指令越界,或执行了一条所谓“陷入指令trap”等情况,这时也可以中断当前的执行流程,转到相应的错误处理程序或陷入处理程序。

2.1.1 中断和异常的区别

  • 中断(Interruption),也称外中断。指来自CPU执行指令以外的事件发生;时钟中断,表示一个固定的时间间隔已到。在处理高级中断时,低级中断可以被临时屏蔽。
  • 异常(Exception),也称内中断、例外或陷入(Trap)。指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、虚存系统的缺页及专门的陷入指令等。异常不能被屏蔽,一旦出现应立即处理。

2.2.2 中断分级

  • 为了区分和不丢失每个中断信号,通常用一些固定的触发器来寄存它们,并规定其值为1时表示有中断信号,其值为0时表示无中断信号。
  • 某小型机上的操作系统把中断级别分为如下三种:(1) 时钟中断的中断优先级为6级。(2)磁盘中断的中断优先级为5级。(3)终端等其他外设中断的中断优先级为4级。
  • 处理机优先级,指处理机当前正运行程序的中断响应级别。当处理机处于某一优先级时,只允许处理机响应比该优先级高的中断,而屏蔽低于或等于该优先级的中断。

2.2 中断/异常响应和处理

2.2.1 中断/异常响应

  • 中断信号是外部设备或时钟部件发给CPU的,故在CPU的控制部件中需增设一个能检测中断的机构。该机构扫描寄存器,判断是否有中断信号。
  • 异常是在执行指令的时候,由指令本身的原因发生的,指令的实现逻辑发现异常发生则转入操作系统内核的异常处理程序。

1、断点和恢复点

  • 当中断发生时,CPU刚执行完的那条指令地址称为“断点”。
  • 中断时程序计数器所指的地址(即断点的逻辑后续指令)称为“恢复点”。
    在这里插入图片描述
    2、核心态和用户态
  • CPU通常执行两类不同性质的程序:一类是用户自编程序或系统外层的应用程序,另一类是操作系统内核程序。将CPU的运行状态分为核心态和用户态。
  • 把核心态称为管态、系统状态、监督方式,将用户态称为目态、用户状态或用户方式等。

3、中断/异常向量及PS和PC寄存器

  • 中断/异常向量的每一个单元中除了存储中断/异常处理程序的入口地址外,还常用来保存CPU状态转换的信息。
  • PC是程序计数器寄存器,CPU的取指令部件是根据它到主存中取指令的。
  • PS寄存器描述CPU的执行状态,主要包含处理机当前运行态、处理机优先级、屏蔽外中断否等标志位。

2.2.2 中断/异常处理

  • 在中断/异常处理中,一般包括保存现场分析中断/异常原因进入相应的中断/异常处理程序重新选择程序(进程)运行恢复现场等过程。

在这里插入图片描述

2.3 操作系统运行模型

  • 操作系统通常都包含进程管理、存储管理、外设管理、文件管理等主要功能模块,还需要提供支持用户使用计算机的命令解释程序。
  • 操作系统可以有如下三种运行模型。当前主流操作系统都采用嵌入用户进程运行模式。

1、独立运行的内核。

  • 操作系统的执行不与任何用户进程关联,它有自己独立的存储空间。有自己独立的运行环境。
  • 在这种运行模型下,进程只运行用户态程序,内核程序可看成在一个特殊的系统执行实体(或称特殊的进程)中运行。

2、嵌入用户进程中运行模式

  • 操作系统服务程序(各功能模块)、中断处理程序等在自陷和中断时,利用每个用户进程各自的核心栈空间,运行于用户进程中。
  • 操作系统空间独立于用户进程的用户空间,而且操作系统空间地址不与用户进程空间地址重叠。

3、微内核运行模式

  • 将原来由内核态实现的大部分操作系统功能转由一些用户态运行的进程来实现,系统调用转接代码、进程调度切换代码和中断处理程序还是在核心态下嵌入在被中断的进程核心栈执行。

在这里插入图片描述

2.4 系统调用

  • 系统调用是操作系统内核和用户态运行程序之间的接口。
  • 操作系统必须提供某种形式的接口,以便让外层软件通过这种接口使用系统提供的各种功能。

在这里插入图片描述

  • 当CPU运行到trap指令时,产生异常,保存现场后,控制转入内核总控程序。
  • 总控程序进一步保留现场,根据中断/异常类型编号6转到系统调用总入口处理程序。
  • 系统调用处理程序根据trap指令的类型号,查系统调用散转表,得知自带参数个数,然后从约定寄存器读入参数。最后根据系统调用散转表转相应的服务程序。
  • 服务程序结束后返回,系统调用处理程序将此次服务的结果存入约定的返回结果的寄存器。
  • 最后回到总控程序,恢复现场,退出系统调用处理。至此即完成了一次系统调用,用户程序又可继续运行。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值