Operating system 虚拟地址到物理地址
我正在为我的操作系统类编写一个地址转换器。我知道我读的虚拟地址是正确的,我得到的页码是正确的(我访问了正确的数据),但当我试图找出物理地址时,我得到了错误的物理地址 规格:Operating system 虚拟地址到物理地址,operating-system,virtual-address-space,Operating System,Virtual Address Space,我正在为我的操作系统类编写一个地址转换器。我知道我读的虚拟地址是正确的,我得到的页码是正确的(我访问了正确的数据),但当我试图找出物理地址时,我得到了错误的物理地址 规格: 页面表中的2^8个条目 页面大小=2^8字节 帧大小=2^8字节 256帧 物理内存=65536字节(256帧×256字节帧大小) 以下是正确的输出: 虚拟地址:12107物理地址:2635值:-46 以下是我得到的: 虚拟地址:12107物理地址:12107值:-46 据我所知,物理地址等于(pageNumber*pa
- 页面表中的2^8个条目
- 页面大小=2^8字节
- 帧大小=2^8字节
- 256帧
- 物理内存=65536字节(256帧×256字节帧大小)
我倾注了我的书,在过去的几天里,我一直试图找出我到底哪里出了错,但我似乎不明白 我明白了发生了什么,我在实现页表时有一个误解。我有一个页表,但没有它所指向的帧表,页表实际上完全绕过了这一步,所以实际上我的物理地址和逻辑地址是相同的 一旦我实现了一个框架表,并且找到了填充框架表的正确方法,我就开始正确地生成物理地址