5.2 设备独立性软件
设备的独立性是指用户编程时使用的设备与实际使用的设备无关。
5.2.1 与设备无关的软件
5.2.2 高速缓存与缓冲区
在内存中设置磁盘缓冲区的主要目的是减少磁盘 I/O 次数。
磁盘把一块数据输入到缓冲区时间为 T
将缓冲区数据传送到用户区的时间为 M,
CPU 处理时间 C
(1)单缓冲
处理时间 $max(C,T)+M$
(2)双缓冲
处理时间 $max(C+M,T)$
不存在等待磁盘块从缓冲区读入用户区的问题。

5.2.3 设备的分配与回收
(1)独占式使用设备
(2)分时式使用设备
(3)以 SPOOLing 方式使用外部设备
5.2.4 SPOOLing 技术(假脱机技术)
利用专门的外围控制机,将低速 I/O 设备上的数据传送到高速磁盘上。
以空间换时间。
开辟磁盘上的空间作为输入井和输出井。
向磁盘输出数据比向 IO 设备输出数据块。
