码迷,mamicode.com
首页 > 其他好文 > 详细

分配粒度和内存页面大小(x86处理器平台的分配粒度是64K,内存页是4K,所以section都是0x1000对齐,硬盘扇区大小是512字节,所以PE文件默认文件对齐是0x200)

时间:2017-05-22 19:04:50      阅读:572      评论:0      收藏:0      [点我收藏+]

标签:地址   csdn   保留   sdn   指针   内存地址   需要   tail   http   

分配粒度和内存页面大小

x86处理器平台的分配粒度是64K,32位CPU的内存页面大小是4K,64位是8K,保留内存地址空间总是要和分配粒度对齐。一个分配粒度里包含16个内存页面。

这是个概念,具体不用自己操心,比如用VirtualAllocEx等函数,给lpAddress参数NULL系统就会自动找一个地方分配你要的内存空间。如果需要自己管理这个就累了......

一个分配粒度是64K,这就是为什么Null指针区域和64K进入区域都是 64K的原因,刚好就是一个分配粒度。
一个内存页是4K,这就是为什么PE文件中的section都是0x1000对齐.
硬盘扇区大小是512字节,这就是为什么PE文件默认文件对齐是0x200.

这些数字绝对不是心血来潮设定出来的,而是综合了硬件结构和操作系统架构设定的。

http://blog.csdn.net/mysouling/article/details/8676198

分配粒度和内存页面大小(x86处理器平台的分配粒度是64K,内存页是4K,所以section都是0x1000对齐,硬盘扇区大小是512字节,所以PE文件默认文件对齐是0x200)

标签:地址   csdn   保留   sdn   指针   内存地址   需要   tail   http   

原文地址:http://www.cnblogs.com/findumars/p/6890720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!