0

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

4

1 回答 1

0

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

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

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

于 2012-08-28T05:35:07.723 回答