搜罗小说>其它小说>往生记>往生记 分节阅读 6
enThompson爷爷另一位是dennism.Riche老大尊称dmR。在1969年当时还是计算机的史前时代人们普遍认同操作系统是大型机的特征小型机不可能运行操作系统至于用高级语言来写操作系统那更是痴人说梦。于是执着而睿智的k爷爷与d老大怒了为了能在机器上玩游戏(这点任何计算机的前辈都深有体会)两人于197o年用汇编语言在pdp-7(一种小型机比曹长久用的dJs-13o还垃圾的多)上写了第一个版本的操作系统unIx。尔后71年k爷爷还用netIx重新写了一遍至今我等后辈真是高山仰止叹服不已。

    unix的事情咱们以后再说该说王所了。

    王所这几天觉得好像忘了什么东西人年纪大了记忆里减退也是正常。六十好几了也不退休还在主持着一项国家高性能计算机的研制工作他实在忙不过来。

    可他总觉得上面交代过一件重要的事情怎么就记不起来涅?

    想了半天终于有点印象了胡秘书送来了一个学生到这里实习自己还派了个人照应。不知道这小家伙怎么样了王所想道。

    王所原本认为长久干不了几天就会走人哪里想到这小子居然就在仓库住下了连鲁平这小子也跟着起哄。

    越想越放心不下这都一个月过去了两人却音信全无连面都不见了自己得去看看王所心想。

    来到了仓库门口王所就听见了里面噼噼啪啪的敲击声。他点点头想似乎这两个家伙都满勤奋的嘛。

    王所没想惊动他们所以就轻轻的走进去站在了鲁平的后面而鲁平一无所觉。

    眼前看到的东西让王所很有点惊奇倒不是第一次看见显示系统他只是觉得两个年轻人居然可以在小型机上做出这种成绩来是令人惊讶的。

    “咳嗯。”

    王所轻咳一声鲁平回头一看站起来说:“王所您来啦您坐。”

    “嗯你忙我就来看看。”王所笑着说对有才华的年轻人他是非常爱护的“那个小家伙呢?”

    鲁平连忙答道:“长久昨晚调试了一晚上系统回去睡觉了。”他可没敢说两人玩了一上午游戏的事情。

    “哦?”王所略感讶异“这个显示系统正在调试啊有什么问题没?”

    “不是这个。”鲁平连忙摆手“显示系统早就做好了长久同志调试的是一个磁盘操作系统功能很强大支持多任务多用户我正在给他的代码补注释。”

    “!?”王所大惊十四五的孩子给小型机写操作系统“给我看看代码!”

    “……”看了半个小时外加操作之后王所无语了掉头对鲁平说:“你确定这是曹长久――那小孩写的?”

    “这个我也不清楚。只是他自己说花了两天写代码调试了一夜就出来了。”鲁平搔搔头说“这个有什么问题吗?”

    王所摇摇头:“不管是谁写的我很佩服写这个程序的人。爱因斯坦都说数学公式必须包含美才行。你看多么简练优美的程序语句啊鲁平你得好好学学。”

    “美?”鲁平茫然这汇编语句有什么美的不就是一行行的字符嘛。

    “简单就是美!”王所下了定义。

    “?”鲁平大惑不解。

    “年轻人你没看出来吗?咱们以前写没写过操作系统程序?”

    “写过o13大型机的操作系统就是我们做的。长久这次写的系统虽然快但是功能不如我们产品。”鲁平的眼光确实独到一眼就看出了问题所在。

    “非也在我看来长久写的程序不但简练实用还有一个更大的好处就是可移植性。”王所感叹不已。

    “难道您说的是……”鲁平似有所悟。

    “不错我虽然没有深入了解不过就是看了一遍曹长久写的程序至少分了几个部分。我刚刚找到了他的核心程序那是直接契合硬件的充分挥了硬件系统的潜能所以软件的运行效率才这么高。至于其他的代码我猜是与硬件无关的仿佛是自动编译的其效率远远没有核心程序的高但也相当可观。”王所不停的翻看着曹长久的原代码说。

    “不错您不说我还真没看出来我就想着这几段代码就好像不是一个人编的怎么差别这么大。”鲁平恍然大悟。

    “依我看除了核心这段代码是汇编语言写的其它部分似乎是用高级语言写成后由机器自动编译的问题是我从来没听说过高级语言可以用来写操作系统看来这小子肚子里似乎还有不少货啊。”(  )

