Windows内核
文章平均质量分 70
hongjiqin
这个作者很懒,什么都没留下…
展开
-
Windows的内存结构
进程的虚拟地址空间每个进程都被赋予它自己的虚拟地址空间。对于32位进程来说,这个地址空间是4GB,对于64位进程来说,这个地址空间是16EB(1018字节).每个进程可以接收它自己的私有的地址空间,因此当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于所有其他进程的内存则隐藏着,并且不能被正在运行的线程访问。这是个虚拟地址空间,不是物理地原创 2007-09-06 18:21:00 · 1468 阅读 · 0 评论 -
使用内存映射文件
若要使用内存映射文件,必须执行下列操作步骤:1) 创建或打开一个文件内核对象,该对象用于标识磁盘上你想用作内存映射文件的文件。2) 创建一个文件映射内核对象,告诉系统该文件的大小和你打算如何访问该文件。3) 让系统将文件映射对象的全部或一部分映射到你的进程地址空间中。当完成对内存映射文件的使用时,必须执行下面这些步骤将它清除:4)原创 2007-09-06 16:47:00 · 6279 阅读 · 0 评论 -
在可执行文件或DLL的多个实例之间共享静态数据
全局数据和静态数据不能被同一个.exe或DLL文件的多个映像共享,这是个安全的默认设置。每个.exe或DLL文件的映像都由许多节组成。按照规定,每个标准节的名字均以圆点开头。例如,当编译你的程序时,编译器会将所有代码放入一个名叫.text的节中。该编译器还将所有未经初始化的数据放入一个.bss节,而已经初始化的所有数据则放入.data节中。原创 2007-09-06 15:37:00 · 1278 阅读 · 0 评论 -
CreateFile 一点总结
CreateFile的函数原型如下:HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dw原创 2009-09-07 16:14:00 · 8166 阅读 · 0 评论 -
程序内存布局
程序虚拟地址布局:从高到低:0X8000,0000 - 0XFFFF,FFFF 内核空间0X7FFF,0000 - 0X7FFF,FFFF 64K的禁止进入区0X0001,0000 - 0X7FFE,FFFF 用户空间0X0000,0000 - 0X0000,FFFF NULL指针分配区(64K)其中用户空间中,用户的exe程序一般加载到0X0040,00原创 2009-09-07 16:17:00 · 1232 阅读 · 0 评论