登陆注册
13420900000004

第4章 软件分析

研究一台电脑最方便的办法当然是从随机软件和资料开始,张乐行首先把目标放到了随机软件之上。顺手从软盘盒内把随机软件一张张抽出来仔细看,这时候的软盘还是5英寸的大盘,根据软盘上的标签来看,这堆软盘中包括两张AppleDOS盘、一张VisiCalc电子表格软件、一张看起来像是字处理软件的盘,让他没想到的是居然还有几张游戏盘,真不知道这电脑怎么买回来的。

按照习惯张乐行先试了一下游戏盘,毕竟现在还只是80年,游戏画面那是非常的简陋,看惯了后世绚丽游戏画面的他,乍一看Apple-II上简陋绿色栅格构成的游戏画面还真不习惯,好在这里面居然还有一个貌似有些熟悉的游戏《HEADON》,虽然画面是非常简单,但玩起来却有一种吃豆子的感觉。

简单研究了一下游戏盘后,张乐行又把AppleDOS拿出来研究。这系统相当古老,靠着随机手册,张乐行才搞明白这时候列目录的命令不是DIR,而是CATALOG,而且AppleDOS操作系统还比较简陋,能实现的功能不多,就连目录也不支持,文件管理功能也基本等于没有,实质上只能算是个磁盘操作的接口而已。张乐行记得似乎还要过几年才会出现一个功能比较强的ProDOS,那时候苹果II上才算有了真正的磁盘操作系统。

简陋的AppleDOS,陌生的命令行,让张乐行终于受不了了,他想起自己曾设计过的那个操作系统来,依靠前人的经验教训和众多网友的热心支持,这套历经多次优化的操作系统可以说是苹果II上功能和性能最强大的。虽然经过这么久,但长达三十六次的优化让张乐行对操作系统的源代码记忆犹新,既然眼下有时间,手头的AppleDOS又不好用,张乐行决定马上动手写出来。

完整的源代码比较长,经过最终优化后的核心代码有大约1500行,张乐行认真回想了一下,熟悉的代码很快从脑海中浮现出来,他呼了一口气,开始按照记忆录入代码。两个多小时过去,代码的输入完成了,张乐行认真核对一遍并修改了几处打错的地方,感觉应该没什么问题了于是马上存盘,然后将软盘的引导区作了修改,以便软盘启动后能顺利引导新系统。

重新启动电脑,张乐行趁着系统启动的空隙,揉了揉有些酸胀的胳膊,动了动有些僵硬的手腕。身体活动开了,新系统也读完盘开始启动,很快屏幕上出现了一个“LOGIN:”的提示符,张乐行输入默认的用户名和密码后,一个崭新的命令行出现了。

这个新的操作系统是根据后世常见的一些磁盘操作系统来设计的,可以支持磁盘、支持层次型目录,提供文件管理功能,有内存调度功能,还能实现多任务(例如在运行文字处理软件时需要某些数据,可以通过驻留的管理程序调出需要的其他软件,查出来后又可以切换回文字处理软件)。不过现在系统功能还不完整,暂时只完成了内核部分的代码,还需要增加一些辅助程序,而且试运行过程中发现了一些小Bug,看起来也许是模拟器和实机有差距的缘故,系统还需要做进一步的调试和优化。不过这款操作系统名字张乐行倒是已经想好了,打算用好事者们起的那个名称Kylin。

凝聚着众人心血的Kylin系统穿越了厚重的时空,出现在这个苹果II还是如日中天的时代,张乐行的人生也开始有了细微的变化。

接下来的日子里每天的行程都安排的很紧密,张乐行天天泡在电脑室,上午的时间用来优化调试操作系统和为操作系统增加一些辅助程序,下午的时间则用来指点赵叔使用苹果II和翻译《BASIC使用指南》。一个星期过去,张乐行的操作系统Kylin基本完工,赵叔也学会了苹果II的初步操作,还能利用苹果II上的ROM-BASIC编点简单程序,当然写代码的时候常常还需要看看张乐行写的手抄简化版BASIC使用手册。

“乐行,不错嘛,这才个把星期就弄出一本手册来,赵叔会用这新机器可全靠你呀。”赵叔边翻BASIC手册边感谢我。

张乐行对赵叔摆摆手,谦虚道:“没什么的,我其实也是看了随机资料才写出来的,那上面其实挺详细的,我只是捡重要的地方翻译了一下而已。”。

“我觉得你挺不错的,起码比厂里那两个大学生有本事多了,他们就啥也弄不明白。”赵叔笑着说道:“我看你挺喜欢计算机的,有没有兴趣过来帮赵叔的忙。”

“赵叔,这能行吗?我才多大,厂里能让我进?”张乐行心里很高兴,嘴上却故意表现出一些怀疑。

“没事,你本来就是厂里的家属,厂长是我以前的战友,赵叔帮你去说说,准没问题,包在赵叔身上了。”赵叔拍拍胸口,算是把这事担下来了。

“赵叔,那这事可真麻烦您啦。”张乐行感谢道。

