操作系统细节

计算机系统概述

计算机存储体系

CPU/寄存器/缓存/内存/外存(硬盘等)的关系:

PC/PSWR

程序状态字(Program Status Word, PSW):

表示程序运行状态的一个二进制位序列。一般包含一些反映指令执行结果的标志信息(如:进位标志、溢出标志、符号标志等)和设定的一些状态信息(如:中断允许/禁止状态、管理程序/用户程序状态等)。

程序状态字寄存器(Program Status Word Register, PSWR):

用来存放程序状态字的寄存器。

程序计数器(Program Counter,PC):

是一个特殊的地址寄存器,专门用来存放下一条要执行指令的地址,称为程序计数器PC或指令指针IP。本身它是个寄存器,所以也称为指令指针寄存器。

子程序调用只需保存程序断点(PC的内容),即该指令的下一条指令的地址

中断调用子程序不进要保存断点,还需要保存程序状态字寄存器(PSW)的内容。在中断处理中,最重要的两个寄存器是PC(程序计数器)和PSWR(程序状态字寄存器)。

访管指令和访管中断

访管指令是一条可以在用户态(又称目态)下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管中断,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。

为什么要在操作系统中引入访管指令呢?这是因为用户程序只能在用户态(目态)下运行,如果用户程序想要完成在用户态下无法完成的工作,该怎么办?解决这个问题要靠访管指令。访管指令本身不是特权指令,其基本功能是让程序拥有“自愿进管”的手段,从而引起访管中断。

当处于用户态的用户程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序,访管中断处理程序将按系统调用的操作数和参数转到相应的例行子程序。完成服务功能后,退出中断,返回到用户程序断点继续执行。

注:访管指令是非特权指令,是程序员主动获得使用特权指令的手段。

用户态 = 目态
和心态 = 管态

DMA

DMA(Direct Memory Access,直接内存存取) 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。像是这样的操作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。

DMA运行在CPU外部,DMA传送结束属于中断(外中断)。

存储保护

存储保护:防止程序间相互越界访问

地址越界发生在CPU内部,所以”存储保护错“属于异常(内中断)

谢谢小天使请我吃糖果
0%