页号一样,偏移不一样
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: 3, 1: 0, 2: 5} def split(va): return va // PAGE, va % PAGE def translate(v
自己写:拆地址
把虚拟地址拆成「页号-偏移」。只许用移位和掩码,不许用除法。
算一算页表要多少条
地址空间 256 字节、每页 16 字节,页表要几条?再算一次「每个字节一条」要多少条。
页表里存的是什么
页表的一条记录里,主要存的是【0】。
翻译要几步
把一个虚拟地址翻成物理地址,最少要【0】。
页表放在哪
页表本身存放在【0】。
三个地址各翻成什么
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: 3, 1: 0, 2: 5} def split(va): return va // PAGE, va % PAGE def translate(v
同一页里的两个地址
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: 3, 1: 0, 2: 5} def split(va): return va // PAGE, va % PAGE def translate(v
自己写:地址翻译
补全 translate:拆地址、查表、拼回去。查不到的返回 -1。
反过来:物理地址属于哪个虚拟页
给一个物理地址,反查它是从哪个虚拟页翻过来的。查不到返回 -1。