……

过了两天,张乐行感觉用汇编写的程序可移植性不太好,而BASIC写的程序运行速度又太慢,不由的开始怀念起自己比较擅长的C语言来,可惜苹果II上没有,好在张乐行对标准C很熟悉,他决定自己动手来解决这个问题,于是张乐行有了新的开发任务——为操作系统增加一个C语言编译器。因为C语言拥有良好的可移植性,这样张乐行编写的很多代码换到新电脑上可以很容易就可以利用起来,修改量一般不会太大,毕竟明年IBM-PC就会发布,虽然国内好像要到85年左右才开始引进,要知道这可是未来几十年的平台,可不是苹果机能比的。

快到中午时,沉浸在C语言世界的张乐行还在努力地堆着代码,赵叔突然满脸兴奋的冲进电脑室来,拉着张乐行的手就往外走,边走还边乐呵呵的说道:“乐行,走,赵叔带你吃午饭去。”。

到了厂里的食堂,心情相当不错的赵叔比平常多打两个菜,油汪汪的红烧肉炖豆角干,看着就让人眼馋,张乐行的食欲也比往常好了很多。打完饭菜,赵叔拉着张乐行来到一个靠墙的餐桌,放好饭盆和菜盆,赵叔开始边吃边聊。

“这两天我去找厂领导了,把你写的这个BASIC手册拿出来一摆,当时就把人镇住了。再加上我把你这段时间的一些情况往好了说,蘑菇了两天,总算把这事办下来了。乐行,以后你就算是厂里的职工了,工资每月八块五,另外考虑到你的情况,厂里再每月补助四块。今后你就跟赵叔一个地方上班了,下午我带你去办手续去。”赵叔解释道。

听到这,张乐行心中十分高兴,自己最紧迫的问题终于得到解决,当然他没忘记感谢赵叔这几天的努力。

吃完午饭,赵叔带着张乐行到厂里办手续,一下午转下来,人事科、档案室、财务室……,差不多把所有办公室都转完,手续才基本办完,只等厂里上报人事局批准即可正式上班。以后张乐行终于可以光明正大的到电脑室去用电脑,再也不用担心别人说闲话了。

第二天,张乐行正式开始C语言编译器的设计。C语言编译器主要由六个部分组成,词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成,这里面最影响代码运行效率的是最后两步,如果能针对某种CPU优化设计,将能大幅提高最终代码的运行效果。几天下来,C编译器正式完工。为了检查编译器,张乐行写了一些测试程序,都正常编译通过,看来编译器已经可以正常工作。为了进一步测试编译器的性能,张乐行以记忆中的《挖金子》为蓝本,写了一个C语言版本的,经过编译,发现运行相当正常,和用汇编语言编写的作对比,感觉运行速度差别不大,看来这款编译器性能不错,唯一有点缺憾的是苹果II处理器性能很一般,结果程序的编译速度比较慢,不过好在不影响最终的运行效果。

沉迷于纸上BASIC世界的赵叔偶然一抬头,发现张乐行在玩的《挖金子》(其实张乐行只是在对比不同语言编写出来程序的运行效率),立刻跑过来观看。

“乐行,这是什么玩意,看起来好像很有趣的。”赵叔好奇的问道。

“嗯,这是游戏,我才写的。”正在思考问题的张乐行随口回答道。

“来,给赵叔拷一份。”一张软盘伸到张乐行的面前。

张乐行回过神来,苦笑了一下,利用自己编写的磁盘对考工具把游戏盘给赵叔复制了一份,赵叔兴高采烈的拿着软盘收到自己的软盘盒里,估计是打算下午的时候去玩。

看到C编译器效果还不错,张乐行开始对操作系统做进一步优化。首先对内存管理做了一些调整,减少了操作系统内存的占用;其次是增加了简单的磁盘压缩功能,变相将软盘容量从160K提升到220K,这样一张软盘可以塞下更多的东西。

操作系统和C编译器完工后,趁着星期日好好休息了一天,张乐行又开始新的目标对准了随机软件中的VisiCalc电子表格软件。

