热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>内核研究>

Hurd本身不是微内核

来源: 作者: 时间:2007-09-29 Tag: 点击:
Hurd+ ( Mach or L4 )== Linux
看下面的解释

首先hurd的名字
`Hurd' stands for `Hird of Unix-Replacing Daemons'
`Hird' stands for `Hurd of Interfaces Representing Depth'.
所以这是世界上第一个mutual recursive acronym-相互递归略缩语

从这个名字里我们就能看出来一些hurd的实质
hurd就是一群daemon,或者叫server
每一个server实现单一内核的某个subsystem,比如文件系统,网络协议
每个server是一个独立的进程,运行于微内核之上

微内核,顾名思义,就是很小的内核。本身作不了什么事情,它存在意义在于为了让它上面的server可以运行并且相互通信。所以要使用微内核,一定要有类似hurd这样能够真正提供操作系统内核功能的东西。所以hurd也不是唯一的选择,L4Linux就是用Linux来顶替hurd应该扮演的角色。不过 L4Linux显然不可能是未来的终极发展目标,只是实验目的。

微内核的例子有Mach和L4,其中L4被称为第二代微内核
Hurd项目一开始想自己写微内核,后来使用Mach,现在正在往L4上移植
不要以为移植很容易(这一点在linuxforum.net上曾有个很激烈的讨论),因为L4和Mach的实现有很大差异,不是改个API就可以的

有实验证实,即使是L4Linux运行效率仍然要低于Native Linux。
可以google这个文件--ukernel-performance.pdf
微内核架构的本质决定了微内核加servers不可能快过单一内核
因为单一内核里本来很简单的同一地址空间内部的function call在微内核+server的架构里要通过运行于不同地址空间的不同进程之间的IPC(inter process communication)来实现,效率当然会低。

不过微内核在未来或者特定环境下应该有它的价值,比如网络集群,多核CPU/多CPU等等
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册