第一百九十一章 linux(2/2)
的技术爱好者编写一个完全可以免费使用,但是功能又非常强大的操作系统,这真是一个野心勃勃的想法,不过这非常酷,不是吗?林鸿对此自然能是表示强烈支持。
于是,他和linuq软件上讨论了一下重新设计新的操作系统的一些细节。
在这方面,linus比林鸿要更有经验,因为他在这一块已经研究了很久了,再加上有minix的参考经验,所以基本上都是他在给林鸿讲述基本概念。
minix的内核采用的是微内核结构设计。
微内核结构由一个非常简单的硬件抽象层和一组比较关键的指令或系统调用组成。这些指令,仅仅包括了创建一个系统必需的几个部分,如线程管理,地址空间和进程间通信等。
简单的说,就是内核非常小。这种设计思想的目的,是为了将系统服务和系统的基本操作完全分离出来,将他们之间的关系淡化到最低程度。
例如文件系统在微内核中也是作为一个进程,崩溃了也没有关系,再像其他软件一样重启一下就好了。
minix的作者塔能鲍姆本身就是一个操作系统设计方面的教授,在设计这个系统的时候就吸收了当时最先进的设计思想,微内核就是一种比较先进的内核结构。
但是linus似乎并不喜欢这个设计,他认为把很多系统结构和操作全部作为组建存在于内核之外,会导致安全性方面的漏洞,很容易受到攻击。另外,微内核内部过于简单,其进程管理和中断管理的能力也非常有限,相对于minix这样简单的玩具来说,的确可以满足要求,但是如果想要实现更加复杂的系统功能,就有点有心无力的感觉。
微内核结构,更适合单片机系统,这样的系统甚至连文件管理系统都不需要,而且已经配置比较低,内核自然越小越好。
与微内核相对应的结构,就是宏内核。
ms-dos使用的就是宏内核架构,这个架构分为内核空间和用户空间。
内核将硬件结构封装起来,形成比较高级的虚拟接口,供用户空间的程序进行调用。
linus:我比较倾向于使用宏内核架构,这样操作系统中的程序代码都是高度紧密结合在一起的,虽然可能会出现某个模块有bug而导致整个系统崩溃,但是如果经过精心设计和改善,这样的问题是可以完全避免的。
linus:更重要的是,这样的内核会让操作系统的代码在硬件的运行效率更高,安全性也更强。
林鸿听他这么一说,也觉得有一定的道理。
其实在他看来,既然已经有案例证明两种架构都是可行的,使用哪种内核都无所谓,关键看怎么去实现它。
因为刚开始的时候,这个项目是从minix开始启动的,可能linuinix笼罩的阴影,想要从根本架构上将重新设计的系统和minix区分开来。
one:那么,给这个系统取一个名字吧。
linus:我早就想好了,freax,来自英文单词freak,有“异想天开”的意思,你觉得怎么样?
inix那样沿袭unix的习惯?
linus:是啊,x的发音听起来更酷,不是吗?
one:要不,干脆叫linux吧,就是你的名字的后一位字母改为x。我觉得这个名字比freax更好一点。
linus:这样不好吧,太以个人为中心了。
one:我觉得这不错啊,这只是一个代号。再说,这个项目本来就是你发起的,就用这个吧,“利纳克斯”,读起来也挺顺口的。
linus:ok,听你的,就叫linux!
……
本章阅读结束,请阅读下一章