分配粒度和内存页面大小

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

最新文章

  1. 正弦 sin 余弦 cos
  2. 4 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之Lvs为Mysql-slave做负载均衡
  3. GitHub上不错的Android开源项目(三)
  4. 项目常用jquery/easyui函数小结
  5. sql语句中特殊函数的用法
  6. Entity FrameWork 实体属性为decimal时默认只保存2位小数
  7. APK的反编译
  8. ER模型的学习
  9. 分享基于分布式Http长连接框架--代码模型
  10. 手动导入xmpp后,再使用cocoapods的时候出现的问题
  11. 大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
  12. jQuery使用(十四):extend()方法
  13. 正确处理下载文件时HTTP头的编码问题(Content-Disposition)
  14. gtest 学习
  15. zookeeper kafka集群
  16. [POI2007]旅游景点atr BZOJ1097
  17. [BZOJ1122][POI2008]账本BBB 单调队列+后缀和
  18. GC详解及Minor GC和Full GC触发条件总结
  19. vue2.0 keep-alive 最佳实战(转载)
  20. CodeForces 869B

热门文章

  1. [Javascript] Identify and Deal with NaN in JavaScript
  2. BootstrapTable的使用教程
  3. [Android]TextView实现分散对齐(两端对齐)
  4. DirectX11学习笔记
  5. Mapreduce 订单分组案例
  6. linux 网卡配置文件详解
  7. Method and system for providing security policy for linux-based security operating system
  8. IO 字符流学习
  9. AlertDialog通过反射机制阻止Dialog关闭
  10. [STM32] IAP不能跳转到APP