超脑黑客-第118章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
林鸿立刻回信,说今天刚刚收到,迫不及待地将其安装到计算机中,对里面的功能的强大感到非常的惊叹,他以后也将一起对这个系统进行改造,希望能够保持联系,共享信息。
末了,林鸿还提起自己已经编写了一个基于IRC协议的聊天软件,他会尽快将这个聊天软件移植到MINIX系统下,这样,他们就可以及时进行在线联系。
邮件发送出去之后,不到两分钟的时间,还没等林鸿退出邮件系统,就提示有新邮件到达。
林鸿看到邮件标题之后微微一愣,没想到LINUS今天正好在线。
“嗨,朋友,很高兴终于收到你的回信!按照时间推算,这个包裹应该早几天就到达你这里,看来它在某个地方耽误了几天时间。
你说的那个聊天软件我很感兴趣,非常期待你将它移植到这个系统中来,你知道,这个系统中的软件,目前还是少了一点,过于单调了。而我则由于忙于修复底层的一些BUG,暂时没时间关注这些内容。
对了,在这段时间内,我又对这个系统增加了几个功能,我想你会用到其中的一个软件,请查看邮件附件。
你的朋友LINUS。”
林鸿立刻将这封电子邮件中的两个附件下载下来。
其中一个附件包很大,而另外一个则是文本文档。
林鸿将文本文档打开,阅读起来。
“GCC?”
他看到这篇文档,主要是对GCC的一个安装说明。
“竟然是编程语言编译器!”
看到这里的内容,林鸿顿时眼睛一亮。
他正在为这个问题而烦恼,因为之前他在熟悉MINIX操作系统的时候,根本没有看到可以用来编程的软件,这样一来,他就无法在里面进行编程开发。
因为操作系统平台不同,在另外一个平台上开发的软件,除非是特别定制模拟,否则根本无法在另外一个操作系统中正常运行。
GCC的全称是“GNU/C语言编译器”,这是一套以GPL许可证所发行的自由软件。在许多类Unix操作系统中都可以看到它的身影,功能非常强大。
LINUS将其进行了修改,使其可以顺利移植到MINIX操作系统中,这样一来,就可以成功的在这个操作系统下直接开发软件,而不用专门切换到另外的平台上。
GCC编译器的移植成功,和BASH程序一样,有着非常重要的意义。
林鸿对此也觉得非常激动,他立刻按照文档中的说明,将GCC编译器顺利地集成到了原来的MINIX系统中。
他并没有停止,而是再次重启切换到DOS平台下,将自己之前编写的CQCQ源代码拷贝到软盘中,再重启进入MINIX系统,从软盘中将源代码读取出来,他要立刻将CQCQ移植到这个平台上来!
在DOS下,为了方便菲丽丝的使用,他在原来的基础上增加了一层图形界面,让其显得更加方便操作。
但是在MINIX下,暂时还不支持鼠标等操作,图形化界面完全被抛弃了,只剩下了内部的核心代码。由于CQCQ的源代码本身就是用C语言编写的,所以林鸿的移植过程很顺利,针对界面进行重新设计之后,他使用GCC将这个平台下的程序成功给编译出来了。
林鸿输入账号和密码,进行登录,结果发现出线了一些由于粗心急促而造成的细微错误,进行修正,然后重新编译。
再次启动之后,终于一切正常。输入账号和密码,林鸿顺利地上线了。
第一百九十二章 Linux
林鸿在MINIX平台上重新编译的CQCQ软件版本没有图形化界面,相当于是专门给有一定技术基础的用户而准备的,要想查询一些信息,必须使用命令进行查询。
他使用命令查看了一下在线列表,发现此刻竟然有三人在线,一个是他自己,另外一个是菲丽丝,还有一个CQ号为10002的用户,昵称为露西。
看来,这个露西应该就是菲丽丝的姐妹了。
【菲丽丝,改进后的版本感觉怎么样?】
选择与菲丽丝通话,给她发了一条信息。
【石头大叔,你上线啦?新版本比之前的要好太多了,太方便了!我的好姐妹露西也在用,并且我都没怎么教她,很快就上手了。】
【是吗?那太好了。另外,我已经在里面加入了文件共享功能,你可以试用一下。】
【看到了,我刚刚还给露西传了一个文件呢!我都用了这个软件这么久了,有什么变化,立刻就会知道。还有一个聊天室功能对吧?要不我开一个房间,我们三个人一起在里面聊天吧?】
【我现在有点事情,下次吧。你可以多找几个朋友来用用,如果他们有什么建议,你帮我都搜集起来,不管好的坏的都可以,回头一起发给我。】
【这个完全没有问题,现在的这个版本很容易使用,我相信她们会很愿意加入的!】
【那我先下了,还有点事情。】
【嗯!明天我会派人去接你,可别将这事给忘记了!】
看到菲丽丝的反馈,林鸿心情也非常高兴。
自己做的东西,能够得到别人的认可,这种感觉的确不错。黑客们不断地探索着未知的世界,然后免费公布自己的成果,除了本身兴趣的内在动力,有很大因素就在于想得到别人的认可。
从某种角度来看,这也是一种虚荣心,只不过技术宅们比较含蓄,他们以这种独特的方式来满足自己内心的虚荣心,可能连他们自己都没有意识到这一点。
由于MINIX下还是没有自己的邮件客户端,林鸿并不能直接和LINUS进行联系,不得不将编写好的源代码和程序一起打包,拷贝到软盘当中。然后再切换到MS…DOS系统下,使用EMAIL将CQCQ的软件包一起发给了LINUS。
这样,他们联系起来就可以更方便了。
接着,林鸿便重新登录到CQCQ上挂着,一边研究着MINIX的源代码,一边时不时地刷新一下在线列表。
菲丽丝发消息过来询问怎么又上了,邀请他一起加入聊天,林鸿只好进入菲丽丝创建的聊天室中聊了一会儿。
可以看得出来,那个露西的性格比菲丽丝还要更加活泼,一直旁敲侧推地询问林鸿的一些信息,问题显得非常露骨,对方完全将林鸿当作是菲丽丝的男朋友在问话,搞得林鸿难以招架,只能敷衍说着一些模棱两可的话。
再次看了一下在线人数之后,他的眼神不由一亮,因为看到线上突然出现了一个第四个在线成员,名为LINUS。
终于上了!
林鸿连忙和其他两个女孩说了一声,从聊天室中退了出来,然后主动和LUS打了一声招呼。
【STONE:你好,LINUS,我是STONE。】
【LINUS:你好,呵呵!你真是给了我一个惊喜,没想到我刚刚才将GCC发给你,你转身就在里面开发了一个即时通信程序!】
【STONE:代码都是现成的,你知道,这并不是很难。】
【LINUS:在MINIX下直接和你对话的感觉真不错!STONE,你给我的惊喜可不仅仅是这个。】
【LINUS:我还记得,在不久之前,你还是一个对计算机完全没有概念的火腿,而现在,你所掌握的技术和知识,已经和我差不多了。】
【STONE:我要学习的东西还有很多。】
【LINUS:你还是那么谦虚!STONE,这个CQCQ软件,是不是宣布你愿意正式加入这个操作系统项目?】
【STONE:当然!我已经完全喜欢上了这个系统,我喜欢这种了解一切的感觉!我决定在接下来的一段时间内,将你发过来的所有源代码都仔细阅读一遍。】
【LINUS:真是个不错的注意!伙计,我现在有一个新的计划,你知道,MINIX版权本身并不是完全开源的,作者对其还有所保留,所以我想重新重构这个操作系统的内核。】
【LINUS:你听说过GNU项目吗?】
【STONE:GNU?是不是GCC诞生的操作环境?只在书籍上看到过,似乎是一个自由软件项目,但是具体情况并不是很了解。】
【LINUS:GNU是一个类UNIX的操作系统,由GNU计划推动,目标在于建立一个完全相容于UNIX的自由软件环境,也就是完全自由的操作系统。这个计划,最早是由理查德·斯托曼在1983年启动的,它是自由软件基金会最早致力的目标。】
【LINUS:虽然这些年来GNU虽然发展得不错,在上面出现了很多非常优秀的软件,但是它的重要组件,也就是操作系统的内核HURD却因为过于复杂一直紧张缓慢。】
【LINUS:我上周去参加了一个自由软件提倡者的演讲,觉得他们所提倡的GPL协议非常有意思,我的一个朋友也强烈建议我加入GNU自由软件的阵营……】
接着,LINUS详细给林鸿解说了一下开源协议GPL(GNU通用公共许可证)的详细内容,并且咨询林鸿的意见。
【STONE:你是说想做一个任何人都可以免费下载并安装使用的操作系统吗?】
【LINUS:是的。虽然MINIX也非常不错,但是这只能免费用于教育领域,你知道,当初我为了购买这套系统,可是花了不少钱和时间。】
LINUS至今还对那个经历耿耿于怀,他可是等了至少一个月的时间,花费了一百多美元才最终将MINIX安装在自己的计算机上。
而市场上其他系统,都是商业系统,要想使用,必须付出不小的费用进行购买。
为全世界所有的技术爱好者编写一个完全可以免费使用,但是功能又非常强大的操作系统,这真是一个野心勃勃的想法,不过这非常酷,不是吗?
林鸿对此自然能是表示强烈支持。
于是,他和LINUS在CQCQ软件上讨论了一下重新设计新的操作系统的一些细节。
在这方面,LINUS比林鸿要更有经验,因为他在这一块已经研究了很久了,再加上有MINIX的参考经验,所以基本上都是他在给林鸿讲述基本概念。
MINIX的内核采用的是微内核结构设计。
微内核结构由一个非常简单的硬件抽象层和一组比较关键的指令或系统调用组成。这些指令,仅仅包括了创建一个系统必需的几个部分,如线程管理,地址空间和进程间通信等。
简单的说,就是内核非常小。这种设计思想的目的,是为了将系统服务和系统的基本操作完全分离出来,将他们之间的关系淡化到最低程度。
例如文件系统在微内核中也是作为一个进程,崩溃了也没有关系,再像其他软件一样重启一下就好了。
MINIX的作者塔能鲍姆本身就是一个操作系统设计方面的教授,在设计这个系统的时候就吸收了当时最先进的设计思想,微内核就是一种比较先进的内核结构。
但是LINUS似乎并不喜欢这个设计,他认为把很多系统结构和操作全部作为组建存在于内核之外,会导致安全性方面的漏洞,很容易受到攻击。另外,微内核内部过于简单,其进程管理和中断管理的能力也非常有限,相对于MINIX这样简单的玩具来说,的确可以满足要求,但是如果想要实现更加复杂的系统功能,就有点有心无力的感觉。
微内核结构,更适合单片机系统,这样的系统甚至连文件管理系统都不需要,而且已经配置比较低,内核自然越小越好。
与微内核相对应的结构,就是宏内核。
MS…DOS使用的就是宏内核架构,这个架构分为内核空间和用户空间。
内核将硬件结构封装起来,形成比较高级的虚拟接口,供用户空间的程序进行调用。
【LINUS:我比较倾向于使用宏内核架构,这样操作系统中的程序代码都是高度紧密结合在一起的,虽然可能会出现某个模块有BUG而导致整个系统崩溃,但是如果经过精心设计和改善,这样的问题是可以完全避免的。】
【LINUS:更重要的是,这样的内核会让操作系统的代码在硬件的运行效率更高,安全性也更强。】
林鸿听他这么一说,也觉得有一定的道理。
其实在他看来,既然已经有案例证明两种架构都是可行的,使用哪种内核都无所谓,关键看怎么去实现它。
因为刚开始的时候,这个项目是从MINIX开始启动的,可能LINUS是想要彻底拜托MINIX笼罩的阴影,想要从根本架构上将重新设计的系统和MINIX区分开来。
【STONE:那么,给这个系统取一个名字吧。】
【LINUS:我早就想好了,FREAX,来自英文单词FREAK,有“异想天开”的意思,你觉得怎么样?】
【STONE:听上去不错。末尾改为X是像MINIX那样沿袭UNIX的习惯?】
【LINUS:是啊,X的发音听起来更酷,不是吗?】
【STONE:要不,干脆叫LINUX吧,就是你的名字的后一位字母改为X。我觉得这个名字比FREAX更好一点。】
【LINUS:这样不好吧,太以个人为中心了。】
【STONE:我觉得这不错啊,这只是一个代号。再说,这个项目本来就是你发起的,就用这个吧,“利纳克斯”,读起来也挺顺口的。】
【LINUS:OK,听你的,就叫LINUX!】