|
图 2-2 给出了内核的框图,示出了各种模块及他们之间的相互关系,特别的,它示出
了内核的两个主要成分:左边的文件子系统和右边的进程控制子系统。虽然,在实际上,
由于某些模块同其它模块的内部操作进行交互而使内核偏离该模型,但该图仍可以作为观
察内核的一个有用的逻辑观点。
在图 2-2 中我们看到了三个层次:用户、内核及硬件。系统调用与库接口体现了图 2-1
中描绘的用户程序与内核间的边界。系统调用看起来象 C 程序中普通的函数调用,而库把
这些函数调用映射成进入操作系统所需要的源语。然而,汇编语言程序可以不经过系统调
用库而直接引用系统调用。程序常常使用像标准 I/O 库这样一些其它的库程序以提供对系
统调用的更高级的使用。由于在编译期间把这些库连接到程序上,因此,以这里的观点来
说,这些库是用户程序的一部分。
|
|