关于操作系统,关于页表条目状态位

时间:2014-11-07 11:59:29

标签: operating-system

在电影 The Social Network 中,当Mark Zuckberg上课时,老师问了这个问题:

  

假设我们有一台计算机,具有16位虚拟地址,页面大小为256字节,系统使用从地址十六进制400开始的一级页表,可能是您想要的DMA(直接您的16位系统上的内存访问。谁知道?第一页保留用于硬件标志等。假设页表条目具有八个状态位。那么八个状态位将是......

Mark Zuckberg回答:

  

一个有效位,一个修改位,一个参考位和五个许可位。

他是怎么得到的?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

英特尔在括号中的命名法。有效的' (现在),'修改' (脏)和'参考' (访问)位是请求分页管理器和MMU所需的最小位数。 有效的' MMU使用(当前)位来了解页面是否映射到有效的物理地址。

'已修改'请求调页管理器使用(脏)位来确定被驱逐的页面是否需要写入后备媒体。由于访问支持媒体可能被认为是一项昂贵的操作,因此您真的希望将其保持在最低限度 - 特别是在写入时,因为这通常比从中读取要慢。

'参考' (已访问)位对请求分页管理器有用,可以确定如何对其控制的页面进行老化。您不想逐出最频繁使用的页面,因为这需要从后备存储(已经被称为SLOW)重复保存和/或加载它们。

剩下的五位是肉汁。它们可以自由地用作许可和/或选项位。例如,主管和/或用户线程是否可以访问该页面?页面是否可用于写入,还是只读?在页面上使用的缓存策略是什么?

希望这有帮助。

Sparky的

答案 2 :(得分:0)

他是如何得到答案的?---那只是电影BS。

如果取地址中的位数并减去用于表示页面的位数,则可获得处理器可用作系统状态位的位数。

利用该信息,他可以识别系统状态位的数量

这些位的使用是另一回事。系统状态位的分配取决于系统。也许它们存在,但我不知道任何16位虚拟寻址系统。所以他并没有提到任何特定类型的系统。

所有系统(例如VMS)都不使用参考位。这甚至不是强制性的。

好莱坞魔术。