Windows 内存
内存
我们硬件的内存条就是物理内存
- CPU就是和物理内存打交道的
虚拟内存是Windows的一种机制
- 在程序运行时, 操作系统将进程从虚拟内存加载到物理内存中执行
虚拟内存还可以给每一个程序分配一个
额定大小的空间- 32位的程序, 每个程序的虚拟内存空间是 4GB
- 64位的程序, 每个程序的虚拟内存空间是 16EB
在进行应用程序开发的时候, 我们面对的都是虚拟内存
每个进程的空间是私有的
进程空间中有操作系统的代码(空间), 在Win98之后的所有程序, 这块空间对进程来说也是私有的
虚拟地址空间的分区
每个进程的虚拟地址空间都要划分成各个分区
<!--
| 分区 | 32位Windows | 64位Windows | Windows98 |
|---|---|---|---|
| NULL指针区 | 0x0--0xFFFF | 0x0--0xFFFF | 0x0--0xFFF |
| DOS 16兼容区 | 无 | 无 | 0x1FF--0x3FF |
| 用户区 | 0x10000--0xFFEFFFF | 0x10000--0x3FFFFFEFFFF | 0x400000--0x7FFFFFFF |
| 64KB进制进入区 | 0x7FFF0000--0x7FFFFFFFF | 0x3FFFFFF0000--0x3FFFFFFFFFF | 无 |
| 共享内存映射区 | 无 | 无 | 0x80000000--0xBFFFFFFF |
| 内核区 | 0x80000000--0xFFFFFFFF | 0x40000000000--0xFFFFFFFFFFFFFFFF | 0xC0000000--0xFFFFFFFF2 |
-->
| 分区 | 32位Windows | 64位Windows | Windows98 |
|---|---|---|---|
| NULL指针区 | 0x0--0xFFFF | 0x0--0xFFFF | 0x0--0xFFF |
| DOS 16兼容区 | 无 | 无 | 0x1FF--0x3FF |
| 用户区 | 0x10000--0xFFEFFFF | 0x10000--0x3FFFFFEFFFF | 0x400000--0x7FFFFFFF |
| 64KB进制进入区 | 0x7FFF0000--0x7FFFFFFFF | 0x3FFFFFF0000--0x3FFFFFFFFFF | 无 |
| 共享内存映射区 | 无 | 无 | 0x80000000--0xBFFFFFFF |
| 内核区 | 0x80000000--0xFFFFFFFF | 0x40000000000--0xFFFFFFFFFFFFFFFF | 0xC0000000--0xFFFFFFFF2 |
未完待续...
如有错误,请提出指正!谢谢.
本文由 花心胡萝卜 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: 2017-07-07 at 02:46 pm