0
我已经读过高尔文的书,将cpu从一个进程切换到另一个进程需要保留当前进程的地址空间。为什么这个地址空间需要保存?为什么在将CPU从一个进程切换到另一个进程时需要保留地址空间?
我已经读过高尔文的书,将cpu从一个进程切换到另一个进程需要保留当前进程的地址空间。为什么这个地址空间需要保存?为什么在将CPU从一个进程切换到另一个进程时需要保留地址空间?
通过地址空间我认为你想问问为什么当存在上下文切换时需要保存进程的页表。
想象一下,当进程是上下文切换时,虚拟页面100被映射到物理页面400.这个信息被保存在对应于该进程的页表中。如果该表格在上下文切换时未被保存,则下一个我们将如何知道虚拟页面100在物理空间中的映射位置。保存页面表格会为您提供有关虚拟到物理地址映射的信息。
实际情况是,当发生上下文切换时,x86上的寄存器(cr3)持有指向页表的指针,并且在存在上下文切换时指向新表,以便虚拟到物理映射当我们进行地址翻译时,可以使用新流程。
假设我正确地理解了这个问题,如果没有,你认为会发生什么? – 3Doubloons
我有这种感觉,他意味着上下文,而不是地址空间。 – Wug