【问题标题】:Why address space need to be preserved when Switching the cpu from one process to another?为什么在将 cpu 从一个进程切换到另一个进程时需要保留地址空间?
【发布时间】:2012-08-27 13:07:25
【问题描述】:

我在Galvin的书中读到,将cpu从一个进程切换到另一个进程需要保留当前进程的地址空间。为什么需要保留这个地址空间?

【问题讨论】:

  • 假设我正确理解了这个问题,如果没有,您认为会发生什么?
  • 我感觉他指的是上下文,而不是地址空间。

标签: process operating-system


【解决方案1】:

通过地址空间,我想你是想问为什么在上下文切换时需要保存进程的页表。

想象一下,当一个进程在上下文切换时,虚拟页100映射到物理页400。这个信息保存在这个进程对应的页表中。如果在上下文切换时没有保存这个表,下一次这个进程计划运行我们将如何知道虚拟页面 100 在物理空间中的映射位置。保存页表可以为您提供有关虚拟到物理地址映射的信息。

实际上发生的情况是,当发生上下文切换时,x86 上的寄存器 (cr3) 保存一个指向页表的指针,当发生上下文切换时,它指向一个新表,因此虚拟到物理的映射当我们进行地址转换时,新流程可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多