第一百九十章 移植
第一百九十章移植
林鸿回到己自房间,心情

动地将其中一张软盘揷⼊光驱之中,然后从命令行进⼊了软盘之中。
这里面有个一名为“sourcecode”文件夹,林鸿进⼊这个文件夹,再用dir命令显示了下一,列出了长长的个一文件夹列表。
林鸿大致的浏览了下一,发现这张软盘里面保存的全部是源代码,分门别类地放置在对应的文件夹中,主要分为內核、內存管理和文件系统三大部分,其他是都一些引导代码有还驱动程序源代码之类的。
将这块软盘退了出来,林鸿查看了下一另外一张软盘。
这张软件里面的內容才是minix的镜像系统,可以直接从这块软盘中启动进行安装。
在现的软盘体积经已比前以大多了,再加上linus直接将这个系统做成了庒缩镜像,以所一张软盘就装下了。
林鸿本想立刻就进行安装,可是转念一想,己自对这个系统并是不很

悉,如果将原来的系统给删掉了,他的很多事情就做不了了,例如上网和进行程序开发。
是于,他决定在硬盘上安装双系统,能够在启动的时候对系统进行选择,样这就可以按照需要进⼊不同的系统。
不过林鸿暂时对双系统安装并是不很了解,是于暂时将这事放下,先去各大坛论查下一相关的资料。
在几个坛论上逛了一圈,林鸿就基本上心中有数了,他原本就经已有扎实的基础,心中也有个一模糊的概念,是只
想不浪费时间再去试验摸索,学习下一大家的经验可以节省时间和精力。
双系统启动实其很简单。
在硬盘的第个一扇区上记录了两个重要重要的区域,分别是mbr(主要启动记录区)和分区表。
这两个区域都很重要,但是和启动有关的则是mbr。在这块区域中,安装了个一“开机启动管理程序”这个程序才是安装双系统的关键所在,要只将新系统的“开机启动管理程序”也写进硬盘,样这在开机的时候,就会看到有两个样这的管理程序,选择对应的菜单,就可以进⼊不同的系统。
这个原理,就像好是在超市门口拜访两个指示牌,个一是指向dos系统,另外个一则是指向minix系统。
先去下楼去吃完晚饭之后,林鸿再次回到房间,正式始开安装minix。
了为顺利将minix的“开机启动管理程序”写⼊mbr,林鸿还废了一番心思,刚始开的几次还没能成功,幸好他之前经已将原来的mbr给备份了,否则原来的系统可能都无法启动了。
经过几番尝试,林鸿终于成功将minix给安装到了硬盘上。
他迫不及待地重启计算机,然后选择minix菜单,回车。
显示器上立刻出现了许多检测信息,不断地向上滚动着,这台计算机的所有硬件都被检测了一遍,全部都ok之后,最终才进⼊了个一字符界面。
由于林鸿在此之前就经已看过了那本《

作系统:设计与实现》,以所对minix的系统命令常非

悉,他很快就上手了,将所有记住的命令都试验了一遍。
接着,林鸿在这个

作系统里面找到了一份详细的帮助手册,是这linus撰写的,里面详细地列出了他对这个系统所进行了哪些修改。
其中,令林鸿感到惊讶是的,linus竟然经已顺利完成了终端仿真器的编写。
也就是说,用这个完全可以和一些服务器进行连接了。
林鸿立刻动手试了下一,首先填上网络账号和密码登录网络,然后再输⼊服务器的sam协会的bbs服务器ip地址,连接之后,再输⼊服务器的登录账号和密码。
仿真终端上出现了

悉的命令行界面。
接下来,林鸿按照linus所列举的那些功能个一个试用去过,他发现原本是只用来作为教学用的精简版系统,功能竟然经已強大如斯,至甚比苹果计算机前期的几个版本的系统都要強大。
最让林鸿动心的功能,是linus竟然在里面集成了个一名为bash的shell程序。
这个程序实际上在系统刚启动的时候就运行了,只不过林鸿并有没察觉,来后看了文档之后才发现,原来他看到的命令行界面并是不minix自带的那个,而是经已被linus成功给替换了。
shell即外壳程序,是这区别于

作系统內核的个一重要部分,通常的表现形式就是个一字符命令行界面,例如dos界面也是个一壳。
通过接受用户输⼊的命令,shell可以调用执行相应的应用程序。
另外,shell也是一种程序设计语言,它可以

