装在了本机上。
当然,他使用的又是多系统安装方式,其他两个系统并没有受到影响。
重启之后,他选择了“LINUX_V0.00”菜单,然后回车。
显示器上顿时闪现一连串的字符,不断向上刷动。
此刻,林鸿已经对计算机启动的详细过程有了非常深刻的认识,不再像以前那样。根本不知道计算机到底在做什么。
当电源开关被按下的时候,机器就开始通电,主板的控制芯片于是向CPU发送一个重置信号,将CPU恢复到最初始的状态,当芯片组检测到CPU上的供电稳定的时候,CPU就会开始工作。
它要做的第一件事就是从内存中的0XFFFF0地址处读取指令运行。
而这个地址中。通常会有一个跳转指令,跳转到BIOS的自检系统处,这个时候便开始了自检过程。BIOS是主板厂商早就刷在了固件里面的一个系统,目的就是对硬件进行管理。
自检的目的,是为了检测计算机各部分硬件是否正常,如果缺少或者有损坏的硬件,则启动就会立刻被挂起。
只有所有硬件检测都被通过之后,才会最终跳转到第一个扇区,读取MBR,开始执行安装在磁盘上的操作系统。
而LINUS完成的功能。就是在读取MBR之后,如何将操作系统加载到内存里面进行执行。
这个过程很快,字符不断向上刷新,硬件检测很快结束,接着显示屏一闪,顿时最顶部便出现了“AAAAAABBBB……”这样的字符。
看着显示器上不断出现的AB字符,林鸿知道,这一次启动过程已经完毕。他已经看到了LINUS所编写的功能。
要是其他不懂技术的人看到这种情况,必定会对此嗤笑一声,道:“这也叫操作系统?开玩笑吧!”
实际上,当初LINUS将这个版本编写出来之后,就兴奋地叫来他的妹妹萨拉来观看。这毕竟是他花费了极大的心思而编写出来的作品,努力了这么久,终于成功了,自然想和其他人分享一下自己的喜悦。
可是抱着泰迪熊的萨拉盯着显示屏看了大约五秒之后,说了一声“很好”,便面无表情地回到房间内和她的闺蜜煲电话粥去了。
LINUS为此愣了半天,良久才反应过来,自己和不懂技术的人是完全没有共同语言的。他竟然奢望自己的妹妹能够看懂自己所做的努力和成果。这简直太天真了。
在对方眼中,这就是简单的显示了几个字符,完全没有什么特别之处,也完全不知道做这么一个功能到底有什么意义。
不过,林鸿对此却是知道,显示屏上不断交替显示的AB字符,是由两个进程打印在屏幕上的。也就是说,LINUS在这个V0.00版中,不但实现了保护模式,也将多任务管理的原型给做出来了。
“厉害!”
“很棒!”
“NICEJOB!”
这些都是林鸿对LINUS的评价。
这部分内容,看起来虽然都能够理解。但是林鸿知道,如果让自己编写出来。要花费的时间和精力肯定比对方要多。并不是因为自己的技术不到家,而是自己在这方面的理解还不够深刻,或者说,这方面的资料太少了,仅仅凭借一本《操作系统设计与实现》根本写不出来,还涉及到其他很多知识的积累。
平时林鸿看待计算机,是从宏观的角度观察和使用的,可是当他看到这个最原始的操作系统的时候,顿时有了一种在显微镜下观察的感觉。
所有的黑匣子都没有了,他心中清楚地知道计算机下一步将要做什么,一切细节都一览无余。
此刻已经是凌晨两点多,林鸿本来很想和LINUS沟通一下,可是对方此刻并不在线。
于是,他心情激动之下,便开始正式开始投入到LINUX的开发之中。
他想要做的,就是将之前LINUS一直到MINIX中的BASH,也就是外壳程序,移植到LINUX中。
外壳程序非常重要,它可以说是所有程序之母,只有将它移植过来,才能够顺利地执行其他应用程序。
BASH本身就是一个开源的程序,可以从互联网上免费下载,但是林鸿手中有它的源代码,还是上次LINUS邮寄给他的。
编写这个,必须得实现一些操作系统的系统调用命令,例如显示目录“LS”命令,进入目录“CD”命令,这些都是最基本的。
系统调用有很多,林鸿暂时打算先将MINIX里面所支持的完成即可。其他的,以后再说。
为了避免LINUS进行重复开发,他首先给对方发了一封EMAIL,然后便埋头开发。
移植的过程比想象当中的要难一点,不过好在LINUX使用的文件系统和MINIX是一样的,在太阳在东方升起的时候,他已经将BASH程序移植得差不多了。(未完待续)