“社交网络”中询问的寻呼qn有解释吗?

问题描述 投票:0回答:2

“假设给你一台虚拟地址为 16 位、页面大小为 256 字节的计算机。系统使用从地址十六进制 400 开始的一级页表。也许你想要 DMA...谁知道呢?第一个为硬件标志等保留了很少的页。假设页表条目有 8 个状态位,这 8 个状态位将是...”

http://www.youtube.com/watch?v=-3Rt2_9d7Jg

有人可以解释为什么答案是马克/杰西所描述的吗?

operating-system paging virtual-memory
2个回答
33
投票

根据此页面记录了社交网络的一些技术不准确之处,该问题(严重)源自于实际哈佛课程中的问题。

一个示例问题:假设我们有一台 16 位的计算机 虚拟地址,页大小为 256 字节。该系统使用 一级页表,从地址 0x0400 开始。 (前几 页面是为硬件标志等保留的。也许你想要 你的 16 位系统上的 DMA,谁知道?)假设页表条目有 8 个状态位:1 个有效位、1 个修改位、1 个参考位和 5 个 权限位(这是一个非常安全的系统)。

有多少页?页表需要多少内存?

8 个状态位与体系结构相关,并且在这个特定问题中,是作为虚拟计算机的假设而构成的。电影制片人只是简单地接受了问题描述,并将其中一个假设作为问题——这个问题一开始就没有意义。

为了更容易理解这一点,想象您有如下问题

一辆车穿过马路1小时。假设汽车的速度为 100公里/小时,汽车行驶了多少距离?

问题变成了

一辆车穿过马路1小时。汽车的速度是……?

编辑:没有意识到原始文章使用了与我类似的类比。


0
投票

让我解释一下我对页面大小和虚拟寻址的理解。 这就是我所知道的: 当页面大小为 256 字节时,我们有一个 16 位虚拟地址系统,其中:

  • 8 位用于页码(可以引用 2^8 = 256 个不同的页面)
  • 8 位用于偏移量(因为 2^8 = 每页 256 字节) 这 8 个硬件标志位是什么?

据我所知,这 8 位分为状态位和权限位,它们在每个页面的页表条目中指定: 前 3 个状态位

Valid bit
Modified bit
Reference bit

我仍在了解它们的具体工作原理,一旦我更好地理解它们,我就会更新。 权限位(5 位) 假设我们有像 00400 这样的权限位。这就是它的含义: 前两位数字 (00) 表示特殊许可标志:

0 = nothing special
4 = setuid (lets you run file with owner's permissions)
2 = setgid (lets you run file with group's permissions)
1 = sticky bit (only file owner can delete it)

最后三位数字(400)控制常规文件权限:

First digit = what the user can do
Second digit = what the group can do
Third digit = what others can do

数字的含义:

4 = read (r)
2 = write (w)
1 = execute (x)
0 = no permissions

你可以将它们结合起来:

5 = read and execute (4 + 1)
6 = read and write (4 + 2)
7 = read, write, and execute (4 + 2 + 1)

我仍然需要更多地研究前三位(有效、修改和参考)。一旦我更好地理解了它们的工作原理,我就会更新它。

© www.soinside.com 2019 - 2024. All rights reserved.