一、处理机的态及分类
所谓处理机的态,又称处理机的特权级,就是处理机当前处于何种状态,正在执行哪类程序。
操作系统的管理程序和用户程序在处理机上执行时,二者的职责不同,权限也不同,为了保护操作系统,所以要区分处理机的态。
基本的处理机的态是管态和用户态。
- 管态:又称系统态,是操作系统的管理程序执行时机器所处的状态。在管态状态下,中央处理机可以使用全部机器指令,包括一组特权指令,可以使用所有的资源,允许访问整个存储区。
- 用户态:又称目态,是用户程序执行时机器所处的状态。在用户态状态下,禁止使用特权指令,不能直接取用资源与改变及其状态,并且只允许用户程序访问自己的存储区域。
二、特权指令
在核态下系统可以操作所有系统指令,包一组特权指令主要设计以下几个方面:
- 改变机器状态的指令
- 修改特殊寄存器的指令
- 设计外部设备的输入/输出指令
三、中断
中断的概念
CPU 暂时停下现行程序的执行,转向为临时发生的事件进行处理,处理完后,再返回执行原程序。中断是一种在发生了一个外部的事件时调用相应的处理程序(或称服务程序)的过程。中断服务程序与中断时CPU正在运行的程序是相互独立的,相互不传递数据。
起作用主要有以下几点:
- 实现主机和外设并行工作
- 故障 的处理
- 实时处理
中断的类型
内中断:发生在主机内部的中断称为内中断
外中断由主机外部事件引起的中断称外中断
中断的例子:复位,时钟中断,键盘中断,页面失效中断
内部中断(异常处理):算术操作异常、非法指令、越权指令、页面失效
外部中断(可屏蔽,不可屏蔽):键盘、鼠标、电源
软件中断 :自陷(系统调用)
向量中断和探询中断
在向量中断里,由于每个中断都有一个独立的标识符,所以不需要经过分析就可以直接转入处理该中断的程序。而探询中断机制是将系统中的中断分为几个大类,每一个大类都包含若干中断类型。当产生一个中断信号时,在探寻机制下,由中断响应转入到某一大类的中断程序入口。在这一程序中,有一个分析例程用来分析、判断应该转入哪个具体的中断处理程序。
所以向量中断比起探询中断在处理时间上可以大大缩短,但是会消耗大量存储中断向量的主存。