Windows Internals 学习笔记(一)

本文是《Windows Internals 4th Edition》的学习笔记,介绍了Windows API、.NET框架、用户模式与内核模式、进程、线程、DLL、虚拟内存等基础知识。内容包括API函数的定义、.NET的运行机制、用户与内核模式的区别、进程与线程的组成,以及注册表、Unicode等核心概念。适合有一定Windows知识的读者学习。
摘要由CSDN通过智能技术生成
 

         Windows Internals 4th Edition》是著名Windows内核专家Mark E. RussionovichDavid Solomon Expert Seminars的主席David A. Solomon合作的一本介绍Windows架构和工作细节的著作。中文版由微软亚洲研究院研究员潘爱民老师翻译,这本书倍受各权威人员和机构所推荐,堪称经典。我第一次遇见本书就对它钟爱得不得了,于是决心不仅要自己认真学完本书,更想分享下自己每一章的学习成果,给各位既想学好Windows内部原理,但又对厚厚一本书望而生畏或者没有时间去仔细的朋友,我尽量把自己认为理解可能有难度的部分详细分享一下,并尽可能讲得精简、有趣些,希望大家喜欢!这一系列文章,是视我阅读本书的进度而定的,有时看时间久些,有时快些。本系列文章针对的阅读对象是有一定(不用很多,我自己也是菜鸟一个)Windows知识与开发经验以及一定硬件常识的读者。最后还是忠告一点,如果有时间还是请大家亲自读一读本书,有许多东西还是要靠自己去领悟以及体会。如果文章中对书中的内容有所曲解的话,请大牛们指出!那么前言就讲到这里,开始第一章啦!

(一)基础概念和术语

本章前面一小半部分介绍Windows NT发展历史和版本号的就不写出了,如果你很感兴趣,请自己去查阅,反正不知道也不碍什么事。

首先讲到的一个基本概念是Windows API,完整写法是Windows Application Programming Interface,即Windows应用编程接口。对于开发人员,如果您想要去学习WinAPI,既可以去查阅SDK文档,也可以去看MSDNMSDN那个好啊!微软Technet讲师们都讲,MSDNKnowledge Base,有你需要的任何知识,走遍天下都不怕,哼哼!Windows API有许多的类别,而我们这本书要涉及的仅仅是关键基本服务的部分(比如进程线程、内存管理、IO、安全等),其他的么就忽略了。

此时,书上还提到了.NET,我觉得也是很有必要了解一下的,毕竟这是未来的趋势。简单的讲,.NET的应用程序是建立在.NET框架那些程序集上的(System.dll,System.Windows.dll等等,对.net我是白痴,只能举出这两个比较傻的例子),这两部分的程序代码都是运行在用户模式下,并且是托管代码(支持动态编译、对象周期管理等等特性)。而这两部分又是建立在非托管代码的CLRCommon Language Runtime,通用语言运行时,所谓通用,就是不管对C#,VB,J#都适用)上,CLR么自然就运行在经典的WinAPI上,所以呢CLR也是运行在用户模式下。故而我们可以得到这个结论:.NET是完全运行在用户模式的框架。

回到API来,API只是一个概念,通常大家都会和API函数混在一起,而API函数真正严格的定义是Windows API中已经被文档化的可调用子例程,就是说,一定是要M$(小注:微软比较有钱,所以我不写MS,而是写M$,也省得打完M,还要放掉Shift键。。。咔咔)一定要M$正式向世界公布的,如CreateProcessCreateWindow等,而像ntdll.dll里面的一些系统内部调用的函数ntreadfile就不能算,因为他们没名份,是小白脸。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值