Wednesday, October 25, 2006

Geek?——$

我在国内的时候,经常跑到图书城去看书,后来看的书电脑方面的居多,当然图书城也是这方面的书最多。

有一阵国林风来了一批微软原版,其中我见到了一些传说中的书。比如Windows System Programming,这本书是Walter Oney写的,这家伙一直都在windows驱动程序领域灌水。了解windows,需要了解的就是驱动程序的工作机制。windows驱动那时候是VxD(virtual device driver虚拟驱动程序)时代,和后来的WDM(Windows Driver Model)比起来,VxD的最大问题在于它必须以汇编为基础,原因在于win95和98在体系结构上,是混合了16位和32位的系统,尽管给应用编程人员提供的是一个32位编程环境,骨子里很多服务还是由16位的程序提供。所谓虚拟驱动程序,正是说这一过程,由驱动截获应用程序的请求,然后要么自己花差花差,要么交给16位的驱动,从而给应用程序一个虚拟的环境。这样的切换,以及初始化之类的工作,都不能通过C编程实现,所以VxD即便主体部分可以用C写,汇编还是少不了,而且切换的时候需要考虑的细节很多。因为这些原因,VxD的编程很困难。更困难的是这个领域内合用的参考书凤毛麟角。

Windows System Programming就是属于凤毛麟角的这么一本书了,当时我发现了这个宝藏,每天都跑到书店去发掘之。两个月下来,书被看了一半,可是这时候我需要回家了,因为我毕业了。当时真是比较痛苦地犹豫着,那本书被我翻得黑了一半,实在是很不好意思。更让我踌躇的,是这本是我迄今仅见的唯一一本VxD的比较及时的资料,我怕我回去这一阵会被人买走了。于是结果就是我把它给买下来了,怀着深深的负罪感抱着书回家了。至今我都不知道我父母看到我花这么多钱买本书是什么想法,总之当时他们看我那么喜欢看,什么都没说。

有一件挺可惜的事情。我那次回家后想到学校有扫描仪,决定把中学的毕业照带到学校去,以便扫描了放到网上去。怕自己忘了,我就用这毕业照做书签,看书的时候夹在书中。就这样,开学时把照片带到了学校。后来出国的时候,我有一堆书需要处理,对于喜欢的书,我更希望能送给一个可以发挥它价值的人,而不是卖掉它。于是我出国前就把它送给了我这样的一个同学。问题是,我忘了我的中学毕业照还夹在其中,连毕业照一起给他了。这同学是真正的geek,绝对没心没肺的那种,我的塑封的毕业照,恐怕是保不住了。现在我这里留着的只有一张很不清楚的数码版。

____

Geek系列还有6篇呢(包括%^&*()),任重而道远啊。

0 Comments:

Post a Comment

<< Home