计算机系统的多维度剖析:从基础组件到应用环境
1. I/O 系统与缓存一致性
操作系统的一个重要目的是向用户隐藏特定硬件设备的特性。以 UNIX 为例,I/O 子系统将 I/O 设备的特性对操作系统的大部分部分进行隐藏。I/O 子系统由多个组件构成:
- 内存管理组件,包含缓冲、缓存和假脱机操作。
- 通用设备驱动程序接口。
- 特定硬件设备的驱动程序。
只有设备驱动程序了解其所分配设备的特性。
同时,在缓存方面,要确保一个缓存中对变量 A 值的更新能立即反映在所有包含 A 的其他缓存中,这种情况被称为缓存一致性,通常这是一个硬件层面(在操作系统级别以下处理)的问题。
2. 保护与安全机制
当计算机系统有多个用户且允许并发执行多个进程时,对数据的访问必须受到监管。为此,系统有相应机制确保文件、内存段、CPU 等资源只能由获得操作系统适当授权的进程进行操作。例如,内存寻址硬件保证进程只能在自己的地址空间内执行;定时器确保没有进程能在不最终释放控制权的情况下一直控制 CPU;用户无法访问设备控制寄存器,从而保护了各种外围设备的完整性。
保护是控制进程或用户对计算机系统所定义资源访问的任何机制,该机制要能规定控制措施并强制执行。保护可通过检测组件子系统之间接口的潜在错误来提高可靠性,早期发现接口错误通常能防止正常子系统被故障子系统污染。而且,未受保护的资源无法抵御未经授权或不称职用户的使用(或滥用)。
不过,即使系统有足够的保护措施,仍可能容易出现故障并允许不当访问。比如用户的身份验证信息被盗,即便文件和内存保护正常工作,其数据仍可能被复制或删除。安全的任务就是保护系统免受