繁体
minix的内
采用的是微内
结构设计。
微内
结构由一个非常简单的
件ch
象层和一组比较关键的指令或系统调用组成。这些指令,仅仅包括了创建一个系统必需的几个
分,如线程
理,地址空间和
程间通信等。
简单的说,就是内
非常小。这
设计思想的目的,是为了将系统服务和系统的基本
作完全分离
来,将他们之间的关系淡化到最低程度。
例如文件系统在微内
中也是作为一个
程,崩溃了也没有关系,再像其他
件一样重启一下就好了。
minix的作者塔能鲍姆本
就是一个
作系统设计方面的教授,在设计这个系统的时候就
收了当时最先
的设计思想,微内
就是一
比较先
的内
结构。
但是linus似乎并不喜
这个设计,他认为把很多系统结构和
作全
作为组建存在于内
之外,会导致安全
方面的漏
,很容易受到攻击。另外,微内
内
过于简单,其
程
理和中断
理的能力也非常有限,相对于minix这样简单的玩
来说,的确可以满足要求,但是如果想要实现更加复杂的系统功能,就有
有心无力的
觉。
微内
结构,更适合单片机系统,这样的系统甚至连文件
理系统都不需要,而且已经
置比较低,内
自然越小越好。
与微内
相对应的结构,就是宏内
。
ms-dos使用的就是宏内
架构,这个架构分为内
空间和用
空间。
内
将
件结构封装起来,形成比较
级的虚拟接
,供用
空间的程序
行调用。
linus:我比较倾向于使用宏内
架构,这样
作系统中的程序代码都是
度
密结合在一起的,虽然可能会
现某个模块有bug而导致整个系统崩溃,但是如果经过
心设计和改善,这样的问题是可以完全避免的。
linus:更重要的是,这样的内
会让
作系统的代码在
件的运行效率更
,安全
也更
。
林鸿听他这么一说,也觉得有一定的
理。
其实在他看来,既然已经有案例证明两
架构都是可行的,使用哪
内
都无所谓,关键看怎么去实现它。
因为刚开始的时候,这个项目是从minix开始启动的,可能linus是想要彻底拜托minix笼罩的
影,想要从
本架构上将重新设计的系统和minix区分开来。
stone:那么,给这个系统取一个名字吧。
linus:我早就想好了,freax,来自英文单词freak,有“异想天开”的意思,你觉得怎么样?
stone:听上去不错。末尾改为x是像minix那样沿袭unix的习惯?