使用虚拟内存切换上下文?

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

以下哪项陈述是错误的?

  • 虚拟内存将程序的地址空间转换为物理内存地址空间
  • 虚拟内存允许每个程序超出主内存的大小
  • 虚拟内存提高了多程序的程度
  • 虚拟内存减少了上下文切换开销
  • 我对选项1和4感到困惑。在虚拟机的情况下,上下文切换应该更快(我不确定为什么,它只是一个直觉)。 对于选项1,虚拟内存不执行地址转换,但它是这样做的MMU。 我错过了什么吗? 那么应该是什么正确的答案?


    虚拟内存将程序的地址空间转换为物理内存地址空间

    这是逻辑内存翻译,而不是虚拟内存。 这可能是错误的,除非你混淆了术语“虚拟内存”和“逻辑内存”(尽可能多)。 可能是虚假或真实的。

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

    真正。

    虚拟内存提高了多程序的程度

    说什么? 这个声明意味着什么?

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

    它可能。 它可能不会。 既不真实也不虚假。


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

    在具有虚拟内存上下文切换的系统中,在切换地址空间时包含额外开销。第4条语句将是错误的,这将是正确的答案。

    请参阅此链接

    虚拟内存将程序的地址空间转换为物理内存地址空间

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

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

    真正

    虚拟内存提高了多程序的程度

    Vm同时改善内存中的进程数量-TRUE

    链接地址: http://www.djcxy.com/p/80275.html

    上一篇: Context switching using virtual memory?

    下一篇: Segfault occurs on initialization in pthread only