UNIX
在了解了操作系统的基本概念之后,还要了解操作系统的运行机制:
- 内核态与用户态。
- 中断与异常。
- 系统调用接口。
- 存储系统。
- I/O系统
- 时钟(Clock)。
中央处理器(CPU)
- CPU的构成与基本工作方式:处理器中的寄存器;指令执行的基本过程
- 特权指令与非特权指令:如果某微型计算机是用于用户或多任务的多道程序设计环境中,则它的指令系统中必须区分成两部分:特权指令和非特权指令。所谓特权指令是指在指令系统中那些只能由操作系统使用的指令,这些特权指令是不允许一般的用户使用的,因为如果用户随便使用这些指令(如启动某设备指令、设置时钟指令、控制中断屏蔽的某些指令、清主存指令和建立存储保护指令等),就有可能使系统陷入混乱。所以一个使用多道程序设计技术的微型计算的指令系统必须要区分特权指令和非特权指令。如果当一个用户程序使用了特权指令一般将引起一次处理器状态的切换,这时处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态),然后将处理权移交给操作系统中一段特殊代码,这一过程形象地称为陷入。
- 处理器的状态:(1)管态(管理状态)和目态(用户程序状态,目标状态)(2)CPU状态的切换:目态到管态,通过中断或异常,中断时交换中断向量,新的中断向量中的PSW的CPU状态位标志为管态;管态到目态,可通过设置PSW指令(修改程序状态字),实现从操作系统向用户程序的转换。(3)限制用户执行特权指令,如果在目态下取到一条特权指令,CPU拒绝执行,并形成一个“非法操作”事件。中断机制识别到该事件后,转交给操作系统去处理,由操作系统通知用户:“程序中有非法指令”。(4)程序状态字:为了解决处理器当前工作状态的问题,所有的处理器都有一些特殊寄存器,用以表明处理器当前的工作状态,比如用一个专门的寄存器来指示处理器的状态,称为程序状态字(PSW);用程序计数器(PC)这个专门的寄存器来指示下一条要执行的指令。
存储体系
一个作业必须要把它的程序和数据存放在主存储器(又称为内部存储器、内存)中才能运行。在多道程序系统中,有若干个程序和相关的数据要放入主存储器。操作系统不但要管理、保护这些程序和数据,使它们不至于爱到破坏,而且操作系统本身也要存放在主存储器中并运行,因此主存储器及与存储器有关的机构是支持操作系统的硬件环境的一个重要方面。
存储器的层次结构:
- 容量、速度和成本的匹配
- 存储访问局部性原理:程序执行时,处理器为了取得指令和数据而访问存储器。 由于现代的程序设计技术很注重程序代码的复用。这样,程序中会有很多循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合。对数据存取也有类似的局部性现象。在经过一段时间以后,使用到的代码和数据的集合会改变,但在较短的时间内它们能比较稳定地保持在一个存储器的局部区域中,处理器也主要和存储器在这个局部打交道。基于这一原理,就用充分地理由设计出多级存储的体系结构,并使得存取级别较低的存储器的比率小于存取级别高的存储器的比率。
存储保护
要实现存储保护,必须要有硬件的支持。如果没有,想单纯靠操作系统来完成这一功能是不可能的。可见,存储保护机构是操作系统运行环境中一个非常重要的部分。
- 界地址寄存器(界限寄存器):其方法是在CPU中设置一对界限寄存器来存放该用户作业在主存中的上限和下限地址,分别称为下限寄存器和上限寄存器。也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储器长度)。
- 存储键:为了存储保护目的,每个存储块都有一个与其相关的由二进位组成的存储保护键,附加在每个存储块上。当一个用户作业被允许进入主存时,操作系统给它一个唯一的、不与其他作业相同的存储键号;并将分配给该作业的各存储块的存储键也设置成同样的键号。当操作系统选择该作业上CPU运行时,操作系统同时将该作业的存储键号存放到程序状态字PSW的存储键(“钥匙”)域中。这样,第当CPU访问主存时,都将对主存块的存储键与PSW中的“钥匙”进行比较。如果相匹配,则允许访问;否则,拒绝并报警。
中断与异常
- 中断与异常的概念:(1)中断与异常:中断是指CPU对系统中或系统外发生的异步事件的响应。异步事件是指无一定时序关系的随机发生的事件,如外部设备完成了数据传输任务,某一实时控制设备出现异常情况等。中断具有如下作用:能充分发挥处理器的使用效率;提高系统的实时能力。异常是由正在执行的指令引发的,而中断是由外部事件引发的。(2)中断与异常的分类:中断:时钟中断、输入输出(I/O)中断、控制台中断、硬件故障中断;异常:程序性中断;访管指令异常。
- 中断系统:(1)中断请求的接收(2)中断响应(3)中断处理(4)几种典型中断的处理:I/O中断;时钟中断;硬件故障中断;程序性中断;系统服务请求(访管中断)(3)中断优先级与中断屏蔽
系统调用
- 系统调用简介:所谓系统调用,就是用户在程序中调用操作系统所提供的一些子功能。系统调用与一般调用的最大区别在于:调用程序运行在用户态,而被调用程序则运行在系统态。通常一个系统的功能分为两大部分:一部分是系统自身所需要的;另一部分功能是作为服务提供给用户的,有关这部分功能可以从操作系统所提供的系统调用上体现出来。
- 系统调用的处理过程:在系统中为控制系统调用服务的机构请为陷入(TRAP)或异常处理机构。与此相对应,把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)。
I/O技术
- I/O技术
- 通道:通道是独立于中央处理器的,专门负责数据I/O传输工作处理单元。
- DMA技术
- 缓冲技术
未经允许不得转载:TacuLee » 操作系统原理之操作系统运行机制