windows平台内核代码探究

        一拿到这个问题的时候,当时就感觉很不妙,众所周知微软对于自己的系统是何等的“吝啬”,拿到这种问题简直让我感到这问题很难研究下去,而且自己还是这个小组的组长,一下子感到自己身上的责任就重了许多,所以从16周开始我自己就开始进入到了这个题目的研究中去了,百度一下”windows处理机调度”第一页里真正有介绍这个的问题的只有http://blog.csdn.net/deyili/article/details/6420034

好吧,之后我就从这个网页出发,关于UNIXLINUX的一律不看,直接进入到关于windows的部分,在这个文章中多次重点介绍和出现了一个叫EPROCESS 的结构,继续百度EPROCESS这下子信息就多了,很多博客开始向你介绍有关这个结构的信息了,这种情况下,你就不要傻傻的纠结这个结构的详细信息了,你要发现一个惊人的事实,有源代码!!!这是怎么回事???不是说微软不开源吗?怎么这里大家都有这个结构的源代码?百度一些“微软源代码”出现都是一些新闻之类的,这说明我的问题描述的不清楚,继续写“windows 内核源代码”,超赞的事情出现了,微软内核代码真的开源,还提供下载!!!我被这结果给震晕了,等等,往下走了两个网页,有一个网页引起了我的兴趣【Windows内核情景分析 开源代码ReactOS】,这时候我没有第一时间去下载微软内核源代码(用大脑想一下就知道,这份代码肯定不会是完整的,也不会是最新的,毕竟还要赚钱不是,后面的事实的确就是这样),而是点击开了http://www.cnblogs.com/cvbnm/articles/2035473.html,好吧,结果令人失望,估计又是哪个大侠的随手之作,不是个完整的介绍,毕竟大侠没那份时间不是,接下来我百度ReactOS,虽然不怎么喜欢百度,不过还是去看了一些百度百科,终于找到这玩意是什么东西了,ReactOS是开源免费的Windows NT系列(含NT4.0/2000/XP/2003)克隆操作系统,保持了与Windows的系统级兼容性。继续看完这个你就懂了,接下来我做了两件事,下载了”windows内核代码“也叫WRK,想办法下载了ReactOS,要知道某个部门经常把一些网站给封了,以前github就被封过,现在是sourceforge,这段时间我居然登陆不进去!!!没办法,逼我科学上网,于是耽误了两分钟下载到了最新版的ReactOS,好吧,到了这一步,接下来就是阅读源代码了吧,阅读内核代码的软件就不说了,source insight,但是事实是很残酷的,没有外力帮助的情况下,你要是能全部看懂的话,研究生也不用读了,因为你的水平已经远远高于他们了,我看了一下,果断撤退,要是傻傻的一头扎进去,估计你啥也弄不懂还会将自己弄疯,到底该如何做呢?百度“如何阅读windows 内核代码”,看完搜索结果的第一页后,我没发现任何大牛的博客有关于这部分的完整叙述,反倒是看到了两本书《Windows内核原理与实现(第一本用真实的源代码剖析Windows操作系统核心原理的原创著作)》,《Windows内核情景分析,第一本书的作者是潘爱民先生,第二本书的作者是毛德操先生,赶紧去图书馆找这两个大牛,OMG,不幸的是第一本书两套全部被人借走了,好在第二本还在,而且还幸运的找到了另外一本《深入解析Windows操作系统》,也是潘爱民先生写的,稍微翻阅,找到进程线程这一章节,很不错,是我心目中的资料!看完这一部分是不是发现我找资料很有条理和技巧,很多人总是说百度不行,找不到自己想要的资料,当然不排除的确有些资料国内真的很难找到,但是大部分还是你的方法不对,整个互联网是一个网,你顺着一根线找,最后总能翻遍整个互联网的(理论上),借走这两本书,接着我就开始去看相关的资料了,我的研究套路和我找的资料的研究套路有所区别,毕竟还是要回归到windows源代码的,而毛德操先生用的是ReactOS的代码,而《深入解析Windows操作系统》这本书用的是逆向工程的套路,并没有给出完整的源代码,是一个个的逆向,将很多重要的结构“解析”出来的,不得不服,不过这本书中并没有给出如何进行线程调度的源代码,原因很简单,微软在这一部分并没有一个专门的调度部分,是随机散在各种代码里面进行线程调度的,为了挑战一下自己,我是用WRK里面的代码去理解上述两本书里面讲的原理的,限于自身资质,只能是初步简单的探索了一下windows的处理机调度的问题,接下来就介绍一下我的一些工作,谈不上深入理解了整个系统的工作原理,估计我们班没人可以做到,原因也很简单,每个部分并不是独立存在的,都和其他部分紧密相关,我无法将进程线程调度和I/O完全分割,也没办法将内存的分配和进程区分开,这些都是需要站在整个系统的高度才能理解其工作的,所以对每个小组来说,都有一些内容很难理解,原因就是这是为其他部分准备的,而我们需要做的就是用源代码去尽量理解我们自己那一部分的核心知识,掌握了研究方法,在你以后遇到类似问题的时候就可以轻松的去解决那方面的知识了,接下来就是介绍一下我对这个知识块的一些理解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值