介绍Minix3中的系统组织结构及进程实现。
概述
- UNIX 的内核是一个部分模块的单块程序
- MINIX 是微内核结构,是一组进程的集合,内核功能较少,进程之间以及用户进程之间使用进程级通信机制(IPC)进行通信
内部结构
- 注意:内核层的 system task 是系统任务,第二第三层统称为系统进程 system process
- 除了第一层为内核层,其他层都是user mode。
- 进程都潜在有一定特权,这是第二层、第三层、第四层内的进程的不同之处。
- kernel call 与system call的区别
- 内核调用(kernel call)是由系统服务提供的以使驱动程序和服务器完成工作的低层函数。例如读硬件的I/O端口。
- system call 是用POSIX规范定义的高层调用,如read、fork和unlink,这些调用供第四层的用户程序使用。
- 用户程序包含很多POSIX调用,但不包含内核调用。
内核层(Kernel)
多数用 C 写,汇编负责内核直接与硬件交互的最底层部分。
主要功能是为上层驱动程序和服务提供一组特权内核调用。