OS basic (1)



根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态

多数系统将处理器工作状态划分为管态和目态
管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态
目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态

有些系统将处理器状态划分核心状态,管理状态和用户程序状态(目标状态)三种 

处理器处于管态时:
        1.全部指令(包括特权指令)可以执行
        2. 可使用所有资源
        3.并具有改变处理器状态的能力
处理器处于目态时:
       只有非特权指令能执行

特权级别不同,可运行指令集合也不同
特权级别越高,可以运行指令集合越大

高特权级别对应的可运行指令集合包含低特权级的

x86系列处理器
       386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)
       从R0到R3特权能力依次降低,各个级别有保护性检查(地址校验、I/O限制).特权级别之间的转换方式不尽相同
       R0相当于双状态系统的管态
       R3相当于目态
       R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:

四个级别运行不同类别的程序:
     R0-运行操作系统核心代码
     R1-运行关键设备驱动程序和I/O处理例程
     R2-运行其它受保护共享代码,如语言系统运行环境
     R3-运行各种用户程序

现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别
 

CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识

用一个专门的寄存器来指示处理器状态,称为程序状态字(PSW  Program Status Word )
程序状态字通常包括以下状态代码:
 CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力
 条件码——反映指令执行后的结果特征
 中断屏蔽码——指出是否允许中断

目态--管态 
其转换的唯一途径是通过中断
管态--目态 
可用设置PSW(修改程序状态字)可实现

特权指令:只能由操作系统使用的指令
非特权指令:只能由用户程序使用的指令。
操作系统能使用特权指令和非特权指令。
使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令
特权指令一般引起处理器状态的切换
         处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)
         然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入

特权指令指具有特殊权限的指令。这类指令只用于操作系统或其他系统软件,一般不直接提供给用户使用。

特权指令如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。

在多用户、多任务的计算机系统中特权指令必不可少。它主要用于系统资源的分配和管理,包括改变系统工作方式,检测用户的访问权限,修改 虚拟存储器管理的段表、 页表,完成任务的创建和切换等。
常见的特权指令有以下几种:
(1)有关对I/O设备使用的指令 如启动I/O设备指令、测试I/O设备工作状态和控制I/O设备动作的指令等。
(2)有关访问程序状态的指令 如对 程序状态字(PSW)的指令等。
(3)存取特殊 寄存器指令 如存取中断寄存器、时钟寄存器等指令。
(4)其他指令
  在某些多用户的计算机系统中,为了统一管理所有的外部设备,输入输出指令也作为特权指令,不允许用户直接使用。需要输入输出时,必须通过系统调用,经由操作系统来完成。

中断寄存器:
有的计算机中,为了区分和不丢失中断信号,对应每个中断源分别用一固定触发器寄存中断信号,规定值为1时,表示有中断信号,为0时表示无

       每个触发器称为一个中断位,所以中断寄存器是由若干个中断位组成 .


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值