我的照片
姓名:
位置: 北京, China

2010年10月25日 星期一

The MINIX 3 Microkernel Architecture


内核(kernel)最低层进行进程调度,并负责进程的就绪态、运行态和阻塞态间的转换。内核还负责处理所有进程间的消息。消息处理需要核实目标的合法性,定位内存中的发送和接受缓存,把消息从发送缓存复制到接受缓存。内核的令一部分支持对I/O端口和中断访问,现代处理器中这需要使用特权内核模式(kernel mode)指令,这些指令在用户进程中是没有的。
第一层主要功能是为上层驱动程序和服务器提供一组特权内核调用。这包括读写I/O端口、跨地址空间复制数据等。这些调用有系统任务(system task)实现。
内核以上的三层可视为一层,因为内核从根本上同样对待他们。每一层只限于使用用户模式(user mode)指令。
第二层主要由设备驱动程序组成,驱动程序可能发出其他内核调用。
第三层包含了服务器,即向用户进程提供有用服务的进程。两个必要的服务器:进程管理器(Process Manager)执行所有涉及启动和终止进程的系统调用 fork, exec, wait, alarm, kill, brk...;文件系统(File System)负责执行文件系统的调用 read, mount, chdir.. 此外还有Information Server、Reincarnation Server、Network Server等。服务器不直接进行I/O操作,而是通过驱动程序来请求I/O。
内核调用是由系统服务提供的以使驱动程序和服务器完成工作的底层函数,如读硬件I/O端口。而,POSIX系统调用是由POSIX规范定义的高层调用,以供第四层的用户程序使用。用户程序包含了许多POSIX调用,但不包含内核调用。

标签:

0 条评论:

发表评论

订阅 帖子评论 [Atom]

<< 主页