返回目录
关灯 护眼
加入书架

分节阅读 225(2 / 2)

实际上,四个男生都喝了不少,吴东之所以还清醒,是因为他的身体本身就比较强壮,到了寝室,洗了个澡之后,后劲便上来了,直接躺到床上呼呼大睡起来。

而林鸿却没有半点睡意。

看着其他三个都睡得那么香甜,他还真的有些羡慕,他已经很多年不知睡觉为何物了。

能够成为其中的一员,林鸿觉得挺不错的,相互之间的关系都这么纯粹,感情这么纯真,可能除了血缘,也只有在学校里面能够体会到了。

林鸿由于各种原因,小学初中高中都几乎没有交到感情特别深的朋友。原本他以为这可有可无,不过现在却已经改变了这种想法。

感慨了一会儿,林鸿打开自己的笔记本,开始做点正事。

这里虽然还没有联通网络,但是却难不倒林鸿,在之前探路的时候,他已经大概地了解到了校园里面的整个网络结构,知道有些电脑或者服务器是可以联通外面的互联网的。

而他要想访问,只要在那些机器中安装一个代理服务就行了。

他很快就找到一台合适的服务器,没再花大心思去隐藏,只是简单地处理了一下,毕竟这个时候时间已晚,也不怕被人发现。

他登录到三色火科技公司的论坛看了一下,这个论坛目前发展得很不错,在短时间内,基本上成为了国内另外一个比较重要的技术人员聚集之地,并且在ux方面,是绝对的权威。

用公司的账号,回复了几个比较有难度的帖子之后,他便退了出来。

开始进行自己的另外一个项目开发一个实时操作系统原型。

这个项目原本早就应该着手进行了,可是由于七七八八的事情比较多,一直拖到了现在。

虽然一行代码没写,但是大致的架构设计,林鸿心中却已经有了底。

他之前毕竟进行过ux内核的开发,整个流程和原理早就烂熟于心。

不过,他这次设计的实时系统,却不打算像ux那样使用宏内核,而是决定使用微内核。

实际上,操作系统设计与实现这本书中,作者设计的ix就是微内核的。

ux并没有采用这个一设计,而是沿用了unix的宏内核设计思想。

在ux流行起来之后,ux粉丝和ix粉丝之前曾经在邮件列表中爆发了一次争论,最终两个系统的创始人都出面发表了自己的看法。

ix的发明者安迪教授认为,ix采用宏内核是一种倒退,就好像是在90年代仍然使用七十年代的技术。并且指出,操作系统不应该过分依赖体系机构,而ux正是过于依赖80386结构,这样显然是不对的,缺乏远见,因为体系结构的进化速度是非常快的,这样会导致以后不利于移植。

而也承认,微内核在设计思想上的确是更胜一筹,但是微内核在实现和调试上的难度非常大,这也是为什么gnu自己的系统hurd迟迟无法发布的原因。

认为,快速实现一个可以使用的系统更为重要,如果等将所有设计都优化到最后再去实现,这个过程将极为漫长,那ux或许就会成为hurd那样的难产儿。

而历史似乎证明ux所作出的决定是正确的,ux正以一种令人难以置信地速度在互联网上流传起来,而hurd系统却逐渐地销声匿迹。

如果是几年前让林鸿来设计系统,他的决定或许会和一样,也选择开发和入门都较为容易一点的宏内核体系。不过现在他却不会这么做,因为他已经完全有把握能够克服其中的一些问题。

并且,他想要编写的实时操作系统,是为了军事用途,军事中的东西,架构可不都是x86,而是千奇百怪,宏内核显然无法满足这个要求,只有将系统服务的实现和系统的基本操作规则分离开来,并且一个服务组件的失效不能导致整个系统的崩溃,这才是军用产品所需要的功能。

林鸿新建了一个项目文件夹,名称为“x”,沿袭了unix的命名法则,而前面的却是林鸿的姓氏。

然后,他在里面新建了个文件,敲下了这个系统的第一行代码。

第331章我想学

编写操作系统是一件非常繁杂的事情,必须对计算机系统中每一个细节都了解清楚,通电之后,每一个硬件在最初的状态,里面保存着那些数据,代码是如何一步一步地执行的等等等等。

林鸿主要使用的编程语言,是c语言,当然,其中还会有有些地方需要用到汇编语言,例如最初引导启动的那部分代码bootoader。

c语言的确是一种非常强大的语言,几乎现在大部分流行的操作系统都是c语言,或者其变种语言所编写的,例如unix,ux,甚至ix系统下编写ux的内核,而现在,林鸿则在ux系统下,编写x的内核。

由于林鸿已经有了不少系统编程经验,他刚开始的时候进度是非常快的。

首先,代码编写环境是现成的,根本不用再花另外的时间和精力去配置。

要想编写一个操作系统,其编程环境也是有一定复杂性的,并不说能够编写应用软件的环境就可以,而是需要特别定制,这一步通常需要耗费程序员相当大的精力和时间。因为你需要编写的系统很可能是一个全新的体系,现有的软件和工具可能满足不了你的需求,故而不得不自己动手去实现这些工具软件。

这就像是,你想制造一台机器,但是却没有现成的工

还必须自己去发明一台车床用来制造汽车的配件。可想而知,发明车床的时间可能就需要耗费一段极长的时间。

正所谓“磨刀不误砍柴工”,要想砍柴砍得快,就必须要有锋利的刀具,但是磨刀也是需要花费时间的。

而林鸿现在这一步可以直接省略了。因为他的开发环境完全可以和ux的开发环境一致,因为使用的编程语言是一样的。

其次,诸如bootoader这样的引导程序也几乎是现成的,只要修改少量的代码就可以直接将原来的进行重用。

所以,他在很快的时间之内,就将第一个例程“heox”编写了出来。

重启之后,引导进入他新编写的操作系统,显示器上,便开始间歇性的打印“heo”以及“x”这两个词语。

正如当年编写的第一个多进程程序一样,他这个也实现了两个线程,这两个线程同时运行在cu中,共享着cu的时间片。

虽然早已料到这样的结果,但是林鸿还是看了一下效果。

这是程序员们经常干的事情,虽然早就料到程序执行的结果,但是还是会选择亲自输入一遍,然后运行再看电