2009年9月 的存档

国庆

    明天就回家了,说来惭愧出来这么多年了从来没有往家里带过东西。而今年回家算是带点把。虽然不是自己买的。

    昨天忽然听杲杲说要和我一起回家。也许是太高兴了吧。竟然醒了,发现不过是梦一场。

   今天上黑客手册论坛,忽然发现十月份的杂志出来了,虽然没有目录,但是却在封面上看到了自己的两篇文章。如果编辑没有删掉其中的那些话的话,我相信你是看得到的,看得到的。

09092914486b7b590609b5d3e1

驱动开发学习笔记(3-8)–Four-F的驱动开发教程-后备列表

在这里下载本文的源代码

7. 后备列表

本篇翻译:songsong <http://www.songsong.org>
源代位置:KmdKit\examples\basic\MemoryWorks\LookasideList

我回来了,对门的那个白人MM听说我是黑客(其实长得黑而已)对我特崇拜,差点要以身相许,幸亏咱意志坚定……
好了,我们开始最后一节了,你能读完并理解,你就是高手了……

阅读更多…

驱动开发学习笔记(3-7)–Four-F的驱动开发教程-系统内存堆

在这里下载本文的源代码

6. 系统内存堆

本篇翻译:songsong <http://www.songsong.org>
源码位置:KmdKit\examples\basic\MemoryWorks\SystemModules

首先是罗云彬的废话:感谢刘松一起参与这个翻译项目,这样本教程的中文翻译才能这么快和大家见面,刘松是温哥华的帅哥作家,著有《GRE Yellow Bible》(《GRE词汇黄宝书》),文风幽默,看他的翻译,使大家看枯燥的驱动教程如同看泡妞教程,于轻松间掌握繁琐的东西。原本这也是本人梦想中的写作风格,可惜本人多年努力,除了外貌长得还是一如既往的幽默外,文字中还是幽默不起来,没办法哟~~~,好了,废话少说,下面请刘松出场。
(稀稀落落的掌声)……
……
我是温哥华的松松,被罗大哥抓来翻译文章,几个MM还等着我去酒吧,只好不去了……
如果各位帅哥美女已经看完了前面的基础知识,那就跟小弟来看看”一些”必要的底层技术。
为什么”一些”要加引号(一女同学提问)?那是因为驱动程序可以做许许多多的事情啊!
如果你不懂MM,你就别混了!(一男同学问:驱动程序和泡妞还有关系?)哦,我这里的MM不是指”美眉”,是指”内存管理(Memory Management)”。
好的,我们现在就开始学习MM……
内存管理器给用户进程提供了大量的用于MM的API。这些API可以分为三类:虚拟内存函数、内存映射文件函数和堆函数。内核的成员(包括驱动程序)有很多高级的工具。例如:驱动程序能够在物理地址空间里分配一个连续的内存。这类函数呢,前缀是”Mm”。另外呢,还有一种以”Ex”为前缀的函数,用于从系统内存池里(分页和不分页的)分配和释放内存,还可以操作后备列表(lookaside lists)。
后备列表是啥东东?我们下一节会讲,它可以提供更快的内存分配,却要使用预定义的固定的块大小。
阅读更多…

驱动开发学习笔记(3-6)–Four-F的驱动开发教程-全功能的驱动程序分析

5. 全功能的驱动程序分析

※ 本篇的源代码同第4节的源代码:KmdKit\examples\simple\VirtToPhys

5.1 VirtToPhys驱动程序的源代码
阅读更多…