第 142 节
作者:抵制日货      更新:2021-02-17 15:11      字数:5105
  平复了一下自己的心情,许毅打开了“黑客学院”的网站。没有多做停留,他直接进入了“操作系统”版块。这个版块已经开设了一段时间了,许毅这段时间来都挺忙,没时间去关注这个学习型操作系统地进展。
  版块中已经积累了不少帖子,许毅看到,目前来这个版块的人。基本上已经定型,都是对操作系统编程感兴趣并且具备一定水平的人,这点从他们发贴回贴的质量就可以看出来。许毅登陆项目组地CVS,将STUOS的磁盘镜像下载了下来,然后在虚假机中将其虚假。镜像还挺大,有5M多,让许毅有些惊讶其体积。
  系统启动,自检过去,很快进入了一文本界面,其中的文字开始显示进行系统初始化的一些内容,和通常情况下最大的区别就在于,那些向上滚动的文字都是中文。
  按照许毅的设计,这个系统有两种操作界面,字符和视窗。许毅选择进入的界面是视窗,也有系统桌面和任务栏,许毅在里面溜了一圈,发现这个项目的进展大大超出了他的预料,可以说,现在这个系统已经基本实现了一些常用功能。文件系统也改变了,是一种名为“CFAT”地文件系统格式,它最大的特点就是可以兼容windows的FAT32文件系统格式和Linux的集中常见的文件系统格式。其先行性让许毅都感到非常惊讶,他曾经有过这个设想并为之努力过,可惜由于水平问题而没能进展下去,却没有想到,在STUOS中竟然实现了!
  许毅并没有立刻去看怎么实现的,他对这方面并没有深入研究,就算现在去阅读,由于缺少相关地知识,肯定也是看不懂的。他继续查看系统功能。发现里面已经实现了很多主要的小程序。例如一些设备管理程序,小游戏等……许毅最为看中的是里面已经实现了一个汇编编译器和将Linux下的GCC编译器也移植到了这个系统中。有了这个,就可以很方便地在里面编译一些常用的软件,实现移植的环抱。由于CFAT文件系统是兼容FAT系统的,所以理论上来讲,以后就算不重新编译,那些软件也可以直接拿来用。
  系统的UL设计也非常不错,那些窗口,看起来具有水晶效果。
  将整个系统玩了一遍,然后许毅再仔细阅读了论坛中公布的官方文档,总体来讲,他对这个系统目前的成绩是非常满意地,大大超乎了他的预料。尤其是那个CFAT个文件系统的实现,无疑是一个创举,绝对具有国际先进水平。
  说实话,如果现在许毅突然要加入这个开发团队,以他现在的水平,肯定跟不上大家的开发进度,他们现在编写的东西,已经超过许毅掌握的知识深度了,许毅要进行再学习才能够顺利参与开发。
  STUOS系统已经具备了一个成型操作系统的特性了,在字符界面下,完全可以取代DOS完成相应的功能,这对许毅来说,简单是一个意外的惊喜,按照他的预想,这个系统编写到最后能够完全实现DOS的那些功能就已经是极致了,却没想到才过了这么短的时间就有了这么大的进展,而且是突破性地进展!
  现在主要负责开发的是哪些人?许毅很想知道,也很想和他们见见面。他们系统编程水平绝对在之上。按照许毅的计划,本来这个STUOS只是为了培养这方面的人才的,却没料到,它发发展到这个地步,里面很多的架构都已经发生了改变,比以前的结构优秀了很多。
  “傲龙无悔、死亡之舞、小雨、青色幻想……”许毅看着那一大串参与者名单,竟然现在就已经有超过一百名的程序员加入到STUOS的开发上来。
  按耐住内心的兴奋,许毅开始详细阅读“操作系统”版块中的帖子,主要是精华帖子,这些被加了精华的贴子通常都非常优秀,有可取之外。一页一页地看下去,许毅发现最先提出CFAT的是傲龙无悔,他发的第一个帖子就是介绍CFAT的特点,在些之前,他已经研究了很长一段时间。他的那个帖子引起了大家极大关注,很快,很多人都加入到这个话题的讨论,而且纷纷献计献策,提出自己的建议和改进,于是乎,CFAT渐渐成熟起来,最终被他们实现在STUOS系统中。
  “妙,实在是太妙了!”许毅看了他们的讨论,不由得出声赞道!他看到,虽然有些人并不是怎么在行编程,但提出的这些设想却非常有可取之处,再经过懂行人完善,相应的功能就实现出来。群众的智慧果然是巨大的!
  CFAT理论完善之后,最后经过大家的一致投票,终于决定将STUOS的文件系统改为CFAT。而且在此之后,整个项目的进度才彻底加速,因为可以兼容windows和Linux的文件系统,这方面的开发也容易了很多。
  许毅一个个帖子看下去,基本了解了整个项目的基本情况。他发现,傲龙无悔的确非常厉害,从他的一些说辞来看,他的年纪应该不小了,给人的感觉很稳重,考虑问题也全面,最后他接管整个项目,带领大家一起进行开发,也是大家一致同意的。
  这时,许毅突然错点了一下,进入了一个很冷清的帖子,标题为《我现在正在做的事情》,他正想后退,移动鼠标的手却停了下来。
  “嗯?”许毅被帖子的内容吸引了。
  文心阁制作 更多精彩图书尽在文心阁
  电脑访问:wenxin8
  文心阁论坛:bbs。wenxin8第三卷 第200章 Smartech…1
  这个帖子的网络ID叫阿文,他这个帖子并没有说操作系统的有关事情,而只是说刚开始对编译器非常感兴趣,大学的时候参加了几个相关的项目,发现自己对CPU的结构学了很久都没有熟悉,于是便产生了自己动手亲自做一个CPU的想法,以此来让自己完全熟悉CPU的工作原理和结构。通过学习数字逻辑电路和计算机原理方面的相关知识,他知道,一个CPU其实也是有很多TTL集成电路组成的,其基本元件不外乎是晶体管、电阻和电容等,区别就只在于工艺方面而乙。也就是说,从理论上来讲,完全可以由这些基本电气元件来制作比较简单的CPU,实现一些简单的功能。事实上,CPU的发展就经历了这么一个过程。
  考虑到水平的问题,这个想法一直留在阿文的脑海中,并没有动手实施。这样一直到大二的某一天下午,他在国外一个专业性的硬件论坛读到了一篇文章,据那个文章的发表者说,这篇文章曾经是一本老杂志上的,他见里面涉及的内容非常专业和精彩,于是便手工将整篇文章敲了上来,作者没有联系到。
  这篇文章讲的就是如何使用TTL集成电路来制作极其简单的CPU,里面将总体过程大略地介绍了一遍,例如制作这个CPU主要涉及到哪几个主要的步骤以及哪些知识等,并且在文章的最后,作者还说,这个试验事实上是能够做成功的,他和几个朋友曾经做过一个这样的CPU,当然,它是一个庞然大物。
  看到这篇文章之后,阿文终于下了决心。决定自己打造一个CPU。帖子到这里就结束了,在末尾,阿文说看到这里的人气很旺,希望到这里能够我到志同道合的朋友,一起来交流这方面的知识,到目前为止,他地计划已经顺利地完成了一部分了。阿文在末尾留下了一个飞飞号码。
  在帖子的后面,只有寥寥几个回帖。无非是“你强”、“厉害”之类的话。很显然,大家并不相信阿文说的话是真的。或者说,阿文所做的事情把大家给吓住了,自己手工制作CPU。难道你以为仅仅是去打磨一下么!
  许毅仔细阅读了这个叫阿文的帖子,里面他的措词非常严谨,并没有什么不合理地地方。虽然他所做的事情有点太过匪夷所思了,但也并不是完全不可能,生话中地高手是很多的。许毅接着在站内搜索了一下阿文所发表和参与的帖子,发现他发的帖子很少。回帖也少,不过他回复的那几个帖子的内容的质量却非常高。而且都集中在硬件方面。
  从这点来看,他应该不是那种说话不负责的人。想到此。许毅登上飞飞,按照阿文提供地号码将其查找出来,发现他需要验证才能加好友,许毅填了一个“CPU”。
  很快,对方通过脸证的消息就传了过来ˉˉ他现在在线。
  许毅没有立刻发信息过去,对方好像也不着急,并没有发信息来询问。最后还是许毅主动发信息过去:“你好。我是在黑客学陀地操作系统版块看到你的飞飞号码的,我对你手中的那个有关CPU的项目比较感兴趣。
  对方直接发来一句:“首先先回答我三个问题。
  许毅还没来得及应答,对方的问题就己经发了过来,三个问题,考察的内容有对相关硬件知识的概念,也有CPU某个部位的具体作用。好在许毅对这方面还有点了解。这三个问题都没能难倒他,很顺利地就通过了阿文地考核。
  “终于来了以为稍微懂行的人了!”阿文发来的消息中这样说道。按照他的说法,前面应该也有人找过他,而且也遇到过这种持遇。
  “很多人来找过你吗?你问的这三个问题并不是很难呀。”许毅奇怪地问道。
  “也不多,就四五十人,你是这些人当中水平最高的。题目之所以这么容易是因为我把题目难度降低了很多,不过我相信,前面地人都回各不出什么东西来。”
  “呵呵,你过奖了!在黑客学院翻到你的帖子,特意来找你问问情况。”
  “这么说来,你是真的相信我在帖子中所说的话了?”
  “那是肯定,不相信还跑来干嘛?”许毅反问,“再说我也知道用TTL集成电路的确是可以做出简单功能的CPU的,虽然事情比较烦琐了一点。”
  “看来今天还真碰到能够聊几句的人了。”对方的话里透露者兴春,“在你之前的那几十,都是车斤八两,对这方面涉及的并不是很深,所以我跟地们没有共同语言。”他之所以设立这样一个考核规矩,主要是因为前面两个人聊了车天,连什么是CPU的Cache是什么都不知道,浪费了阿文好多时间。
  “请问你现在已经做到哪里了?”许毅开门见山地问到。
  “现在我已经完成了ALU/寄存器的架构和控制面板的架构!”
  “哦?”他这么说,许毅并不能看得很懂,谁知道他口中的控制面板是什么东西,ALU和寄存器许毅倒知道。
  “我这么说你可能看不懂,这样吧,我把我的项目日志给你看看。”阿文想到了许毅的难处。
  “那最好不过了!”
  接着,阿文发出了一段文字,格式非常简单,就是前面是日期,然后主要做了哪些事情。
  ……
  1996年10月6日:开始写项目日志,并为这个项目制定了日程表。
  1996年10月18日:完成了错误处理和中断机制的基本设计。
  1996年10月29日:完成微代码的第一轮设计,并将这个CPU命名为Smartech…1
  ……
  1996年11月13日:Smartech…1的汇编器基本成型。
  ……
  1996年12月28日:在模拟器中完成了页面错误机制。
  ……对指令集架构进行了意义重大的改变
  ……设计用于多进程的上下文环境切换
  ……完成对微代码的重写工作
  ……
  一直到前两大的“完成控制面板地架构”工作。
  许毅看到,他这个项目已经历时一年多了,而且在整个项目的过程中,他进行了大童的重写改进工作,有好几次甚至是完全推翻前面的设计。将自己学到的新知识应用到Smartech…1的制作当中去,从这份简单的项目日志看来,可以清晰地看到阿文在这方面的进步。在项目刚开始,他完全还是个莱乌,很多设计都非常不合理,很多知识也不知道。可是现在,他己经成为了这方面地高手,对整个Smartech…1了如指掌,同时也将CPU的很多工作原理和结构完全拿握。
  看到这份日志。许毅知道,阿文确确实实在做这个项目,他实在佩服阿文的毅力和耐性。
  “我看了你的日志,你的确非常厉害。我想问下,你的Smartech…1的最终目柱是想达到一个什么样的程度?”
  “刚开始的时候,我只是抱着熟悉CPU的工作原理和结构地目的开始这个项目地,可是现在,我发现我已经喜欢上了Smartech…1,从某种意义上来说。它是我的孩子,我现在的目标己经有了改变。不再满足于最初的想法,我想真正将这个CPU做出来,成为一个功能完全的CPU!”
  “我要让它支特完整的硬件地址转换、内存映射IO私DMA,当然,多线程也少不了!这个CPU的地址总线是8