第350章 昆仑系统
第350章 昆仑系统 (第1/2页)1983年5月,北京。
中关村新楼三层最东头那间屋子,门口连块牌子都没挂。
窗户朝东,早上太阳一出来就晃眼,下午又晒得跟蒸笼似的。
但王溯不在乎这个。
他站在屋子中间,看着眼前这几个人。
胡志远,坐角落那台机器前,头发还是乱糟糟的,眼镜片厚得像啤酒瓶底。
来了一多月了,说的话加起来不超过一百句。
李卫国,二十八岁,软件组最早的骨干之一,话多,手快,一个人能顶三个用。
还有两个新面孔。
一个叫刘春生,二十五岁,北大数学系毕业的,去年分来的;一个叫孙晓梅,二十四岁,唯一的女生,清华计算机系的高材生。
五个人,五台机器,一间朝东的屋子。
这就是操作系统的全部家当。
“人都齐了。”王溯开口,“咱们开个会。”
胡志远没动,继续盯着屏幕。
李卫国拉过一把椅子坐下。刘春生和孙晓梅站在旁边,等着。
王溯走到黑板前,拿起粉笔,写下两个字:
“昆仑”
“这是咱们的系统,叫‘昆仑’。”他转过身,“这名儿,是赵总工起的。”
胡志远的头抬了一下,又低下去了。
李卫国念出声来:“昆仑……挺有气势。”
王溯点点头。
“咱们的任务,是在这儿,从零开始,写一个操作系统。”
他看着那几个人。
“不是改别人的,不是抄别人的,是自己从头写的。内核、文件系统、内存管理、进程调度、设备驱动、用户界面——全得自己写。”
屋里安静了几秒。
刘春生举手。
“王组长,我问一下,咱们为什么要自己写?不能改别人的吗?”
王溯看着他。
“改谁的?”
刘春生想了想:“CP/M,或者……那个刚出来的MS-DOS?”
王溯摇摇头。
“改不了。”
他从桌上拿起一沓资料,递给刘春生。
“这是咱们的硬件架构。跟别人的不一样。别人的系统,跑不了。”
刘春生翻着资料,没说话。
孙晓梅开口。
“王组长,咱们有多少人?”
“五个。”
“时间呢?”
“不知道。可能三年,可能五年。”
孙晓梅沉默了几秒,然后点点头。
“行。”
王溯看着她。
“你不怕?”
孙晓梅摇摇头。
“怕什么?干就是了。”
王溯笑了。
他转向胡志远。
“老胡,你说两句?”
胡志远抬起头,看着他。
“说什么?”
“说点……鼓励的话?”
胡志远想了想。
然后他转回去,继续盯着屏幕。
“代码写出来,就是鼓励。”
王溯愣了一下,然后笑了。
“行。那就不说了。”
他走到那台机器前,坐下。
把手放在键盘上。
“第一行代码,谁来写?”
没人说话。
王溯看着屏幕,沉默了几秒。
然后他敲下了第一行。
那是一个注释:
“/*KUnlUnOS-kernelStart*/”
屋里安静极了。
只有键盘敲击的声音,噼里啪啦,一下一下。
胡志远的嘴角,翘了一下。
没让别人看见。
第一个月,最难熬。
五个人,五台机器,每天从早上八点干到晚上十二点。饿了就在机房吃,困了就在椅子上眯一会儿。
王溯买了五张折叠床,靠墙放着。谁实在扛不住了,就躺一会儿。但很少有人躺。躺下去,脑子里还是那些代码,翻来覆去睡不着,还不如起来接着写。
胡志远最拼。
他每天来得最早,走得最晚。有时候王溯早上七点半到,他已经在那儿了。问他几点来的,他说六点。问他晚上几点走的,他说不知道。
李卫国悄悄跟王溯说:“老胡这人,不是人。”
王溯瞪他一眼。
“我说真的。”李卫国压低声音,“他一天能写我三天的量。而且bUg少,基本上写完就能跑。他是怎么长的?”
王溯看着胡志远的背影,没说话。
但他心里清楚。
这人,是真喜欢写代码。
不是当工作,是真喜欢。
刘春生和孙晓梅也拼。
两个新人,刚来就赶上这种强度,谁也没叫苦。刘春生负责文件系统,天天抱着那本《数据结构》翻,翻烂了还在翻。孙晓梅负责内存管理,遇到难题就追着王溯问,问完了自己琢磨,琢磨通了就写,写完了再问。
有一天晚上,王溯十一点多要走,看见孙晓梅还趴在桌上,对着一屏幕代码发呆。
“晓梅,还不走?”
孙晓梅抬起头,眼睛红红的。
“王组长,这个bUg,我找了一天了,没找着。”
王溯走过去,看了看屏幕。
是一个内存分配的问题。代码看着没问题,但跑起来就死机。
他坐下来,一行一行看。
看了二十分钟,他指着一行代码。
“这儿。”
孙晓梅凑过去看。
“少了一个判断。”王溯说,“边界条件没处理。”
孙晓梅盯着那行代码,愣了几秒。
然后她一拍脑袋。
“对!对啊!我怎么没想到!”
她抬起头,看着王溯。
“王组长,你太厉害了。”
王溯笑了。
“不是我厉害。是你太累了。回去睡觉,明天再看。”
孙晓梅点点头,关掉机器,站起来。
走到门口,她忽然回过头。
“王组长,咱们这个系统,真能做成吗?”
王溯看着她。
“你觉得呢?”
孙晓梅想了想。
“我觉得能。”
“为什么?”
孙晓梅指了指胡志远的座位——人早就走了,但桌上那沓打印纸还摊着,上面密密麻麻的代码,每一行都写得整整齐齐。
“因为有老胡。”她说,“还有你。还有我们。”
王溯愣了一下,然后笑了。
“那就做下去。”
第二个月,出了事。
那天下午,王溯正在调试一段代码,忽然听见李卫国喊了一声。
“坏了!”
他抬起头。
李卫国盯着屏幕,脸色煞白。
“怎么了?”
李卫国没说话,只是指着屏幕。
王溯走过去一看,心里咯噔一下。
屏幕上,一行红字:
“FATAL:KERNELPANIC”
内核崩溃。
整个系统,死了。
“怎么回事?”王溯问。
李卫国摇头。
“不知道。我刚加了一段代码,编译完一跑,就成这样了。”
王溯坐下来,开始查。
查了一个小时,没查出来。
刘春生过来帮忙,又查了一个小时,还是没查出来。
孙晓梅也过来,三个人一起查,又查了两个小时。
天黑了。灯亮了。
还是没查出来。
李卫国坐在那儿,脸色越来越难看。
“王组长,是我写崩的。我……”
“别急。”王溯打断他,“代码是人写的,bUg也是人写的。找出来,改掉,就行。”
他又低下头,继续看。
九点多,门开了。
胡志远走进来。他今天出去办了点事,下午不在。
看见几个人围着屏幕,他愣了一下。
“怎么了?”
王溯抬起头。
“内核崩了。找了一下午,没找着。”
胡志远走过去,在李卫国旁边坐下。
“最后一次提交是什么时候?”
李卫国报了个时间。
胡志远调出代码,开始看。
看了十分钟。
他指着屏幕。
“这儿。”
几个人凑过去看。
一行代码,看起来没什么问题。
“这儿少了一个括号。”胡志远说,“语法上没错,但逻辑不对。编译能过,跑起来就崩。”
李卫国盯着那行代码,看了半天。
(本章未完,请点击下一页继续阅读)