2.2 内容精要
操作系统的形成与发展与计算机硬件的发展紧密相关,本章主要讲述硬件运行环境。
2.2.1 处理器模式及转换
计算机系统包括软件系统和硬件系统。软件系统包括系统软件、支撑软件、应用软件等。硬件系统由处理器、主存、I/O控制系统以及各种外围设备组成。作为对数据进行高速运算和控制处理的部件,CPU的主要任务是按照程序计数器的指向从主存读取指令,对指令译码,取出操作数,然后执行指令。在多道程序系统中,为保证安全,从资源管理和控制程序执行的角度将指令系统分为特权指令和非特权指令两类。
特权指令是指仅供内核程序使用的指令,如修改程序状态字、开关中断、修改地址映射寄存器、启动I/O设备、清空内存、设置时钟、停机等。特权指令只允许操作系统使用,不允许一般用户使用。如果应用程序执行特权指令,那么会导致非法执行而产生保护中断,随后转向操作系统的“用户非法使用特权指令”的异常处理程序进行处理。
1.处理器模式
为了保证正确的操作,CPU需要知道当前运行其上的是操作系统还是应用程序,这取决于CPU状态,即处理器模式,它分为管态和目态。这两种模式由一位触发器标志,通常在程序状态字(Program Status Word,PSW)中专门设置一位。
(1)管态
管态也称为特权态、核心态、系统态,是操作系统运行时所处的状态。它能执行指令全集(包括特权和非特权指令),具有改变CPU状态的能力。
(2)目态
目态又称为用户态,是一般用户程序运行时所处的状态。它只能执行非特权指令。
如果在目态下用户程序执行了特权指令,那么CPU拒绝执行该指令,产生中断,由操作系统取得控制权并处理,通知用户“程序执行非法指令”。
2.处理器模式的转换
在系统运行过程中,CPU状态是动态改变的,时而运行于管态,时而运行于目态。这两种状态可以相互转换。从目态到管态转换的唯一途径是通过中断。管态到目态可通过设置PSW指令(修改程序状态字),实现从操作系统向用户程序的转换。
当系统启动时,硬件置CPU的初始状态为管态,然后装入操作系统程序。如果操作系统选择了用户程序占用处理器,则将管态转为目态。如果中断装置发现了一个事件,则又将其置为管态,让操作系统处理出现的事件。