第190章 移植

林鸿回到自己房间,心情激动地将其中一张软盘插入光驱之中,然后从命令行进入了软盘之中。

这里面有一个名为“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果然厉害,竟然将一个阉割版的操作系统改造到如此程度!

由于这个系统里面还没有类似telcom这样的网络程序,也没有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将这个平台下的程序成功给编译出来了。

林鸿输入账号和密码,进行登录,结果发现出线了一些由于粗心急促而造成的细微错误,进行修正,然后重新编译。

再次启动之后,终于一切正常。输入账号和密码,林鸿顺利地上线了。

……

第584章 封闭式开发第462章 解决难题第148章 邀请函第314章 密码朋克第640章 又一个惊喜第59章 再“遇”LUS第679章 幕后黑手第673章 收购第13章 火腿族第136章 图书馆第442章 思维转变第712章 思维共振第603章 一切从简第603章 一切从简第472章 攻击准备第659章 小白鼠第380章 指令集第247章 勘探者火箭第376章 付出与回报第680章 反击第660章 情况逆转第347章 开关蛋白第533章 数字娱乐出版公司第624章 梦中女神第67章 三声爆响第138章 sam三人组第134章 破解第620章 不过如此第419章 女追男,隔层纱第592章 代码仓库第36章 带你去见识一下第676章 烫手山芋第286章 金矿第71章 国际学生交流计划第85章 讨厌无法解释的事情第326章 异常连接第553章 抓捕行动第422章 变化第167章 银行劫匪第409章 危机边缘第33章 烟不是那么抽滴第490章 救人第626章 预警信号第82章 核磁共振检查第215章 半步崩拳第346章 制作电路板第408章 改变世界第95章 优柔寡断的冯婉第130章 遭遇入侵第155章 凭什么?第684章 自责第551章 古狗诞生第168章 别犯傻第579章 机器蟑螂第638章 好东西哇第410章 注资、出售第12章 热闹的频段第220章 加密算法第39章 市区游戏厅第272章 超脑系统第431章 意外发现第9章 算你赢了第64章 赏个脸演示一下第398章 安装超脑系统第115章 警察上门第82章 核磁共振检查第602章 测试版第605章 再次上门第282章 对你有兴趣第167章 银行劫匪第475章 玩出一朵花来第360章 太邪门第443章 疯狂的程序员第484章 好男人第109章 游戏规则第597章 商讨第261章 等着看好戏第96章 研究所所长第497章 形意对形意!第565章 面具杀人色魔第171章 监听第396章 文件系统第462章 解决难题第268章 我是谁第323章 热心师姐第19章 重大事件第279章 老夫子的遗憾第311章 少年变男人第148章 邀请函第388章 中间人攻击第144章 monkey病毒第212章 停止侵权第284章 我来带他走第25章 好消息第579章 机器蟑螂第474章 好戏在后头第25章 好消息第157章 太帅了第487章 合作达成第495章 讨回公道