与硬件制造同步进行的,是软件的开发。
在另一间被改造成机房的厂房里,三台与“玄鸟”同源的“星河”系列大型计算机,正发出低沉的轰鸣。这里是林舟的“主战场”。他带领着一支由十几名年轻程序员组成的软件攻关小组,日以继夜地编写着“星火协议栈”的底层代码。
这个时代,还没有高级编程语言,一切都得用最原始、最晦涩的机器码和汇编语言来完成。程序员们的工作,是在一张张打孔卡片上,用特定的编码规则打出一个个小孔。一行代码,就是一张卡片;一个复杂的程序,往往需要数千甚至上万张卡片。
卡片打好后,要小心翼翼地送入读卡机,编译,然后在计算机上运行。任何一个微小的错误——打错一个孔,或者卡片顺序弄反一张——都会导致整个程序的崩溃。调试的过程更是痛苦不堪,面对着打印机吐出的、天书般的十六进制内存转储信息,程序员们需要像侦探一样,从中寻找出那个致命的“BUG”。
林舟几乎是以机房为家。他常常连续几十个小时不合眼,双眼布满血丝,面前的茶缸里泡着能苦掉舌头的浓茶。他不仅要编写最核心的路由算法和数据校验模块,还要负责将整个庞大的软件系统分解成一个个独立的任务,分配给组员,并随时为他们解决遇到的难题。
年轻的程序员们都对林舟佩服得五体投地。他们发现,无论多复杂、多诡异的程序错误,到了林舟手里,似乎总能被他一眼看穿本质。他那颗大脑,仿佛就是一台性能更强大的、可以进行逻辑推演的“活体计算机”。
在无数个不眠之夜后,硬件和软件终于迎来了交汇的时刻。
第一台“星火一期”网络交换器的原型机,被郑重地推入了机房。它是一个其貌不扬的铁灰色机柜,比冰箱略大,正面是几排状态指示灯和一排用于连接专用线路的粗大接口。当电源被接通,机柜内部的风扇开始旋转,发出一阵悦耳的嗡鸣。
林舟亲自将写有“星火协议栈”核心程序的几大箱穿孔卡片,依次送入“星河一号”计算机的读卡机。数万张卡片在机械结构的驱动下,沙沙作响地被吞入,仿佛在吟唱一首古老的歌谣。