【问题标题】:Context switching using virtual memory?使用虚拟内存进行上下文切换?
【发布时间】:2016-03-31 07:20:22
【问题描述】:

最近我参加了操作系统课程的期中考试,其中一个问题是这个-

下列哪项说法是错误的?

  1. 虚拟内存实现程序地址空间到物理内存地址空间的转换
  2. 虚拟内存允许每个程序超过主内存的大小
  3. 虚拟内存提高了多道程序的程度
  4. 虚拟内存减少了上下文切换开销

我对选项 1 和 4 感到困惑。在 VM 的情况下,上下文切换应该更快(我不确定为什么,这只是一种直觉)。对于选项 1,虚拟内存不实现地址转换,但它是 MMU 执行此操作。 我错过了什么吗?那么正确的答案应该是什么?

【问题讨论】:

  • 的确,VM其实就是映射内存地址的结果。然而,我认为该陈述被认为是正确的。但是,使用 VM 时,需要在上下文切换期间额外处理 MMU 的状态,因此开销略有增加。

标签: operating-system virtual-memory mmu


【解决方案1】:

虚拟内存减少了上下文切换开销。

在具有虚拟内存上下文切换的系统中,在切换地址空间时会产生额外开销。第 4 条语句将是错误的,它将是 correct answer

Refer this link

虚拟内存实现程序地址空间的转换 进入物理内存地址空间

VM 需要硬件(TLB 和 MMU)和操作系统支持(控制 TLB 和 MMU)。 MMU 硬件将虚拟地址转换为物理地址

虚拟内存允许每个程序超过主程序的大小 记忆

是的

虚拟内存增加了多道程序的程度

Vm 同时提高内存中的进程数 -TRUE

【讨论】:

  • 你能提供一个关于 OS 和 MMU 如何协同工作的链接吗?提前谢谢老兄。
  • 您能否详细解释一下在实现虚拟内存时上下文切换导致的额外开销?
【解决方案2】:

虚拟内存实现程序地址空间到物理内存地址空间的转换

这是逻辑内存转换,而不是虚拟内存。这可能是错误的,除非您(像许多人一样)将“虚拟内存”和“逻辑内存”这两个术语混为一谈。可能是假的,也可能是真的。

虚拟内存允许每个程序超过主内存的大小

是的。

虚拟内存增加了多道程序的程度

说什么?这句话意味着什么?

虚拟内存减少上下文切换开销

可能。可能不会。非真亦非。

【讨论】:

    猜你喜欢
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 2014-08-25
    • 2013-12-13
    • 1970-01-01
    相关资源
    最近更新 更多