同类推荐
  • 沉世轮

    沉世轮

    茫茫大千,芸芸众生。世有大能,能沉世轮。陈潇偶然得到了一枚戒指,这一刻他才知道,他的世界由万千支离破碎的平行时空组成,而他“陈潇”也已存在于每一个时空。也许是一个流落街头的乞丐,亦或许是万人敬仰的帝皇,杀了“自己”,陈潇就能得到他的一切。问题是,他敢吗?你,敢吗?
  • 成余晖之请回答

    成余晖之请回答

    请回答1988没有主角,每一个人都是主角第一视角是德善和阿泽的爱情故事成宝拉和成善宇承包了全剧最多的吻戏金成焕爱而不得,赚了一公升的眼泪金正峰的人生有自己的快乐,去做让自己不睡觉也想要做的事可我最喜欢成余晖,他其实是双门洞除了崔泽之外最耀眼的明星。我在他的身上看到了自己的影子,希望他,也希望我们每一个人善良努力不被看轻
  • 神知世界

    神知世界

    所谓王道:只要你乖,我就不碾压你。所谓霸道:就算你乖,我想碾压你就碾压你。所谓人道:在碾压你之间,我会给你说一声抱歉。所谓天道:任何时间地点,只要我想,一切尽在我手。就算只有神知道的世界,我也要插上一脚。看尽人生百态,享尽世事铅华。
  • 我,来自地狱

    我,来自地狱

    梦想家只能在月光下找到前进的方向,他为此遭受的惩罚是比所有人提前看到曙光。罗曼斯,一个极度邪恶,极度变态的人,在机缘巧合之下获得一股极其黑暗的力量。他是要毁灭世界,还是要拯救世界?或者他只是自私得想要把自己的想法强加给整个世界。或者,仅仅只是为了那种决定性的东西,那就是戏剧化!罗曼斯:“我来自地狱,要去往天堂,正路过人间......”【孩子,别追了,这个司机爱飙车,有生命危险,等下一辆吧】
  • 当同居分外眼红

    当同居分外眼红

    ````好吧!对不起!太监了~```
热门推荐
  • 我的傻猪骑士

    我的傻猪骑士

    一代豪门公子哥,校园风光正流时,神秘组织突然出现,家族企业遭毁,父亲竟是组织一员?惨遭落魄后,巧遇神秘人帮助,身获异能,各路好友来相助。酷酷打手总救险,孤傲少女撑场子,神秘少年暗出手。惨遭重重惊险,为救妙女,耗尽精力,独傲天下。我的骑士,你的公主,等你来救!
  • 被迫成为创世神

    被迫成为创世神

    我是一个做手办的宅男。有一天我在做手办的时候,接到了一个电话。好像是让我去拿什么东西!就在我走出房门的那一刻!我突然想起来什么!可是等我回头的时候已经来不及了!那我只好撂挑子不干了!毕竟这个创世神的名额原本就是买来的。现在让给你了!来自隔壁位面的小子!祝福你!?(????`)比心————上一任创世神留
  • 斗罗大陆之不灭剑神

    斗罗大陆之不灭剑神

    你见过一个人三生武魂吗?你见过一个武魂有十把剑吗?你见过随机到的龙神武魂吗……
  • 清绝贵女之恣意天下

    清绝贵女之恣意天下

    他和她是青梅竹马,自以为觅得良人,一朝登基却灭她满门!含恨而死却发现自己重生在十四岁,斩断过往,重新开始。却发现前世温润如玉的三皇子,却是个披着羊皮的狼。不知不觉住在她心里,取代不了的位置。保护即墨府的过程里却逐渐得知了什么不得了的秘密……十年前究竟发生了什么……皇族费尽心思又在掩盖什么……看她如何在波谲云诡的算计里全身而退,看她如何搅弄这风云!
  • 宠婚晚成:首席老公,情难自禁

    宠婚晚成:首席老公,情难自禁

    一夜之间,她从清纯少女变成未婚妈妈!只不过,这个孩子才出生不久就被告知死亡。三年后,神秘雇主再度现身,又一次逼她做豪门生子工具。那日车里,她伪装醉酒主动献身。事成之后仓皇而逃。不想翌日,昨晚和自己春宵一刻的陌生男人竟然摇身一变成了自己的顶头上司。她被他逼上电梯,男人的眸深邃且意味不明,“我们是不是在哪里见过?”她屏住呼吸连连摇头,“没见过,绝对没见过!我保证昨晚车里的那个女人绝对不是我……”
  • 妖尊宠夫:将军很妖孽

    妖尊宠夫:将军很妖孽

    车祸后本该投胎转世的她,最后却和黑白无常订下契约,重生于另一个时空,而重生后的她却成为妖界之尊且和绝美妖孽的他来往于人、魔、妖、冥四界之间。这对羡煞旁人的腹黑夫妇从相虐到相爱上演着诸多精彩戏码连绵不绝。
  • 御封米虫

    御封米虫

    人生,看似平凡却非凡,天下,看似太平却暗涌,命运,看似无意却有意。她,因为糊涂阎王的失误,在陌生的世界游荡了上百年,才终于再世为人,但,嫁娶之时竟不知新郎姓名,而,嫁往夫家途中却又意外遭劫……情节虚构,切勿模仿。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 仙门遍地是奇葩

    仙门遍地是奇葩

    原来仙门竟是这般不以为耻,当真是脸皮厚到极致。师傅喜欢徒弟,徒弟却为魔界鬼祭哭得死去活来。好一个郎艳独绝,遗世独立的灵澈仙人。又好一个不知羞耻,仙门之辱的徒弟。不愧是仙门之境,遍地奇葩,魔为仙成仙,仙为魔堕魔;不疯不魔,不魔不仙(ps:纯属瞎七八扯,毫无逻辑。)
  • 大小姐的私人保安

    大小姐的私人保安

    身怀绝世武功,你不去扬名立万,居然窝在这里当个小小的保安?