第二章 软件分析
既然打算研究,自然先从软件开始。
我从软盘盒内把随机软件一张张抽出来仔细看,这时候的软盘还是5寸的大软盘,根据软盘上的标签来看,这对软盘中包括两张盘、一张电子表格软件、一张看起来像是字处理软件的盘、还有几张游戏盘。
我先试了一下游戏盘,都比较简陋,习惯了后世绚丽画面的游戏,乍一看上简陋绿色栅格构成的游戏画面还真不习惯,好在这里面居然还有一个貌似有些熟悉的游戏《》,虽然画面比较简单,但玩起来颇有一种吃豆子的感觉。
简单看了一下游戏盘后,我又把拿出来研究。现在的操作系统还比较简陋,基本上做不了什么,连目录也不支持,文件管理功能也基本上没有,其实只是一个磁盘操作接口而已,我记得似乎还要过几年才会出现一个功能比较强的,那时候上才算有了真正的磁盘操作系统。
简陋的,陌生的命令行,让我终于受不了了,反正现在大把空闲时间,闲着也是闲着,干脆重写一个操作系统算了。其实也不能完全算重新写,这要感谢后世发达的网络,虽然那时的早已成为老古董,但是有那么一些人却对这些老电脑情有独钟,甚至还有专门研究的技术研讨会和利用研发低成本的组织。
我就曾经在网上参加过这样的组织,还一起分析过如何搭建性能更强的操作系统,经过长达一年的反复研讨,我们最终拿出一个经过认真取舍和优化的操作系统,在编写过程中我们还参考了一些微内核的设计思想。当时考虑到的硬件配置不高,在编写操作系统代码时做了尽可能的优化,最终的核心程序大约只有1500行。
我仔细回忆了一下,曾经熟悉的代码很快从脑海中浮现出来,我深吸一口气,开始按照记忆录入代码,两个多小时过去了,完成了代码的输入和初步核对。
我马上存盘,然后将软盘的引导区作了修改,以便软盘启动后能顺利引导新系统。重新启动电脑,随着一阵读盘声,新系统开始慢慢启动,很快屏幕上出现了一个“:”的提示符,输入默认用户名和密码后,进入了命令行。
这个新系统是根据后世常见的一些磁盘操作系统来设计的,可以支持磁盘、支持层次型目录,提供文件管理功能,有内存调度功能,还能实现多任务(例如在运行文字处理软件时需要某些数据,可以通过驻留的管理程序调出需要的其他软件,查出来后又可以切换回文字处理软件)。不过现在系统功能还不完整,暂时只完成了内核部分的代码,还需要增加一些辅助程序,而且试运行过程中发现了一些小Bug,看起来代码部分可能还有点问题,还需要做进一步的调试和优化。不过这款操作系统名字我倒是已经想好了,打算叫>
接下来的几天里,我天天泡在电脑室,上午是优化调试我的操作系统和增加一些辅助程序,下午则是指点赵叔使用和翻译《使用指南》。一个星期过去,我的操作系统基本完工,赵叔也学会了的基本操作和利用写点简单程序,只是写代码的时候常常还需要看看我写的手抄版使用手册。
“乐行,不错嘛,这才个把星期就弄出一本手册来,赵叔会用这新机器可全靠你呀。”赵叔边翻手册边感谢我。
“没什么的,我其实也是看了随机资料才写出来的,差不多就是翻译一下而已。”我对赵叔摆了摆手。
“我觉得你挺不错的,比厂里那两个大学生有本事多了。”赵叔说道:“我看你挺喜欢计算机的,有没有兴趣过来帮赵叔的忙。”
“赵叔,我行吗?我才多大,厂里能让我进?”我有些怀疑。
“没事,你本来就是厂里的家属,厂长是我以前的战友,赵叔帮你去说说,准没问题,包在赵叔身上了。”赵叔拍拍胸口,把这事担下来了。
“赵叔,那这事可真麻烦您啦。”我心里暗暗高兴,嘴上不忘感谢赵叔。
―――――――――――――――――――――――――――――――――――――――――――――
过了两天,我开始构思给操作系统增加一个C语言编译器,因为C语言拥有良好的可移植性,这样我编写的代码换到新电脑上很容易就可以利用起来,修改量会很小,毕竟明年就会发布,虽然国内好像要到85年左右才开始引进,这可是未来几十年的平台,可不是苹果机能比的。
快到中午时,我还在努力地堆着代码时,赵叔突然满脸兴奋的冲进电脑室。
“乐行,走,赵叔带你吃午饭去。”赵叔乐呵呵的拉着我就走。
到了厂里的食堂,赵叔忍不住比平常多多打两个菜,油汪汪的红烧肉炖豆角干,看着就让人眼馋。
边吃午饭赵叔边向我解释:“这两天我去找厂领导了,把你写的这个手册拿出来一摆,当时就把人镇住了。再加上我把你这段时间的一些情况往好了说,蘑菇了两天,总算把这事办下来了。乐行,以后你就算是厂里的职工了,工资每月八块五,另外考虑到你的情况,厂里再每月补助四块。今后你就跟赵叔一个地方上班了,下午我带你去办手续去。”
听到这,我心中暗暗得意,嘴上也不忘记感谢赵叔这几天的帮助。
吃完午饭,赵叔带着我到厂里办手续,一下午转下来,人事科、档案室、财务室……,差不多把所有办公室都转完,手续才基本办完,只等厂里上报人事局批准即可正式上班。以后我可以光明正大的到电脑室去用电脑,完全不用担心别人的闲话了。
第二天,我正式开始C语言编译器的设计。C语言编译器主要由六个部分组成,词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成,这里面最影响代码运行效率的是最后两步,如果能针对某种CPU优化设计,将能大幅提高最终代码的运行效果。几天下来,C编译器正式完工。为了检查编译器,我写了一些测试程序,都正常编译通过,看来编译器已经可以正常工作。为了进一步测试编译器的性能,我以后世记忆中的《挖金子》为蓝本,写了一个C语言版本的,经过编译,发现可以正常运行,用汇编语言编写的作对比,运行速度差别不大,看来这款编译器性能不错,唯一有点缺憾的是处理器性能一般,导致程序编译速度比较慢,不过还好不影响最终运行效果。
沉迷于纸上世界的赵叔偶然一抬头,发现我在玩的《挖金子》,立刻好奇的跑过来观看。
“乐行,这好像是新游戏,以前没看到过。”赵叔好奇的问道。
“嗯,是啊,我才写的。”正在思考问题的我随口回答道。
“来,给赵叔拷一份。”一张软盘伸到我的面前。
我苦笑了一下,把我的游戏盘给赵叔复制了一份,赵叔兴高采烈的拿着软盘收到自己的软盘盒里,估计是打算下午的时候去玩。
看到C编译器效果还不错,我开始对操作系统做进一步优化。首先对内存管理做了一些调整,减少了操作系统内存的占用;其次是增加了磁盘压缩功能,变相将软盘容量从160K提升到220K,这样一张软盘可以装下更多的东西。
操作系统和C编译器完工后,趁着星期日好好休息了一天,我又开始编写一个重要的软件――上的电子表格软件。
(https://www.tyvxw.cc/ty54387/9965572.html)
1秒记住天意文学网:www.tyvxw.cc。手机版阅读网址:m.tyvxw.cc