操作系统精髓与设计读书笔记1


1 在设计IO机制时,两个重要的目标:效率和通用性。

效率很重要,因为IO操作通常是计算机系统瓶颈。

通用性:出于简单和避免错误的考虑,人们希望能用一种统一的处理方式处理所有设备。两个方面表现出统一:1)处理器看待IO设备的方式

2)操作系统管理IO设备和操作IO的方式

目前使用一种层次化、模块化的方法设计IO功能,隐藏了大部分IO设备底层细节,使得用户进程和操作系统高层可以通过读、写、打开、关闭、加锁和解锁等通用函数来操作IO设备。

2 文件系统架构。

底层是设备驱动,程序直接与外围设备通信。设备驱动程序负责启动设备上的IO操作,处理IO请求的完成。

上面一层是基本文件系统。这一层处理磁盘间交换的数据块,因此他关注的是这些块在辅存和内存缓冲区中的位置,而非数据的内容或涉及的文件结构。

基本IO管理程序。负责所有文件IO的初始化和终止。需要一定的控制结构来维护设备的输入输出、调度和文件状态。

逻辑IO。使用户和应用程序能够访问记录,基本文件系统处理的是数据块,而逻辑IO处理的是文件记录。逻辑IO提供一种通用的记录IO能力,并维护关于文件的基本数据。