虚拟地址(Virtual Address)是用来标识虚拟对象的地址,通常用于虚拟存储管理和网络管理[3]。当程序执行指令时,把部分地址内容复制到REG[a]中,使地址可以通过索引、基址寄存器、段寄存器或其他方式产生,由程序产生的这些地址被称为虚拟地址。[4] 虚拟地址的内容是通过把信息映射到特定的虚拟地址来定义 的,[5][6]通过利用物理空间与虚拟空间的映射来实现。[7]通过使用虚拟地址,操作系统能够隔离不同进程的资源访问,确保系统的安全性和稳定性。[8][7]
虚拟地址的基本原理和研究范围涵盖了计算机科学和工程领域的多个方面,对于深入理解计算机内存管理的工作原理、提高系统的安全性和稳定性、推动移动透明IP技术等相关领域的发展和应用都具有重要意义。[8][9] 相关概念
MMU | 即存储管理单元,可以使各个任务作为各自独立的程序在自己的私有存储空间中运行 |
页表 | 是一种数据结构,用来把用户的页面转换成内存中相应的物理块,每个进程都有一个页表 |
页框 | 是指CPU中添加了能自动把虚拟内存地址转化为物理内存地址的电路,为了简化这种电路,就把RAM划分为长度为4KB或8KB的块 |
页号 | 页号是虚拟地址的划分,指向程序中的某一页,每个页号对应一个页面号 |
分页 | 把进程逻辑地址空间划分成逻辑页,以及把物理内存划分为物理页,并建立两种页的映射关系的过程 |
分段 | 把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存块单元 |
段表 | 段表是分段式存储管理系统中用于记录进程或程序中每个逻辑段在内存中的起始地址、段号和段长等信息的数据结构 |
物理地址 | 也称为MAC地址,是用于在网络中唯一标识网络节点(如计算机、路由器、交换机等)的地址 |
地址空间 | 表示任何一个计算机实体所占用的内存大小 |
虚拟内存 | 是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换 |
转换检测缓冲区 | 可以将虚拟地址直接映射到物理地址而不必再访问页表的硬件设备 |
参考资料来源:[10] |