互式解释和执行用户输⼊的命令,或者自动地解释和执行预先设定好的一连串的命令。作为程序设计语言,它定义了各种变量和参数,并提供了许多在⾼阶语言中才具的有控制结构,包括循环和分支。
有了这个shell,可以说,这个经过linus改装过后的系统,功能经已完全可以媲美dos系统了,更重要是的,这个

作系统的源代码是公开的,林鸿可以查看所的有实现细节,而dos

作系统则是个一黑匣子,完全不道知底层的运行机制,只能有一些有限的被封装好的api接口和中断。
林鸿立刻喜

上了这个系统,linus果然厉害,竟然将个一阉割版的

作系统改造到如此程度!
由于这个系统里面还有没类似tel样这的网络程序,也有没email邮件客户端可以用来收发电子邮件,林鸿暂时从minix中退了出来,重新选择了ms-dos系统进⼊。
他首先收取了电子邮件,发现linus在几天前就给己自发了一封邮件,询问是否经已收到了他邮寄的包裹?
林鸿立刻回信,说今天刚刚收到,迫不及待地将其安装到计算机中,对里面的功能的強大感到常非的惊叹,他后以也将起一对这个系统进行改造,希望能够保持联系,共享信息。
末了,林鸿还提起己自
经已编写了个一基于irc协议的聊天软件,他会尽快将这个聊天软件移植到minix系统下,样这,们他就可以及时进行在线联系。
邮件发送出去之后,不到两分钟的时间,还没等林鸿退出邮件系统,就提示有新邮件到达。
林鸿看到邮件标题之后微微一愣,没想到linus今天正好在线。
“嗨,朋友,很⾼兴终于收到你的回信!按照时间推算,这个包裹应该早几天就到达你这里,看来它在某个地方耽误了几天时间。
你说的那个聊天软件我很感趣兴,常非期待你将它移植到这个系统中来,你道知,这个系统的中软件,目前是还少了一点,过于单调了。而我则由于忙于修复底层的一些bug,暂时没时间关注这些內容。
对了,在这段时间內,我又对这个系统增加了几个功能,我想你会用到其的中
个一软件,请查看邮件附件。
你的朋友linus。”
林鸿立刻将这封电子邮件的中两个附件下载下来。
其中个一附件包很大,而另外个一则是文本文档。
林鸿将文本文档打开,阅读来起。
“gcc?”
他看到这篇文档,主要是对gcc的个一安装说明。
“竟然是编程语言编译器!”
看到这里的內容,林鸿顿时眼睛一亮。
他在正为这个问题而烦恼,为因之前他在

悉minix

作系统的时候,

本有没看到可以用来编程的软件,样这一来,他就无法在里面进行编程开发。
为因

作系统平台不同,在另外个一平台上开发的软件,除非是特别定制模拟,否则

本无法在另外个一

作系统中正常运行。
gcc的全称是“gnuc语言编译器”是这一套以gpl许可证所发行的自由软件。在许多类unix

作系统中都可以看到它的⾝影,功能常非強大。
linus将其进行了修改,使其可以顺利移植到minix

作系统中,样这一来,就可以成功的在这个

作系统下直接开发软件,而用不专门切换到另外的平台上。
gcc编译器的移植成功,和bash程序一样,有着常非重要的意义。
林鸿对此也得觉
常非

动,他立刻按照文档中说的明,将gcc编译器顺利地集成到了原来的minix系统中。
他并有没停止,而是再次重启切换到dos平台下,将己自之前编写的cqcq源代码拷贝到软盘中,再重启进⼊minix系统,从软盘中将源代码读取出来,他要立刻将cqcq移植到这个平台上来!
在dos下,了为方便菲丽丝的使用,他在原来的基础上增加了一层图形界面,让其显得更加方便

作。
但是在minix下,暂时还不支持鼠标等

作,图形化界面完全被抛弃了,只剩下了內部的核心代码。由于cqcq的源代码本⾝就是用c语言编写的,以所林鸿的移植过程很顺利,针对界面进行重新设计之后,他使用gcc将这个平台下的程序成功给编译出来了。
林鸿输⼊账号和密码,进行登录,结果发现出线了一些由于耝心急促而造成的细微错误,进行修正,然后重新编译。
再次启动之后,终于一切正常。输⼊账号和密码,林鸿顺利地上线了。
…
第一百九十章移植
第一百九十章移植,到网址
m.YYmXS.Cc