操作系统- #页面(操作系统-)-虚页 #review/计算机/操作系统

梗概

  • 虚拟内存被拆分成一个个页面(虚页)
  • 物理内存被拆分成一个个页框
  • 页面大小 == 页框
  • 页面数>页框数
  • 部分页面单射全部的页框
    • 页表中存储了这些映射关系

加速分页映射

实例

之一

例1:8196映射为物理地址(十进制的方法) 4KB的页面,即4096

8196/4096→商: 2-----页号 余数:4------页内偏移 通过页号2查页表------页框号110,即6 页框号*页面大小+页内偏移→物理地址 6*4096+4=24580

之一

假设一个机器有48位的虚拟地址和32位的物理地址。 (a)假设页面大小是4KB,如果只有一级页表,那么在页表里有多少页表项?请解释。 (b)假设同一系统有TLB,该TLB有32个表项,并且假设一个程序的指令正好能放入一个页,其功能是顺序的从数组中读取长整型元素,该数组存在上千个不同的页面中。在这种情况下TLB的效果如何?

解答

(a)页面大小4KB,,即12位,虚拟地址48位,总数为 页表项有

  • 这里的一位指的是一个存储单元 (b) 指令正好占一页,则直接在TLB中找到,顺序读数组,1个页可以存放4KB/4B=1024(1个长整型占4B)个长整型数。则每读取1024个数,需要再找下一个页面。如果这个页面在TLB中,将不会出现TLB未命中,如果这个页面不在TLB中,则会出现TLB未命中。