十三

    王所的眼光狠毒一眼就看出了其中的关键。  其实曹长久早在一年前就开始做复原c语言的工作了只不过是在纸上而已。

    以曹长久梦中所知很难有比c语言更强大、更通用的高级语言了所以他一开始就将netbsp;      还好长久梦中是做编译器研究的否则光知道c语言的语法规则还是白给没有编译器依然是一场空。虽然是纸上作业整个语言框架依然被他成功的复制出来了并对其中的缺点做了改进。

    在了计算所这段时间长久则根据这部机器的硬件特性和指令系统重写了netbsp;      有了c语言这把利器在手曹长久如虎添翼编写系统是水到渠成。虽然其间由于硬件限制曹长久不得不压缩代码缩减功能但依然成功使这个操作系统跑起来了不得不说是一件大事。

    虽然不大满意但是对于这部机器来说已然是极限曹长久也只好凑和用了。编写的过程中还有了一点自己的感悟。

    在梦中感觉编写程序完全和现在不一样不是语言的问题而是整个编程的思想。硬件条件的限制和编译程序的研究不到位逼着人们去适应机器每一步程序都要考虑如何最大化的提高效率。

    而长久梦中的情况却是完全相反充沛的源代码资源、突破的编译程序研究、相比现在几乎没有限制的硬件资源早已将人们编程的主要方向转移到了功能完备和兼容上去效率问题则完全交给了硬件。

    所以长久根本就瞧不起现代的大多数程序员因为有了这些商业化的编程工具写软件就成了搭积木根本体现不了效率二字甚至连创意也没有所有程序千篇一律。

    所以长久宁愿去做嵌入式编程也不愿用所谓的JaVa套用一个游戏界的定义大概长久就属于那一小撮“重度玩家”追求极限挑战机能效率是第一位对花里胡哨的界面和乱七八糟的功能深恶痛绝。他们把生成一个有效程序看作是一项复杂而又富有创造力的艺术活动。他们精力主要都花在克服当时计算机性能不足所引的各种障碍上所以他们对硬件都了如指掌是一群艺术家。

    可是世界上还是“休闲玩家”占了绝大多数他们是消费的主体他们喜欢漂亮的窗口可傻瓜化的操作一鼠走天下连ctr1-c、ctr1-v都不会用软件运行度不快就升级机器却不知道当年操纵计算机的男人都是自己编写硬件驱动程序的。

    曹长久有时间的时候也对自己的情况进行了思考勉强找了一个词来形容自己现在的情况——穿越?可是似乎自己也没有清晰的记忆完全不是一个人。

    不过长久倒也没把这放在心上有这些经历是一回事过什么样的生活却是他自己的事情没道理把这当成负担。

    回前身浮沉路今日方知我是我。

    所以曹长久想走一条自己的道路。

    更难得的是现在这个时代却是一张白纸可以乱写乱画这岂不是很有意思?

    ————————————————

    王所下午也不回办公室了和鲁平在仓库里一起研究代码赞叹不已。他越看越清晰也越疑惑这系统明显是分了层次有核心层、应用层等等粗略的注释也表明了这个结构。核心层决定于硬件代码量很小包含着各种最基本的操作。

    王所测试了一下效率很高典型的手工用汇编写的这个没什么疑问。其他代码就差多了在王所的这个老编译器程序员看来就是用高级语言写成再汇编的。

    看出门道来了问题是这个高级语言是什么在哪里?王所本身主持开过华夏各类计算机Fortran语言大型编译系统深知其中利弊。

    当时的计算机系统趋势是硬件越来越便宜而花在编写软件和程序排错上的费用与时间是越来越高每出一部新机器都要编写相应的软件软件开费用几乎占了整个系统的四分之三最终爆了软件危机。前苏联的计算机开就是一个例子老毛子的计算机开硬件只有十几二十个人却动员了几万人同时编写软件祸国殃民就如同联合收割机和镰刀的比拼。

    如果说高级语言就是联合收割机那汇编和机器码只能是镰刀了于是“自动编程系统”应运而生。这实际上就是一种与实际机器有不同操作码的“人工计算机”这种人工机比实际机器要容易编程但是所有这些早期自动编程系统使用起来开销过大通常它们会因此减低机器运行度5~1o倍。

    早期计算机都是用来做科学计算所以IBm就明了Fortran其英文含义就是公式翻译对科学计算有着无与伦比的优化。

    但是Fortran也有弱点就是还有着机器的特征就是说各家的计算机都有一套自己的Fortran编译系统为自己的硬件优化所以互不兼容。

    曹长久的c语言就不一样了他知道今后的计算机系统展方向不仅是科学计算还有更大的系统软件市场。这也是日后netbsp;      c语言别的好处没有就是一个能控制硬件在这点上当世无出其右者。因此c语言可以说是一个系统编程语言万金油的干活。

    王所就是不明白这一点毕竟此时的netix还在美国的大学实验室中流传还没到广为人知的地步因此二人一个下午每摸出头绪来。

    晚上王所回到家中叫了两声“长久!长久!”没人答应。王所以为长久又出去了谁知道到房间一看这小子还在睡呢。

    看来真是累了王所心想轻轻的给长久掖了掖被窝。

    不料长久眼睁开了迷迷糊糊的问道:“王伯伯你回来啦现在几点了?我好像睡过头了。”

    ——————羞涩的分割线——————

    大梦无为再挖新坑。几回想将入宫没奈何筒子们催更的书评几乎天天有越觉得自己的懒惰十分可耻。虽然心中安慰自己工作忙其实写不下去是关键。终于沉寂了几个月可见敷衍的态度要不得。

    往生记新开写好了大纲现在正往下挖因工作原因不敢保证什么大家拿砖头砸就好如果现硬伤狠狠砸。

    十分感动大家支持居然跟着看。厚着脸皮请大家多收藏最好带着宣传一下小鱼自己没脸了呵呵。

    17k好像要5万字才能上新书榜我会加快度稿子也不存了直接上!(  )

