黑客传说第50部分阅读(1/2)
写的,它改良了硬件标准的支持,例如x和agp其它特性包括对fat32文件系统的支特、多显示器webtv的支持和整合到dows图形用户界面的terexplorer,称为活动桌面(activedesk)。
而按照历史,这款系统应该在六月底才发行的,也就是说,现在几乎提前了半年的时间就公布了出来。
“难道说我卖给给微软的那些系统漏洞,让这个操作系统早产了,”许毅无良地想到。
不过无论如何,这件事对大多数人来说,也算是一个好消息。因为dows95并不算是一个稳定的操作系统。直到98才基本稳定下来,虽然这个系统仍然存在大量的系统漏洞和缺陷,但相对于以前的版本来说,这已经是一个很大地进步了。
98的普及率是非常高的,许毅记得,当年中国大大小小的网吧
中,最先安装的系统就是dows98系统,可以说也是一个里程碑式的系统,按照历史。微软于2006年七月正式停止为这个系统提供技术支持。
许毅还知道,不久之后,微软还会推出9的其他版本,接着是dows这款昙花一现的操作系统,可以说,微软的系统升级和发布间隔是非常短地,微软公司几乎无时无刻都在进行系统的编写。
许毅到微软的官方网站仔细查看了官方对这个系统新特性的介绍,和自己了解的基本上差不了多少。其中有有一点还和他有很大关系,现在98已经是完全支特b接口了。
很多人抢在第一时间来体验这款比98优秀很多的操作系统。不过许毅切没什么兴趣,正所谓“曾经沦海难为水除却巫山不是云”,许毅休验过比这高级得很多的操作系统。自然对这个没有兴趣了。
不管是dows还是lux目前都在快速成长之中,许毅又想起中国国内在这个领域的发展,实在是心中永远的一个痛。
国产操作系统这个口号喊了十多年了,可是仍旧不见成果出来。后来出了个红旗lux,可惜是基于lux内核地,而且还做得差强人意,就算打上民族大旗都没什么人支特。里面的技术可以说跟少有创新,基本上是抄来抄去。
后来,中国863计划好不容易出了个麒麟操作系统。当时出来之后大家奔走相告,都说中国终于有了自己的操作系统,具有xx等新特性,都是自主创新地云云,可是大家还没高兴太久。随即就爆出了丑闻一麒拚操作系统被指涉嫌抄袭!网上,一个网友发表文章《麒麟操作系统内核与freebsd53内核地相似性达到了9945》,指出其中的很多关键代码都是将别人的开源代码经过简单的修改而拿来用的,而且还遮遮掩掩,声称这是他们自己研发的。
这件事伤了无数国产操作系统忠实支持者的心,作为投资7000万元的国家“863”软件重大专项研发成果,作为由国防科技大学、中软公司、联想公司、浪潮公司务民族恒星公司五家单位合作研制的开愿服务器操作系统,换回来地竟然只是一个基于公版开源内核的“抄袭作品”!
此事立刻在国内软件领域引起轩然大波。麒麟事件,揭开了中国开源软件投资问题的一角,国内开始对国产开源产品产生了众多质疑。同时,大家追查起来发
现,中国扶持lux已经七年光阴,在这七年当中,中国每年投入到lux方面的钱都有几亿人民币的规模,但是七年投资换回来什么?大家惊讶地发现,在国际lux内核程序实际发工作,参与开发地就只有被称为中国lux之父的龚敏一人,但是他开发的大约三千多行lux内核代码最终也没有被采用。也就是说到那个时候为止,中国人实际上还没有写过一行lux核代码。
麒麟事件的发生,终于让大家彻底对国产操作系统失望,其中也包括当时身为程序员的项斌。受这件事刺激,项斌还参加了网络上一个操作系统开发小组,进行过这方面的底层开发,可惜的是,这个小组内部最终出现了问题,项目刚开了个头就夭析了。
实际上,中国是有很多业余操作系统爱好者的,他们都在各自地进行着这方面的研究和开发尝试,不过由于资料的缺失和务件的制约,他们通常停留在一个比较低的水平上,编出来的系统,最多也就实现了一些简单的功能,类似于dos操作来统。
中国不是没有人才,但缺少的只是一个施展他们才智的舞台。许毅回到这里之后,就曾经动过开发中国自己的操作系统的心思。不过最终还是没有着手进行。一来是因为他当时还有别的事情,自己的“温饱”问题还没有彻底解决,令外的原因是他那个时候并没有什么号召力,就算提出一个这样的项目,估计也没有多少人会理。没有足够的财力支特也是重要一个原因,当初他们那个小组就是因为太业余,成员都还有其他的主要工作这才导致后来主要成员离开,项目夭析。
可以说,编写自己的操作系统是许毅一直的一个心愿,所以他才会花那么多时间去研究操作系统,所以他才会注意和发现这么多系统漏洞。这点和他成为一个越级黑客有着必然的联系。
lux确实是一款不错的操作系统,因为其开源特性得到了跟多专业人士的支持,但是它在推广方面做得并不好,界面也不够友好,相对于普通用户来说,操作不够傻瓜,所以这么长时间来,一直被微软的dows系统压制得抬不起头来。
在易用性方面,许毅还是非常推崇微软的dows系统的,微软在这方面做得无疑是最好的,界面非常友好,操作也简明,就算是刚开始什么不懂的菜乌,凭借自己的小聪明也能在短时间内使用得很顺畅。
dows在图形化方面的成就是lux系统所不能比似的,它在设计的时候,完全是站在用户的角度考虑问题,这点非常值得借鉴。
不过对于专业人士来说,实际上使用lux的效率比dows还要高,有时候他们直接使用命令行抗行命令比用鼠标去点击图标要快上很多,因为在lux中,shell中的命令功能都是非常强大的。另外,最吸引人的,还是他们可以自己定制自己的操作系统。
尽管许毅很喜欢lux,但是他最终还是没有给lux提供跨时代的关键代码,这点完全是他出于自己的私心,因为lux发展太快,可能对他以后要着手开发的系统很不利。在卖给微软系统漏洞的时候,他也基于这个原因考虑过,不过那些漏洞对微软的内核推动作用不大,只是一些他们没注意到的安全缺陷而已,并不影响dows系统的大跨步前进。
现在,dows98出现了,许毅在考虑自己的这个计划是不是该执行了。但是最近他沉迷于研究人工智能,沉迷于自己建立的那套全新的人工智能理论体系中不能自拔,并没有多少精力花在这个上面。
说起许毅现在正在渐渐完善的人工智能理论,他现在还真有点小郁闷,因为这些研究还只是停留在理论上,还不能进行实践。最主要的原因是这个理论实际上还没有真正建立起来,剩下地基没有打好。他的这套理论的建立过程本身就违反了理论体系建立的通常规律。一般的理论休系的建立,往往是首先假设几条永远正确的公理,然后在这些公理的基础上进行发散,推导出一系列衍生的推论或定理。也就是说,它们的建立过程遵循一个从下到上的过程。但是许毅的这个理论体系所经历的切是一个从上到下的过程,即许毅首先提出了上层的一些假设,然后逐渐往下反推,寻找最底层的支撑公理。不过令许毅感到欣慰的是,他的研究暂时还没有遇到什么大的阻碍,一直在往下面进行着,到达最底部只是时间问题。
第三卷 第182章 操作系统计划(下)
许毅并不打算编写基于lux核心代码的操作系统,因为他认为,虽然lux遵循gpl开源协议,但实际上是存在隐蔽的知道产权陷阱的。实际上lux的原作者ltonvalds始终都没有放弃对核心程序版权的要求,也就是说,只要l愿意,他可以在任何时间收回lux的开放协议,将其重新变为独家的专利,事实上l将lux转向gpl协议也经历了这样一个过程。这里,很明显存在一个非常重要的问题——如果有朝一日,l将操作系统的内核重新封闭起来,那基于那个核心的所有软件产业都得率上一个大跟头。
这并不是危言耸听,仔细分析,lux核心的一部分被判定存在侵权的可能性的确存在。事实上,lux的代码侵具有多种潜在的可能性,而且lux的开发机制和代码审核流程并不像自从问世起就遭受版权问题磨练的fneebsd等开放源代码操作系统那样严谨。
自己动手,丰衣足食,最可的还是自己编写。
许毅知道自己一个人的能力有限,所以他要做的工作,主要是一个引导作用。就发同l一样,挑一个头,让大家一起参与到这个项目中来。不过目前到底有多少国人在研究这个,许毅也不清楚,不过总体估计。人数应该不会太多,而且,大多数人应该还处于一个非常低的水平,很多技术并没有掌握。他在网络上搜索了一下相关网站,中文方面几乎没有任何一个有关这类信息的网站。只有一个汇编网站稍微提到了一下这方面的资料。这也就意味着,并不是许毅现在提出这样一个项目,大家立刻就能参与到这个计划中来,更为重要的是,还兼任着一个教学地目的,培养大家的兴趣,让大家通过研究相关代码,增长这方面的知识。
和苏兰一起将波士顿玩了个遍之后,许毅再次安静了下来,他觉得这件事应该着手进行了。不能再拖。
许毅并不指望刚开始就能编出一个超越lux或者dows的操作系统来,他现在没有这个能力,他只是决定先做出一个实现了简单功能地操作系统,一个能够独立在裸机上运行的操作系统。
lux系统下有一整套可以用来进行操作系统开发的工具,非常方便。许毅首先用汇编写一个bootloaden程序。这个小程序很重要,正如其名,boot即启动的意思。loaden意为装载器,lux下的bootloaden是gnub或lilo,dows则是一个名为ntldn的程序。这个程序的作用是用来把操作系统内核的二进制代码从磁盘复制到内存中(只有在内存中才能得到执行)。还用来设置一些系统初始化的信息。因为许毅打算编写的操作系统是32位地,所以它还有一个功能——将系统从16位的实模式跳转进入32位的保护模式。(电脑刚启动的时候是16痊的,被称为实模式r)
电脑刚启动的时候,程序的指针ip是指向bios程序地,所以首先执行的是bios系统(这是一个固化在fsh芯片中的小程序),它负责监测系统地所有资源,并把状态,如内存大小、硬盘有多少等等,存入内存中指定的位置,在bios的最后,它会检查所有可以启动的磁盘设备,如果找到要启动的磁盘(bios中的启动顺序)的第0磁道,第一个扇区地511和512字节写着0x55和0xaa数据(可启动标志)。bios就会将该扇区的512字节内容复制进内存的ox7c00处,并跳转到该处执行。这也就是为什么所有磁盘(包括软盘和硬盘)的第0磁道的第一扇区为启动扇区的原因,如果该扇区出现了物理损坏,那么这个磁盘将永远无法作为启动盘使用。
简单来说,bootloaden程序地作用就是充当中间联络人,将操作系统“请”到内存当中去执行。
由于许毅用的编译器是g,而g并不能直接生成16位的代码,所以许毅只能用汇编语言来编写这个bootloaden了,等机器进入32位的保护模式之后,许毅再用c语言来开发其他内核代码。
实际上,有了这个程序,就能够将系统启动了。可以在里面直接通过中断来操作显卡,例如直接往显存地址中移进去一个字母中,显示器中就会打印出这个字母,这相当于是一个最为简单的操作系统了,只不地这个操作系统能够完成的功能非常简单,只是在显示器中显示一个字母b而已。但是,这个就已经可以在裸机上成功运行了。要想复杂一点,就是另外编写内核代码,用一个跳转语句,跳到内核代码的入口地址,这样就可以进入其他操作了。(通常是一个大循环,这样除百是人工退出,不然它就会一直这样运行着)
许毅已经有这样的简单系统的编写经验,所以现在编写起来也是轻车熟路的,一路编写下来,基本上没有遇到什么大的阻碍,只是偶尔有些地方忘记了一些细节,到网络上查到了相关资料就搞定了。
只有见到实在的东西才能够调动大家的积极性。
许毅最后不但在里面实现了文件系统,还完成了最基本的图形界面,支持ps/2鼠标,技能vega20另外还支持符合dows标准的16位bp格式,支持标准101键盘,中英点阵字库和800600的16位色显模式,最后,许毅甚至在里面实现了一个简单的推箱子游戏(就是一个十字型的窗口,一个上人在中间四周都是箱子)
许毅在虚拟机中运行着这个小型操作系统,四步完成那个拄箱子游戏,心中颇有成就感。
总得来说,这个操作系统已经初具雏形,文件系统、内存管理、中断调用、gdt、idt等等全部都已经实现。
许毅在黑客学院专门新开辟了一个操作系统专区,悄悄地将这个命名为stuoss的操作系统源代码传了上去,另外贴上一些屏幕截图。最后还详细写了一个怎么利用虚拟机来运行这个操作系统的教程。
黑客学院的操作系统板块悄悄开张了,事前没有任何通知。大家也已经习惯了这样,在以前,那些后来增加的板块都是这样开张的。看到新板块,大家都表现出了极大的兴趣,因为每次开始一个新版块都会有新的东西出来。前两次的板块还分了两个分站出去,这次又会怎么样呢?
stuos操作系统?!大家有些奇怪,stuos是一个什么操作系统,甚至还专门开了一个板块?在黑客学院中,已经有lux操作系统和dows操作系统专区了,其他操作系统因为使用人数过少而搞了一个综合的区域。
怀着疑惑的心情,大家点开了这个新开设的板块,里面只有几个新发的贴子,大家首先点开了那个顶置高亮显示的帖子。
stuos竟然是编写的!他终于要开始编写操作系统了吗?!
大家在惊讶之余,却又理所当然。实际上,这个问题已经被很多人提出过了。现在黑客学院几乎集中了全国的优秀的计算机人才,早就该组织一个这样的项目了,编写中国自己的操作系统。
大家看到了帖子中的屏幕截图,显然被那些华丽的效果给震住了,他们没想到,不声不响的就弄出了个图形操作系统!
无论是对这方面感兴趣还是不感兴趣的人都纷纷下载了那个镜像包,都按照帖子中描述的步骤,开始进行虚拟机模拟,他们要亲自观看效果。
最后有不少人看到了运行的效果,不过他们有些小失望,因为发现这个系统原来并没有想像中的那样好,只是实现了一个桌面和一个小游戏。
当然,失望的人自然是那些外行人,那些对这方面感兴趣的人则不同,他们饶有兴致地开始阅读许毅写出来的相关教程和源代码。因为考虑到教学目的,这些源代码都写得非常规范,使用模块化格式,在重要的地方都做了必要的注释,大家看起来非常轻松。
其中讲述的很多资料,现在都非常难找到,就算是找到了没有人帮助也很难看懂。现在,许毅结合实例讲解其中的相关知识,让大家感到非常高兴。这个操作系统涉及的知识并不是很复杂,大家在总体上有了一个大致的概念,极大地刺激了他们想要进一步学习相关知识的神经。原来,一向都非常神秘的操作系统是这样编写出来的!大家按照教程中的步骤,很顺利地完成了自己的第一个bootloaden,看着虚拟机显示器中大迎出来的“hellowonld!”,他们心中的激动之情无以言表。
……
于是,黑客学院中刮起了一阵操作系统学习风潮,很多人搞入到这个项目的学习和开发上来。
第三卷 第183章 类人智能
stuos系统的发展方向是“在内核上按照国际规范支持双字节,提供gui和命令行模式下两种中文技能环境,一个彻底的中文os……如果有可能,则可以兼容unix/lux和dows的文件格式,可以不加修改地运行至少是大多数已经存在的dows和unix/lux软件……像nt一样提供完全的gui界面,最大限度地简化操作……”
它仍然是开源的,遵守gpl协议,这样做是为了让这个项目更好地发展起来着想,不有开源才能吸引更多的人投入到这个操作系统的开发上来。同时,这也符合黑客共享、免费和自由的精神。
事实上,许毅始终都没有打算过将这个操作系统商业化,他发起这个项目,目的就是为了培养人才,积累技术。“stu”可以理解为“study”和“student”,即这个操作系统本身就是为了教学目的,是一个学习型操作系统。
在stuos公布之后,引起了国际上很多人的关注,他们纷纷猜测,这次又有什么大动作了?难道真的被他搞出来一个gui操作系统?有了之前的经验,就算真的搞出来一个功能强大的操作系统,大家在心里上也能接受。于是。他们到黑客学院将源代码下载下来,然后仔细研究,结果却令那些内行人大为失望。这根本就没有什么技术含量嘛!用到的技术都是一些众所周知地基本技术,唯一有点看头的仅仅是里面支持中文汉字的特性。那些高手对这个项目真的有些不屑,在他们看来,这感觉就是小孩子的玩物,他们在学习技术的早期就已经玩过了。现在已经抛到一边,研究更加高级的技术去了。所以国外地那些高手大部分都是凑了个热闹,后来对此就没再关心了。
真正关心这个项目的还是中国的技术人员。这个项目在提出的初期本来就具有民族性质了,也无怪乎别人不怎么热心。但身为中国的技术人员,他们对这件事是绝对技能的。可以说,编写中国自己的操作系统是很多人地一个梦想,曾经少时都为之疯狂过、努力过、无奈过。有人默默研究。发现自己一个人的力量实在有限,于是到网络上寻求帮助,但响应者甚少。主要原因是菜鸟觉得这个技术太复杂太高深,只能站在外围摇旗呐喊。高手则往往有自己的计划,他们自己也在做同样的事情,不愿放弃自己的项目转而去技能别人的项目。于是,大家都在重复劳动。碰到问题得不到解决,老是在原地踏步,最终导致项目夭折。
现在已经不像是以前那样,名不见经传的l公布一个实现了简单功能操作系统就能得到全世界的高手的支持。现在很多技术都公开了,甚至有专门的教程,入门容易了,大家发现,原来基本地也就那么回呈,于是便开始自己动手编写自己的os,可是往往只能实现几个简单的功能就再也进行不下去了。入门容易,要想真正发展起来却是难上加难,这就是操作系统编写领域的现状。
所以说,要想发起一个这样的项目并得到大家的支持,发起者一定要有实力,有名气,不然还真没多少人会来鸟你。
无疑地,许毅已经具备了这两个条件。实力摆在那,名气就更不用说,上次在it和oday的代表一战,他已经彻底成为中国计算机技术方面的领袖人物。
可以说,许毅现在随便抛出一个什么项目,绝对会有大部分人会无条件地支持,而不会去管这个项目到底是什么内容。更别说操作系统这么大地一个项目了。
本章未完,点击下一页继续阅读。