0
我已經讀過高爾文的書,將cpu從一個進程切換到另一個進程需要保留當前進程的地址空間。爲什麼這個地址空間需要保存?爲什麼在將CPU從一個進程切換到另一個進程時需要保留地址空間?
我已經讀過高爾文的書,將cpu從一個進程切換到另一個進程需要保留當前進程的地址空間。爲什麼這個地址空間需要保存?爲什麼在將CPU從一個進程切換到另一個進程時需要保留地址空間?
通過地址空間我認爲你想問問爲什麼當存在上下文切換時需要保存進程的頁表。
想象一下,當進程是上下文切換時,虛擬頁面100被映射到物理頁面400.這個信息被保存在對應於該進程的頁表中。如果該表格在上下文切換時未被保存,則下一個我們將如何知道虛擬頁面100在物理空間中的映射位置。保存頁面表格會爲您提供有關虛擬到物理地址映射的信息。
實際情況是,當發生上下文切換時,x86上的寄存器(cr3)持有指向頁表的指針,並且在存在上下文切換時指向新表,以便虛擬到物理映射當我們進行地址翻譯時,可以使用新流程。
假設我正確地理解了這個問題,如果沒有,你認爲會發生什麼? – 3Doubloons
我有這種感覺,他意味着上下文,而不是地址空間。 – Wug