参考资料:
《The Design of the UNIX Operating Systeem》 Maurice J. Bach, Prentice-Hall, Inc. 1986
这个笔记主要是为了自己复习和总结一下UNIX内核的知识,同时也想借此机会把国外优秀的课程介绍给国内的学生。
图1描述了UNIX系统的系统架构。
图2 系统内核结构图
图2 主要展示了计算机系统的三层结构图: 用户层,内核层和 硬件层。用户层主要通过系统调用和库函数与内核交流。系统调用在内核里主要与文件子系统和进程控制子系统交互。
文件子系统主要负责管理文件,分配文件空间,控制文件访问权限,提取文件给用户。内核可以直接从硬盘读写数据,但是从硬盘读写数据要受到硬盘读写效率的限制。所以,系统内核需要对硬盘读写的频率进行优化,方法就是用一个缓冲区来存放经常被读写的数据。如果数据已经在缓冲区了,就不需要在到硬盘里去寻找了。
进程控制子系统主要负责进程同步,进程间互相通信,内存管理和进程调度。每一项都有很多细节要考虑和设计,以后的章节会详细介绍。