两个程序访问同一个虚拟地址
两个程序各有一张表,访问同一个虚拟地址,看它们落在哪儿、会不会撞上。
阅读更多 →
自己写:带权限的翻译
翻译时顺带检查权限:不在表里返回「缺页」,权限不够返回「拒绝」,否则返回物理地址。
阅读更多 →
三种结果各是什么
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: (3, "r"), 1: (0, "rw")} def check(va, w
阅读更多 →
越权访问被拦下来
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: (3, "r"), 1: (0, "rw")} def check(va, w
阅读更多 →
页表项里的权限位管什么
页表项里除了物理页号,还有几个权限位。它们管的是【0】。
阅读更多 →
隔离是怎么来的
两个程序之间的内存隔离,靠的是【0】。
阅读更多 →
⚠️ 内存超卖,赌输了会怎样
答应给程序 8 页,实际只有 4 页物理内存。⚠️ 程序真的把 8 页都用上时,缺页会开始反复发生——把「只用 4 页 / 用满 8 页」两种情况的缺页次数打出来。
阅读更多 →
算一算缺页的平均代价
普通访问算 1,缺页算 10000。算出「缺页率 0 / 千分之一」两种情况的平均代价。
阅读更多 →
自己写:按需装入
缺页时把那一页装进内存(分配一个新的物理页),再重试。数出「访问次数 / 缺页次数」。
阅读更多 →
装进来之后就不缺了
运行下面这段程序,填写它打印出来的结果。 PAGE = 16 PT = {0: 3, 1: 0, 2: 5} faults = 0 for va in (50, 51, 52): vp = v
阅读更多 →