天下无难事,唯坚忍两字为成功之要诀——黄兴。
所以,困难犹如一块石头,你一锤子砸下去,如果石头不碎,那就第二锤、第三锤......直到石头被砸碎为止!
大家都去吃晚饭了,但我没有同去,而是静心寻找其死机的原因,因为我这个人有个特点,就是遇到问题了,宁可不吃饭也要先把问题找出来。
很快,我找到死机的原因了,而就在此时,大伙吃完饭回来了。
“x,你怎么没有去吃饭啊?!”to一进门,就冲我嚷道。
现在我已经变成了他最关心的人了,因为展会上是我说的:明天会给出答案,而我这个人的信誉很好,平时从不作任何无法兑现的承诺,因此to自然把“宝”压在了我的身上。
更重要的是:找出问题不是关键,关键在于是不是能在虽短的时间内解决问题,因为如果不能解决“死机”的问题,那么at≈t肯定是不会看上这样有问题的产品的。
那么to原本希望通过lunx的cd系统在ofc的首秀来推动公司下一轮的融资和未来的纳斯达克上市的计划显然要落空了!
然而,我并没有向to解释为什么我没有去吃晚饭,而是对大声地对大家说道:“我发现造成‘死机"的原因了!”
大家一听我找到问题了,都兴奋地围了上来。
to更是迫不及待地问道:“hathappened?(什么原因)”
在所有的人中,to的心情最迫切,因为他是lunx的创始人,成功了,他的收益最大,失败了,他承受的压力自然也最大!
“因为负责下载更新软件的启动程序被冲了!”我看了一眼焦急地看着我的to,简短地对大家说道。
“hoan?!(怎么可能)”大家听我这么说,就几乎异口同声地失声问道。
因为在大家的认知里,启动程序是不允许更新的,且软件中也没有任何代码会把下载的内容写到启动程序的存储空间中去。
“因为断电造成的干扰!拔电源时,是一个机械动作,即电源插头和插座的连接并不是像刀切那样被一刀两断,而是会在断开和重新连上之间进行机械震荡,这是为什么有时候我们拔电源插头时会看到火花的原因。”我先为大家做了一个关于机械开关在开关时会发生什么的科普。
“而正是这个机械震荡,在光通信系统的电源中形成了一个脉冲干扰,如果这个干扰足够强,且又正好发生在往固态存储器中进行写操作的过程中,那么就有可能会搅乱了微处理器在进行固态存储器的写操作时的机械开关在开关的过程中会产生机械震荡是一个常识性的问题,但未必每个人都清楚这一点可能造成的后果,于是我向大家详细解释起了整个电源干扰发生的过程和造成的后果。
实际上,这样的问题我遇到不是一次了,差不多十年前,在everin.,当时的高分辨率显卡随机出现死机问题,就是因为电源开关时的机械震荡形成的脉冲干扰导致的。
大家一听,信了,也服了。因为我讲的并不是什么深奥的东西,大家一听自然明白,只是你听别人讲能明白,要自己想出来那又是一回事了,这要看你的经验是否足够丰富了。
作为一个工程师,经验是非常重要的,而经验的获得,唯有通过解决一个个的疑难杂症才能获得,而我喜欢接受挑战的性格,这让我比一般的美国工程师更快和更多地积累了经验。
“解决的方法也很简单,那就是把启动程序单独放到一个ro中,这样无论发生什么情况,都可以保证启动程序不受影响。”我见大家听明白了,就把解决问题的方法说了出来。
()
“fantasti!(太神奇了)”to一听这么简单,原本紧锁的眉头舒展了开来,带头鼓掌道。
但大家高兴了还不到一分钟,马上又发现新的问题了。
“aitainute!(等一下)”to的眉头又重新紧锁了起来,说道:“这是不是意味着我们必须修改整个光通信模块的硬件设计和软件系统的结构?”
硬件要改,那是自然的,因为原来的设计中没有这么一个单独的ro存在。
软件结构要改,因为原来启动程序是整个光通信模块中的软件系统的一部分,并不是完全独立的,现在要独立出来,这样一来,启动程序和控制管理程序之间就存在一个控制权转移的问题,这就要改软件系统的结构了,而软件系统最怕的就是改结构。
大家一听to这么说,也傻了,因为ofc只有短短的一周时间!
包括at≈t的人明天还要看结果呢!而at≈t是通信行业内最重要的客户。
所以,如果不能在最短的时间内解决问题——最好是今晚就解决,否则这次ofc等于白来了!
“只需修改软件的框架,而硬件则不用改,只需把其中的一片kb固态存储器改成kb的ro就行了,因为两片kb的固态存储器我只用了其中的一片,还有一片完全空着没用。”我听to问到是不是要改硬件设计,就摇摇头说只需改软件,硬件可以不用改。
原来,每块光通信模块都有kb的存储空间,由两片kb的固态存储器构成。
由于我当年是从只有kb存储空间四位微处理器起步的,因此已经习惯了尽可能地优化和压缩代码,所以kb的存储空间我只用了其中的kb的空间。
换句话说,还有一片kb的固态存储器完全空着,因此只需用一片kb的ro来简单替代就行,因为固态存储器和ro的管脚排列是一样的。
to一听硬件不用改,只需改软件,不禁转忧为喜,因为如果要改硬件,那铁定明天是完成不了的,而如果只改软件,那就还有可能,于是他看了一下手表,对琳达说道:
“ok!琳达,你马上打电话通知robinson,让他马上去仓库,拿上几片kb的ro,连夜开车送来ofc!”
robinson是lunx公司中负责仓库管理的经理。
这时大家的目光都集中到了琳达身上,因为大家仿佛都看到了希望,因为这是唯一的解决方法,而琳达目前是代理项目经理,因此自然应该是由她去负责协调此事了。
“aitainute!(等一下)”就在大家认为问题解决了的时候,突然一位前来为ofc保驾护航的硬件工程师发言了:“仓库中没有kb的ro,因为我们从来都是只用固态存储器,不用ro!”
这位硬件工程师说的没错,因为ro是一次性写入的,如果要修改程序,那只能换一片新的ro,这样就太浪费了,因此在进行硬件设计时,选择了固态存储器,没有选择用ro,所以仓库中自然不会有ro了!