开发者

per process page table: what happens when a page frame is sent to disk?

开发者 https://www.devze.com 2023-03-12 03:21 出处:网络
My understanding is that, in general, there is one page table per process. My question is then: what happens in case of a page fault of the running process, if the OS has to send a page frame of a non

My understanding is that, in general, there is one page table per process. My question is then: what happens in case of a page fault of the running process, if the OS has to send a page frame of a non-running process back to disk. The 开发者_StackOverflow中文版page table of the non-running process has to be updated too, or else when it is running again, its page table will not be correct. However in all the texts I read this is not mentioned. Am I misunderstanding something?


Each process has a page table, but the page table is for that process and not owned by that process, but owned by the kernel (this is a bit weird wording, but I hope you get what I mean). So when a non running process is paged out to disk the page table itself is still 'running', and updated. I don't think the page table itself is ever swapped out to disk, as this would cause very weird problems.

0

精彩评论

暂无评论...
验证码 换一张
取 消