Memory management 确定给定地址的页码和偏移量
考虑一个具有32位逻辑地址和4KB页面大小的计算机系统。系统支持高达512MB的物理内存 在传统的单级页面表格中有多少个条目Memory management 确定给定地址的页码和偏移量,memory-management,operating-system,offset,cpu-architecture,virtual-memory,Memory Management,Operating System,Offset,Cpu Architecture,Virtual Memory,考虑一个具有32位逻辑地址和4KB页面大小的计算机系统。系统支持高达512MB的物理内存 在传统的单级页面表格中有多少个条目 Conventional single-level page table: 2^32 / 2^12 (4000) = 2^20 = 1,048,576 为什么我必须除以2^32/2^12才能得到答案 一个倒置的页面表格中有多少条目 反转页表需要的条目数与页框数相同 在记忆中 Inverted page table: 2^29 (512mb)/ 2^12 (4000)
Conventional single-level page table: 2^32 / 2^12 (4000) = 2^20 = 1,048,576
为什么我必须除以2^32/2^12才能得到答案
一个倒置的页面表格中有多少条目
反转页表需要的条目数与页框数相同
在记忆中
Inverted page table: 2^29 (512mb)/ 2^12 (4000) = 2^17 = 131,072
为什么我必须除以512mb/页面大小
才能得到反转的页面表条目
以下地址的页码和偏移量是多少
参考文献:a)30000,b)256,c)0xbcf034
a) 30000英寸十六进制:x7530页#:x7=7偏移量:x530=1328
b) 256英寸十六进制x100页#:x0=0偏移量:x100=256
c) 0xbcf034页#:xbcf=3023偏移量:x034=22
如何根据十六进制地址计算这些页码和偏移量
我知道答案,但我想知道原因和方式。有人能详细解释一下吗:)2^12=>4096
2^32/2^12=>2^32/4096=>有多少4K页面=>我们需要多少页面表条目
物理页表的类似计算,即反转页表需要多少页表条目
根据以上提示,试一试这个问题,让我们知道你的想法。一旦您在操作系统课程中学习了更多内容,您将发现每个页表设计都有其优点和缺点。给定页面大小和地址参考:
计算页码和偏移量的最佳方法,
假设页面大小为1KB,地址引用为256
对其余的地址引用应用相同的过程。为什么我必须除以2^32/2^12才能得到答案?
2^32==>总虚拟内存大小
4KB=2^12==>单个页面的大小
2^32/2^12=2^20==>虚拟内存的总页数
因此页表将有2^20=1M个条目
反向页面表格中有多少条目?
2^29=512MB==>总物理内存
2^12=页面大小=框架大小
2^29/2^12=2^17==>物理内存中的总帧数
因此,反向页面表将有2^17=128K个条目
此图可能会消除您的疑虑:
因为页面大小=框架大小=2^12
反向页面表格中的条目数=帧数
因此,我们正在计算帧数为什么需要知道反转页面表的物理页面表条目?PS-THX为此,您需要学习一些关于反转页表的理论……一个快速的答案是,反转页表的大小与系统中物理页的数量成比例。正常(或逻辑)页表的大小是针对进程的整个虚拟地址空间,即根据进程中的虚拟页数调整大小。i、 e.倒页表:一个物理页一个条目;逻辑或虚拟页表:一个虚拟页对应一个条目。希望有帮助。在反向页面表中,所有的框架都映射到页面。因此,反向页面表中的条目由总框架数组成,这就是您要计算的。PS:4K不是4000:-)关于:两级分层页面表中有多少条目?
Page number = (address reference / page size) = 256/1024 = 0
Offset = (address reference % page size) = (256 % 2014) = 256