是自由软件基金会最早致力的目标。
lus:虽然这些年来gnu虽然发展得不错,在上面出现了很多非常优秀的软件,但是它的重要组件,也就是cào作系统的内核hurd却因为过于复杂一直紧张缓慢。
lus:我上周去参加了一个自由软件提倡者的演讲,觉得他们所提倡的gpl协议非常有意思,我的一个朋友也强烈建议我加入gnu自由软件的阵营
接着,lus详细给林鸿解说了一下开源协议gplgnu通用公共许可证的详细内容,并且咨询林鸿的意见。
stone:你是说想做一个任何人都可以免费下载并安装使用的cào作系统吗
lus:是的。虽然mix也非常不错,但是这只能免费用于教育领域,你知道,当初我为了购买这套系统,可是huā了不少钱和时间。
lus至今还对那个经历耿耿于怀,他可是等了至少一个月的时间,huā费了一百多美元才最终将mix安装在自己的计算机上。
而市场上其他系统,都是商业系统,要想使用,必须付出不小的费用进行购买。
为全世界所有的技术爱好者编写一个完全可以免费使用,但是功能又非常强大的cào作系统,这真是一个野心勃勃的想法,不过这非常酷,不是吗
林鸿对此自然能是表示强烈支持。
于是,他和lus在cqcq软件上讨论了一下重新设计新的cào作系统的一些细节。
在这方面,lus比林鸿要更有经验,因为他在这一块已经研究了很久了,再加上有mix的参考经验,所以基本上都是他在给林鸿讲述基本概念。
mix的内核采用的是微内核结构设计。
微内核结构由一个非常简单的硬件chou象层和一组比较关键的指令或系统调用组成。这些指令,仅仅包括了创建一个系统必需的几个部分,如线程管理,地址空间和进程间通信等。
简单的说,就是内核非常小。这种设计思想的目的,是为了将系统服务和系统的基本cào作完全分离出来,将他们之间的关系淡化到最低程度。
例如文件系统在微内核中也是作为一个进程,崩溃了也没有关系,再像其他软件一样重启一下就好了。
mix的作者塔能鲍姆本身就是一个cào作系统设计方面的教授,在设计这个系统的时候就吸收了当时最先进的设计思想,微内核就是一种比较先进的内核结构。
但是lus似乎并不喜欢这个设计,他认为把很多系统结构和cào作全部作为组建存在于内核之外,会导致安全xg方面的漏dong,很容易受到攻击。另外,微内核内部过于简单,其进程管理和中断管理的能力也非常有限,相对于mix这样简单的玩具来说,的确可以满足要求,但是如果想要实现更加复杂的系统功能,就有点有心无力的感觉。
微内核结构,更适合单片机系统,这样的系统甚至连文件管理系统都不需要,而且已经配置比较低,内核自然越小越好。
与微内核相对应的结构,就是宏内核。
msdos使用的就是宏内核架构,这个架构分为内核空间和用户空间。
内核将硬件结构封装起来,形成比较高级的虚拟接口,供用户空间的程序进行调用。
lus:我比较倾向于使用宏内核架构,这样cào作系统中的程序代码都是高度紧密结合在一起的,虽然可能会出现某个模块有bug而导致整个系统崩溃,但是如果经过jg心设计和改善,这样的问题是可以完全避免的。
lus:更重要的是,这样的内核会让cào作系统的代码在硬件的运行效率更高,安全xg也更强。
林鸿听他这么一说,也觉得有一定的道理。
其实在他看来,既然已经有案例证明两种架构都是可行的,使用哪种内核都无所谓,关键看怎么去实现它。
因为刚开始的时候,这个项目是从mix开始启动的,可能lus是想要彻底拜托mix笼罩的y影,想要从根本架构上将重新设计的系统和mix区分开来。
stone:那么,给这个系统取一个名字吧。
lus:我早就想好了,freax,来自英文单词freak,有异想天开的意思,你觉得怎么样
stone:听上去不错。末尾改为x是像mix那样沿袭unix的习惯
lus:是啊,x的发音听起来更酷,不是吗
stone:要不,干脆叫lux吧,就是你的名字的后一位字母改为x。我觉得这个名字比freax更好一点。
lus:这样不好吧,太以个人为中心了。
stone:我觉得这不错啊,这只是一个代号。再说,这个项目本来就是你发起的,就用这个吧,利纳克斯,读起来也tg顺口的。
lus:ok,听你的,就叫lux