- 第二章 计算机系统结构
- 2.1 计算机系统操作
- (1) 中断机制
- (2) I/O中断
- (3) DMA操作
- 2.2 存储结构
- (1) Main Memory
- (2) Secondary Storage
- (3) Cache
- 2.3 硬件保护
- (1) Dual-Mode Operation 两状态操作
- (2) I/O Protection
- (3) Memory Protection 内存保护
- (4) CPU Protection
- I/O 设备与CPU可并行运行
- 每一设备控制器负责一个设备类型
- 每一设备控制器有一局部缓存
- CPU 通过局部缓存与主存交换数据
- I/O从设备到设备控制器的局部缓存
- 设备控制器通过引起中断 通知CPU操作已完成
中断能使系统更高效以及能提高系统的并发度,包括硬件中断与软件中断
⭐️ 硬件中断:设备控制器利用中断通知CPU它已经完成了某个操作
⭐️ 软件中断:也称为陷阱,包括异常(Exception)与系统调用(System call)
现代操作系统是中断驱动的,中断会将控制权转移到中断服务程序,有通用的程序检测是否有中断,对于不同的中断会有相应的代码来进行处理。
中断向量表与中断向量
(2) I/O中断中断向量是中断服务程序的入口地址。
将所有中断向量集中放在一起,形成中断向量表。8086系统有256个类型的中断源。每个类型对应一个中断向量,一个中断向量由四个字节组成:2个高地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址。中断向量表放在内存的低段地址0单元开始的单元:00000H~03FFFH。
两种I/O操作:同步与异步
Synchronous同步:当I/O操作开始时,系统会等待I/O操作结束才执行其他的操作
Asynchronous异步:当I/O操作开始时,系统不会等待,而是直接去执行其他的操作
I/O操作结束后,会触发一个中断通知系统
基于中断的方法:
(3) DMA操作设备状态表:包含每个I/O设备的条目,其中包括设备类型、地址和状态
每个I/O设备的等待队列(等待请求的列表)
对于高速设备,用直接内存访问(Direct Memory Access),设备控制器在本地缓冲和内存之间直接传输一整块数据而无需CPU干预,降低中断的频率。
2.2 存储结构Speed 速度
cost 成本
volatility 易失性:断电以后数据会消失,如内存易失,硬盘不易失
(1) Main Memory包括随机存取存储器(RAM),是CPU可以直接访问的唯一大型存储介质(CPU可以直接访问寄存器,cache与主存)
存储属于与指令
缺点:存储空间不够大以及具有易失性
(2) Secondary Storage二级存储,指的主要是磁盘,是主存的扩展
磁盘是覆盖了磁记录材料的硬金属或玻璃盘片
(3) Cache缓存,暂时保存最近访问的数据,访问速度很快。
命中率:CPU先访问cache,没有相应的数据才去访主存
没有cache的访问时间是100ms,有cache的访问时间为20ms,命中率为80%,平均需要:(100+20)x0.2+20x0.8=40ms,注意都要加上cache的访问时间
缺点:cache的使用会造成数据的不一致,在多道程序、多处理机、分布式下
2.3 硬件保护多用户环境,需要保护磁盘上的文件、数据
(1) Dual-Mode Operation 两状态操作1️⃣ User mode – execution done on behalf of a user.用户态-代表用户执行
2️⃣ Monitor mode (also supervisor mode or system mode) – execution done on behalf of operating system. 管态(特权模式或系统模式)-代表操作系统执行
模式位(mode bit)添加到计算机硬件,表示当前模式
系统引导时,硬件处于管态,在用户模式下执行用户进程;一开机的时候处于管态,要执行用户程序的时候转换为用户态;当出现中断或者陷阱时,硬件会切换到管态
系统怎么知道要转换为管态?——引入特权指令
特权指令:只能在管态下运行的指令,通常使用系统调用。
在用户态下,需要转换模态才能使用
在管态下直接使用即可
⭐️ 特权指令: 设置定时器的值、清除内存、关闭中断
非特权指令:读时钟、从用户态切换为管态
(2) I/O Protection所有的I/O操作都是特权指令,用户不能直接进行I/O操作,必须通过系统调用
要保护I/O操作,需要保护中断向量表与中断向量,由于它们时存储在内存中的
所以必须进行内存保护
(3) Memory Protection 内存保护确定进程能访问的合法空间,使用基址寄存器与界限寄存器,即内存的开始地址与长度
基本寄存器和限制寄存器只能由操作系统通过使用特殊的特权指令加载,即只能在管态下进行
在监视器模式下执行时,操作系统对监视器和用户的内存都有无限制的访问
(4) CPU Protection防止用户程序陷入死循环或者不调用系统服务且不将控制权返回到OS——设置定时器(Timer)
定时器:设置定时器产生中断,当定时器到时间了会产生中断,控制权会返回给OS,可以用来实现分时系统



