虚拟地址
通常是指在计算机系统中由操作系统分配给每个进程的地址空间中的地址。每个进程都有自己的虚拟地址空间,该空间通常从零开始,从而让每个进程认为它拥有整个系统的内存。虚拟地址由硬件和操作系统共同管理,并且对进程来说是唯一的。
在内存管理单元(MMU)的帮助下映射到物理内存地址的。这个映射是通过页表或段表等数据结构完成的,允许操作系统在不同的时间将不同的虚拟地址映射到不同的物理地址,从而实现了内存的隔离和保护。
静态地址重定位 :是一种在程序加载和执行之前进行地址转换的技术。
动态地址重定位 : 是一种计算机系统中的地址转换技术,它允许程序在运行时根据需要动态地调整内存中的地址,而不是在程序加载时进行静态地址分配。
内存保护 上下界保护法(记录起始位和终止地址)
分区管理:固态分区管理,动态分区管理(最先,最佳,最差)
内存扩充的两种方法:交换(外存交换),覆盖
页式管理
分区式管理存在严重的碎片问题,内存利用率低。
用于虚拟内存的内存管理技术,它将物理内存和虚拟内存分为固定大小的块,称为页(page),以简化内存管理和提高系统的效率。页式管理的核心思想是将程序的地址空间划分成固定大小的页,这样可以更灵活地加载和卸载内存中的数据。
-
页面大小:页面的大小是固定的,通常以字节为单位(如4KB或8KB)。这意味着虚拟内存和物理内存都被划分成大小相同的块。
-
虚拟页面:虚拟页面是指程序在运行时使用的虚拟内存中的一个页面。每个虚拟页面都有一个唯一的虚拟地址。
-
物理页面(页框):物理页面(或页框)是实际的物理内存中的一个页面。每个物理页面也有一个唯一的物理地址。
-
页表:页表是一种数据结构,用于记录虚拟页面和对应的物理页面之间的映射关系。每个进程都有自己的页表,用于管理其虚拟地址空间。
-
页号:是虚拟地址中的一部分,用于唯一标识虚拟内存中的每个页面。
-
页内地址:是虚拟地址中的另一部分,用于标识在页面内的具体位置。在物理页面内定位具体的数据或指令
段式和段页式管理
不同于页式管理,它将内存划分为不同大小的段或区域
分页与分段方式对比
- 页->物理单位
- 段->逻辑单位
- 分页->一维地址空间
- 分段-→>二维地址空间
- 分段更容易信息共享和保护
段页式管理
先分段再分页