Memory management 将逻辑(虚拟)地址转换为物理地址

Memory management 将逻辑(虚拟)地址转换为物理地址,memory-management,process,virtual-memory,Memory Management,Process,Virtual Memory,我有以下process1的页面表: 假设寻呼系统使用16位地址,页面大小为4k 我想把逻辑地址16000转换成物理地址 我对这个话题有点陌生,所以对我放松点: 部分解决方案:地址16000与页表中的单元格编号3相符,因此我猜 我需要使用该单元格及其存储的帧-2 我现在如何找到偏移量和物理地址 感谢您,process 1当前最多可以访问4*4k字节的虚拟内存。 通常,一个进程最多可以访问4gb的虚拟内存(取决于实现)。 现在,您给出的表将虚拟内存映射到实际物理地址(在RAM上)。页表的每个条目将

我有以下
process1
页面表

假设寻呼系统使用
16位
地址,页面大小为
4k

我想把逻辑地址
16000
转换成物理地址

我对这个话题有点陌生,所以对我放松点:

部分解决方案:地址
16000
与页表中的单元格编号
3
相符,因此我猜 我需要使用该单元格及其存储的帧-
2

我现在如何找到偏移量和物理地址


感谢您,process 1当前最多可以访问4*4k字节的虚拟内存。
通常,一个进程最多可以访问4gb的虚拟内存(取决于实现)。
现在,您给出的表将虚拟内存映射到实际物理地址(在RAM上)。页表的每个条目将4k内存从虚拟空间映射到物理空间。
因此,地址16000对应于页表的第三个条目的物理地址,该条目映射到从
8192(3*4096)到12288(8192+4096)
的物理地址

在虚拟页面2中3172字节的偏移量处,即在物理页面3中3172字节的偏移量处(地址8192),您可以找到与地址16000对应的数据。
对于进程进行的每个地址访问,所有这些映射都由MMU(内存管理单元)完成。
理解这个概念的好链接是


干杯:)

在您的情况下,进程1当前可以访问多达4*4k字节的虚拟内存。
通常,一个进程最多可以访问4gb的虚拟内存(取决于实现)。
现在,您给出的表将虚拟内存映射到实际物理地址(在RAM上)。页表的每个条目将4k内存从虚拟空间映射到物理空间。
因此,地址16000对应于页表的第三个条目的物理地址,该条目映射到从
8192(3*4096)到12288(8192+4096)
的物理地址

在虚拟页面2中3172字节的偏移量处,即在物理页面3中3172字节的偏移量处(地址8192),您可以找到与地址16000对应的数据。
对于进程进行的每个地址访问,所有这些映射都由MMU(内存管理单元)完成。
理解这个概念的好链接是

干杯:)

16000 mod 4096 =  3712(offset).