36. I/O设备
在开始探究本书的这部分的主要内容之前(持久化),我们首先介绍下有关输入输出(I/O)设备的概念,并且展示操作系统是如何与这样的实体交互的。当然,I/O对于操作系统相当重要;想象一个没有任何输入的程序(它每次运行都产生相同的结果);现在,想象一个没由任何输出的程序(它运行的目的是什么?)。显而易见,为了是计算机系统有意义,既需要输入也需要输出。因此,我们普遍的问题是:
关键:如何将I/O集成到系统
如何将I/O集成到系统?一般的机制是什么?我们如何使它有效?
36.1 系统架构
为了开始我们的讨论,让我们看看典型系统的结构(图36.1)。这张图展示了一个CPU通过某种存储器总线或者接口连接到主存上。一些设备通过一般的I/O总线连接到系统,这些总线在现代系统中是PCI(外设互联标准)或它的众多衍生之一;显卡和一些其他的高性能I/O设备可能会连接在这上面。最后,再下面是一个或多个我们称之为外围总线的东西,例如,SCSI,SATA,或者USB。这些把最慢的设备连入系统,包括磁盘,鼠标,和其他类似的组件。
你可能会问:为什么我们需要一个像这样的分层结构?简单来说:出于物理因素和成本的考虑。总线越快,它就必须越短,因此,高性能存储器总线没有足够的空间接入设备。另外,设计一个高性能的总线相当昂贵。因此,系统设计者采用这种分层的方法,需要高性能的组件(例如显卡)更接近CPU。性能越低的组件离CPU越远。将磁盘和其他慢速设备放在一个外围总线的好处是多方面的,尤其是,采用这种方法,你可以在外围总线上放置大量的设备。
网友评论