十四

    十四

    王所:“醒了也好起来吃饭了。  ”

    现熬的稀饭街上带回的葱油大饼爷俩吃的很香。

    王所问了曹长久系统的事情长久想了一下掐了头只说了这是自己没事无聊的时候想的目的就是做一个通用的系统语言能够有强大的硬件操作功能大概做了一年等等并拿出了自己写好的netbsp;      王所没说话只是拿在手里一页一页仔细的翻。

    长久不敢打扰王所只好自己闷头喝粥努力的品味这稀饭之中有什么玄机。

    良久王所放下了手中的草稿奇怪的看着曹长久问道:“不能否认这语言真的很强大但你不会告诉我你一生下来从无到有就会的吧。”

    曹长久:“当然借鉴了其他语言修改的具体甚么我也不记得了只是小时候看过一本书介绍的是一种解释型语言功能不够强大。后来没事我就试着修改加入了一些新的元素比如函数、内存直接操作等等。一步一步慢慢的到了现在这个样子我称之为c语言。您是方家给指正一下。”

    王所笑着说:“结构严谨语法规范功能强大是一种很好的系统语言用来编写系统软件再好不过了。但是你为什么叫它c难道还有B语言、a语言?”

    曹长久:“控制最主要的是要像高级语言那样好用又要有汇编那样的效率控制硬件必不可少我追求的是一种在程序员控制之下的高效易用的计算机语言所以我叫它netbsp;    王所叹道:“原来是这样本来我只是以为你有点灵气是个可造之才还想让你先学习几年。现在看来你可以出师了。居然写出了一种新的高级语言这是了不起的成就。对了编译器的问题你怎么解决的?”

    曹长久老实答道:“在计算所自己写的针对硬件做了一点改动在磁带里存着呢。”

    王所:“这东西你自己一个人写的?少年可畏你怎么写的跟我讲讲。”

    曹长久就跟王所讲了自己写高级语言编译器的心得体会和c的一些技术特点王所听着