给定虚拟地址的对应页面框架?

时间:2019-02-11 13:01:06

标签: memory-management operating-system

我得到了一个使用16位Von Neumann架构的系统,该系统的页面大小为2,048字节,内存为6 KB。 对系统页面的访问按以下顺序进行:

4, 3, 2, 4, 4, 1, 10, 11, 5, 3, 5, 4, 1, 2, 6, 12, 1, 5, 0, 11, 3, 4, 1, 2, 2, 1, 0, 7, 6, 5,
3, 1, 4, 5, 2, 2, 6, 7

a)此系统中的虚拟页面和页面框架的总数是多少?

b)使用FIFO和算法进行上述访问时会发出多少页面错误?

c)描述上述情况下第10时刻页面的​​内存映射

d)考虑到在第11时刻您正在访问虚拟地址0xB0BB,它对应的页面框架是什么?

a)Our physical memory of 6KB would be 3*2^11 bytes
Our page size is 2048 bytes=2^11 bytes
So we should have 3*2^11/2^11=3 page frames
And also 3^16/2^11=2^5=32 virtual pages.

我认为这应该是正确的。

对于b),它应该只是FIFO的标准应用

对于c),是否在页框为空的时刻为0瞬间,而在进入第4页的时刻为1瞬间?如果是这样,那么在第10时刻,我们应该在框架中包含5,3和11。

对于d),我不完全了解需要做什么

在本示例中以及一般情况下,我们如何找到该地址的相应页面框架?

1 个答案:

答案 0 :(得分:0)

  

a)此系统中的虚拟页面和页面框架的总数是多少?

从给出的信息中猜测虚拟页面的总数(在一个虚拟地址空间中)是不可能的。请注意,“ 16位”通常是指通用寄存器的大小,并且虚拟地址的大小可以不同(例如,可能使用成对的16位寄存器来形成32位虚拟地址,并且该对中的最高4位是未使用,因此虚拟地址可能是28位)。

如果有6 KiB的RAM,每页为2 KiB,则只有三个物理页。需要使用其中一个页面来包含页面表,该表只剩下2个可用于代码和数据的物理页面。无法将页面错误处理程序的代码发送到交换空间(页面错误处理程序如何从交换空间中获取自身信息?),它将占用至少一页RAM。因此只有一个物理页面可供“普通”软件使用。

至少,如果一条指令访问内存,则包含该指令的页面和包含其访问的数据的页面必须同时位于内存中,但是您只剩下一个可以使用的物理页面,并且因此,几乎不可能同时将指令和所需的数据同时存储在内存中。

从本质上讲,计算机太受限制而无法分页。

  

b)使用FIFO和算法进行上述访问时会发出多少页面错误?

在实践中;页面错误的数量将为零,因为任何理智的人都会在编写任何软件之前将计算机扔进垃圾桶。

理论上;假定“页面错误”仅是由于需要从交换空间中获取数据而触发的(不是由任何类型的保护冲突引起的,也不是由“ TLB丢失”引起的);然后只剩下一个物理页(并且假设访问内存的指令与他们访问的数据位于同一页中,以通过该问题的“不可置信的”愚蠢性),每次访问都将是一个页面错误,除了一个(在“ 4,4”部分,同一页面连续使用两次)。当然,如果您忽略了现实中所有重要的事情(例如,假装RAM中没有页表,假装没有代码使访问以及魔术只是凭空出现),则理论答案可能会有所不同

请注意(如果我的正确猜测是正确的,并且您的“ FIFO”是用于确定从RAM中驱逐出并发送到交换空间的算法的话),您应该会感到烦恼。从来没有人使用过FIFO,也从来没有人使用过(因为“先进先出”可能是一个经常使用的页面,永远不应该发送给交换空间,例如,可能是包含所有正在编写的代码的页面) “数据访问”)。理想情况下,您希望撤回需要最少的页面(由于涉及到预测未来而无法知道),并且几乎所有内容都使用“淘汰最近最少使用的页面”作为实用替代方法。

  

c)描述上述情况下第10时刻页面的​​内存映射

     

d)考虑到在第11时刻您正在访问虚拟地址0xB0BB,它对应的页面框架是什么?

只有一个物理页面可用于正常访问;每个普通访问使用从物理地址0x0000开始的物理页面的机会为33.33%,有33.33%的机会是从物理地址0x0800开始的页面,并且有33.33%的机会是从物理地址0x1000开始的。无法根据给出的信息确定将哪个物理页面用作唯一可用于常规访问的页面。

现在...

您正在与有价值的东西(您的时间和潜在的工资损失;加上可能的前期费用,未来的学生债务和/或政府用来为“免费”教育支付的未来税款)交换一些您希望有价值的东西(知识);但是您怎么知道您没有被欺骗去将有价值的东西换成没有价值的东西(错误信息和胡说八道)?我想请您的教育者证明这次交流是公平的,因为坦率地说,这个作业问题足以让我“强烈怀疑”您被不称职的骗子所欺骗。