一、基本概念:物理地址、逻辑地址、虚拟地址
1.物理地址:
物理内存的地址,也就是内存条上的地址。用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
2. 逻辑地址:
在有地址变换功能的计算机中,访问指令给出的地址 (操作数)叫逻辑地址,也叫相对地址。要经过寻址方式的计算或变换才得到内存存储器中的物理地址。也是用户程序中使用的地址。
3.虚拟地址:
当程序在运行时,有一部分资源还没有用上或者同时打开几个程序却只操作其中一个程序时,系统没必要 将程序所有的资源都塞在物理内存中,于是,系统将这些暂时不用的资源放在虚拟内存上,等到需要时在调 出来用。这段虚拟内存上的地址,就是虚拟地址。
二、内存管理方式
1. 内存管理有块式管理,页式管理,段式和段页式管理。现在常用段页式管理。
2. 段页式管理
段页式系统的基本原理,是基本分段存储管理方式和基本分页存储管理方式原理的结合,即先将用户程 序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。右图示出了一个作业的地址空 间和地 址结构。该作业有三个段,页面大小为4 KB。在段页式系统中,其地址结构由段号、段内页号及 页内 地址三部分所组成
三、Windows里的内存管理
1.虚拟地址的分配
WIndows为每个进程分配了4GB的虚拟地址空间,让每个进程都认为自己拥有4GB内存空间(32位机)。 当一个程序运行时,Windows就使得该进程拥有2G的地址空间,另外2G用于共享系统使用。
2. 物理内存与虚拟内存的映射
物理内存到虚拟内存的映射使用映射表来完成,该映射表就是页表。
3. 内存的分页
4K为一页,即4K就是一个最小单位。