操作系统(二)——操作系统的运行环境

一、处理器1、处理器的构成与基本工作方式 处理器一般由运算器、控制器、一系列的寄存器以及高速缓存构成。其中运算器实现指令中的算术和逻辑运算;控制器负责控制程序运行的流程,包括取指令、维护处理器状态、处理器与内存的交互等;寄存器是一种暂时存储器件,用于处理器执行指令的过程中暂存数据、地址以及指令信息。在计算机的存储系统中,寄存器具有最快的访问速度,但因为寄存器集成在微处理器芯片...
摘要由CSDN通过智能技术生成

一、处理器

1、处理器的构成与基本工作方式

        处理器一般由运算器、控制器、一系列的寄存器以及高速缓存构成。其中运算器实现指令中的算术和逻辑运算;控制器负责控制程序运行的流程,包括取指令、维护处理器状态、处理器与内存的交互等;寄存器是一种暂时存储器件,用于处理器执行指令的过程中暂存数据、地址以及指令信息。在计算机的存储系统中,寄存器具有最快的访问速度,但因为寄存器集成在微处理器芯片中,所以它的造价比较高,存储容量也比较小。

(1) 处理器中的寄存器

        在处理器内通常有两类寄存器:一类称为用户可见寄存器。对于高级语言来说,编译器通过一定的算法分配并使用这些寄存器,以最大限度地减少程序运行时访问内存储器的次数,这对程序的运行速度影响很大。第二类称为控制和状态寄存器,它们用于控制处理器的操作,一般由具有特权的操作系统代码使用,以控制其他程序的运行。

        通常用户可见寄存器对所有程序都是可用的,由机器语言直接引用,它一般包括数据寄存器、地址寄存器以及条件码寄存器。数据寄存器主要用于各种算术逻辑指令和访存指令;地址寄存器用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址;条件码寄存器保存处理器操作结果的各种标记位,如算术运算产生的溢出、符号等,这些标记在条件分支语句中被测试,以控制程序指令的流向。

        处理器中有很多寄存器用于控制处理器的操作,这些寄存器大部分对于用户是不可见的,但可以在某种特权状态下访问,由操作系统使用。最常见的控制和状态寄存器有程序计数器,它记录了将要取出的指令的地址;指令寄存器,它包含了最近取出的指令;程序状态字(PSW),它记录了处理器的运行模式等。

(2) 指令执行的基本过程

      最简单的处理指令方式包括两个步骤:首先,处理器每次从存储器中读取一条指令,并在取指令完成后,根据指令类别自动将程序计数器的值变成下一条指令的地址,通常是自增1;其次,取到的指令被存储在处理器的指令寄存器中,处理器于是解释并执行这条指令。一个这样的指令处理过程被称为一个指令周期。

        指令大致可以分为五类:访问存储器指令,它们负责处理器和存储器之间数据传送;I/O指令,它们负责处理器和I/O模块之间的数据传送以及命令发送;算术逻辑指令,有时又称为数据处理指令,用以执行有关数据的算术和逻辑操作;控制转移指令,这种指令可以指定一个新的指令的执行起点;处理器控制指令,这种指令用于修改处理器状态,改变处理器的工作方式等。

2、特权指令和非特权指令

        在多用户和多任务的多道程序设计环境中,它的指令系统中的指令必须区分为两个部分:特权指令和非特权指令。特权指令,是指在指令系统中那些只能由操作系统使用的指令;非特权指令是指用户使用的指令。

        只有操作系统才能使用所有指令(特权指令和非特权指令),如果一个用户程序需要使用特权指令,一般将引起一次处理器状态的切换,这时处理器通过特殊的机制,将处理器状态切换到操作系统运行的特权状态,然后将处理权移交给操作系统中的一段特殊代码,这个过程被称为陷入。

3、处理器的工作状态

(1) 管态和目态

        多数操作系统将处理状态划分为管态和目态。前者一般指操作系统管理程序运行的状态,具有较高的特权级别,又称为内核态、特权态、系统态;后者一般指用户程序运行时的状态,具有较低的特权级别,又称为用户态、普通态。

        当处理器处于管态时全部的指令都可以执行,可使用所有资源,并具有改变处理器状态的能力。当处理器处于目态时,就只有非特权指令才能够执行。不同处理器状态之间的区别就在于赋予运行程序的特权级别不同,可以运行的指令集合也不相同。一般来说,特权级别越高,可以运行的指令集合越大,而且高特权级别对应的可运行指令集合包含低特权级别。

(2) 处理器工作状态的转换

① 目态到管态的转换

        其转换的唯一途径是通过中断。中断响应时交换中断向量,新的中断向量中的PSW的处理器状态位标志为管态。

② 管态到目态的转换

        可通过设置PSW指令(修改程序状态字),实现从操作系统向用户程序的转换。系统在启动时,处理器的初始状态为管态,然后装入操作系统程序,当操作系统退出执行时,让用户程序在目态执行。

(3) 限制用户程序执行特权指令

        用户程序中不能使用特权指令,所以当用户程序占用处理器时,应让处理器在目态下工作。若此刻取到了一条特权指令

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值