探索Windows的内部机制所需的基础

王朝system·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

探索Windows的内部机,分析Windows各种系统机能的实现方式,并不那么难。只要有一定的基础就可以开始这方面的学习。以我的学习经历来说,我觉得在开始深入学习Windows之前,最好有如下的基础:

1. 熟练使用C语言 你至少要对C中的指针了如指掌,知道如何使用指针访问数组。知道数组并不是仅可通过下标来访问的。如果你看过很多遍《C缺陷和陷阱》并认为这本书很棒。那就太好了。

2. 一定的汇编基础 了解基本的汇编语句,对x86架构的汇编指令有基本的了解。如果在学校认真学习过汇编语言这门课,那么就足够了。在深入学习Windows时,你会遇到不少汇编代码,很多时候你需要使用一些工具来反编译一些东西,此时你汇编水平的高低就直接有影响了。

3. 对Windows API很熟悉 可以直接用API开发小规模的程序,了解Windows的消息机制,至少要看过《Windows程序设计》(上、下),如果深入学习过《Windows核心编程》那就更好。

4. 掌握基本的数据结构 至少应该达到能很容易的用C实现一个双向链表吧?基本上掌握了《数据结构》这门课,就差不多了。否则,学习中遇到的很多复杂结构,将会使你陷入云雾里,不知如何下手。

5. 学习过《操作系统》 对处理器调度、虚拟内存、I/O设备管理有基本的认识。知道什么是中断,引入中断的目的对CPU的工作方式有基本了解。这门课算是总的理论基础课了。你对这门课的掌握程度将直接影响你的学习进度,尤其是你要看《Windows Internals 4th》这本书时。

6. 对面向对象有一定的了解

上面是一些基本的硬性要求,下面的是一些软性要求:

1. 要经常问:为什么? 没有质疑的精神,探索从何而言?

2. 要有耐心 学习是一个较长的过程,探索Windows内部时,有时确实让人很有挫折感,这时千万不要急躁,耐心才能保证你终有所成。

3. 要细心 这个。。。。不用说了吧?

4. 要多思考 不要把书中内容当作金科玉律。

5. 要多总结 这样知识才能变成自己的。

当然,有一本好书,也是必须的。我推荐如下:

《Inside Windows 2000》或者《Windows Internals 4th》

《Undocumented Windows 2000 Secrets》

或许有人认为没有必要探索Windows的内部机制,这个问题仁者见仁、智者见智,不过我相信你如果对Windows的内部机制有很深的了解,那么你一定能写出更高效、更能利用系统优势的程序来。并且,当程序出现Bug时,我相信你更有把握解决它们。知其然,而不知其所以然的感觉,确实很糟J

上述仅是个人所见,不足之处还请多多指教。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航