从根本上讲,一台计算机包括一个或多个处理器以及一些内存,它们通过一些芯片和电线连接起来。此外,还有磁盘驱动器或网卡等辅助设备。 图1-1显示了一台个人计算机的内部结构。计算机由数个元件组成,处理器和内存插在称为主板的电路板上,从主板上伸出的电线与磁盘驱动器、DVD光驱等辅助设备相连。视频、网络支持等功能则集成到主板上或通过插卡提供。 如以图表示信息,可能更容易让人了解系统各元件的关联,参见图1-2。在此示意图中,我们将系统的计算部分与辅助设备分开表示。 系统的计算性能主要由处理器和内存的性能决定,而计算性能又将决定计算机执行指令的速度快慢。 辅助设备的性能不是我们所关注的,因为辅助设备的性能比内存和处理器低得多。处理器一秒内传送到内存的数据量以千兆字节为单位,每秒传送到磁盘的数据量则多以兆字节为单位计算。类似地,从内存提取数据所用的时间以纳秒计算,而从磁盘提取数据的时间以毫秒为单位。 由于在性能上存在这样的数量级差异,所以,使用这些设备的最佳方式是:对于代码中性能至关重要的部分,要避免依赖这些设备。如使用本书中讨论的技术,开发人员编写的程序就能做到将访问辅助设备放在非关键路径上,或是对此作出合理调度,使系统计算部分在系统访问辅助设备的同时仍能处于活动状态,积极完成工作。