IO管理和磁盘调度


#### I/O管理和磁盘调度

I/O 也许是操作系统设计中欧最复杂的工作。因为村子这大量的设备,而且这些设备有许多应用,所以很难开发出一种通用一致的解决方案。

计算机系统和外界的接口是I/O体系结构。设计这个结构的目的在于提供一个控制与外界交互的系统方法,同时提供给操作系统其所需的有效管理I/O的信息。

I/O函数可以分成若干层,底层处理接近于物理功能,高层则用逻辑方法处理IO。这样,硬件参数的改变不必改变大多数的IO软件。

IO的关键方面在于缓冲的使用由IO设备来控制,而不是由应用进程控制。缓冲消除了计算机系统的内部速度和IO设备的速度之间的差异。同时,缓冲的使用将应用进程的地址空间和实际IO传输分离开,这允许操作系统在执行其内存管理函数时有更多的灵活性。

磁盘IO对于整个系统的性能有很大的影响。相应的,这个领域比其他领域需要更多的研究和设计方面的努力。两种广泛使用的改善磁盘I/O性能的方法是磁盘调度和磁盘cache。

任何时候,对于同一磁盘,有可能存在一个IO请求队列。磁盘调度的目标是在满足请求的同时,最小化机器寻道时间,由此改善性能。

磁盘cache是主存中的缓冲区,其中磁盘和主存其他部分之间作为磁盘块的一个caceh,因为局部性,磁盘cache的使用会减少主存和磁盘之中IO传输的块数。