下面两类情况会导致从用户态 向核心态转换 是程序请求操作系统服务,执 行一条系统调用; ■二是程序运行时,产生了一个中 断事件,中断处理程序进行工作
下面两类情况会导致从用户态 向核心态转换: n 一是程序请求操作系统服务,执 行一条系统调用; n 二是程序运行时,产生了一个中 断事件,中断处理程序进行工作
Unix系统上进程执行在两个状 态之下:用户态和核心态 用户态下的进程执行一个系统调用时,进程的执行态从 用户态变为核心态,由操作系统执行并试图为用户的请 求服务。 ■Unⅸx两个处理器状态之间的差别是:用户态下的进程能 存取自己的指令和数据,但不能存取内核指令和数据,也 不能存取其它进程的指令和数据。然而,核心态下的进 程能够存取内核和用户地址。 ■用户态下的进程不能执行特权指令,这是系统用以保证安 全性的措施之一。注意到内核是为用户进程工作的,它 不是与用户进程平行运行的软件,而是作为用户进程的 部分
Unix系统上进程执行在两个状 态之下:用户态和核心态 n 用户态下的进程执行一个系统调用时,进程的执行态从 用户态变为核心态,由操作系统执行并试图为用户的请 求服务。 n Unix两个处理器状态之间的差别是:用户态下的进程能 存取自己的指令和数据,但不能存取内核指令和数据,也 不能存取其它进程的指令和数据。然而,核心态下的进 程能够存取内核和用户地址。 n 用户态下的进程不能执行特权指令,这是系统用以保证安 全性的措施之一。注意到内核是为用户进程工作的,它 不是与用户进程平行运行的软件,而是作为用户进程的 一部分
例如,Shel通过系统调用读用户终端, 在执行读操作时,由用户态转入核心 态。于是,正在为该She进程执行的 内核软件对终端的操作进行控制,并 把键入的字符返回给 Shell,此时,处 理器又从核心态转回用户态,然后, Shell用户态下继续执行,对字符流 作分析和解释完成规定的操作,而解 释执行过程中又允许请求引用其它系 统调用
n 例如,Shell通过系统调用读用户终端, 在执行读操作时,由用户态转入核心 态。于是,正在为该Shell进程执行的 内核软件对终端的操作进行控制,并 把键入的字符返回给Shell,此时,处 理器又从核心态转回用户态,然后, Shell在用户态下继续执行,对字符流 作分析和解释完成规定的操作,而解 释执行过程中又允许请求引用其它系 统调用
2.1.6程序状态字寄存器 程序状态字PSW是CPU中的特殊寄存器,用来控 制指令的执行顺序并且保留和指示与程序有关的 系统状态的集合。它的主要作用是方便地实现程 序状态的保护和恢复。一般来说,程序状态字寄 存器包括以下几类内容: ●程序基本状态。包括:1)程序计数器:指明下 条执行的指令地址;2)条件码:表示指令执行 的结果状态;3)处理器状态位:指明当前的处理 器状态,如目态或管态、运行或等待 ●中断码。保存程序执行时当前发生的中断事件 ●中断屏蔽位。指明程序执行中发生中断事件时, 是否响应出现的中断事件
2.1.6 程序状态字寄存器 n 程序状态字PSW是CPU中的特殊寄存器,用来控 制指令的执行顺序并且保留和指示与程序有关的 系统状态的集合。它的主要作用是方便地实现程 序状态的保护和恢复。一般来说,程序状态字寄 存器包括以下几类内容: n l 程序基本状态。包括:1)程序计数器:指明下 一条执行的指令地址;2)条件码:表示指令执行 的结果状态;3)处理器状态位:指明当前的处理 器状态,如目态或管态、运行或等待。 n l中断码。保存程序执行时当前发生的中断事件。 n l中断屏蔽位。指明程序执行中发生中断事件时, 是否响应出现的中断事件
BM360370系列计算机的程序状态字 基本格式如图21所示: 8位系统屏蔽4位CMWP字段4位程序屏蔽 4位保护键|6位中断码字段 24位指令地址 指令长和条件码 图2-1IBM370系统程序状态字的其本控制格式
IBM360/370系列计算机的程序状态字 基本格式如图2-1所示: 8位系统屏蔽 XX X X XXXX X X XXXXXX 4位CMWP字段 4位程序屏蔽 4位保护键 16位中断码字段 指令长和条件码 24位指令地址 图2-1 IBM 370系统程序状态字的其本控制格式