# 第二部分 在系统上运行程序

继续我们对计算机系统的探索,进一步来看看构建和运行应用程序的系统软件。链接器把程序的各个部分联合成一个文件,处理器可以将这个文件加载到内存,并且执行它。现代操作系统与硬件合作,为每个程序提供一种幻象,好像这个程序是在独占地使用处理器和主存,而实际上,在任何时刻,系统上都有多个程序在运行。

在本书的第一部分,你很好地理解了程序和硬件之间的交互关系。本书的第二部分将拓宽你对系统的了解,使你牢固地掌握程序和操作系统之间的交互关系。你将学习到如何使用操作系统提供的服务来构建系统级程序,例如 Unix shell 和动态内存分配包。