Memory management 每个进程都有自己的页表吗?

Memory management 每个进程都有自己的页表吗?,memory-management,operating-system,virtual-memory,page-tables,Memory Management,Operating System,Virtual Memory,Page Tables,每个进程都有自己的页表,还是只是将其页条目添加到一个大页表中?是的,每个进程都有自己的页表。它们可能与父进程(写时复制)或其他进程(共享内存)共享。但一般来说,每个过程都有自己的过程。是的,除非使用倒页表。因为反向页面表是全局的,所以每个条目还必须包含它所属的进程。如果有大量进程正在运行,系统将如何处理(这并不罕见)假设内核空间通常不超过1GB,那么所有页表都需要在内核内存中?@chamibuddhika认为每个进程的页表都在进程的用户空间中。为什么您认为所有页表都应该在内核内存中?全局页面框架

每个进程都有自己的页表,还是只是将其页条目添加到一个大页表中?

是的,每个进程都有自己的页表。它们可能与父进程(写时复制)或其他进程(共享内存)共享。但一般来说,每个过程都有自己的过程。

是的,除非使用倒页表。因为反向页面表是全局的,所以每个条目还必须包含它所属的进程。

如果有大量进程正在运行,系统将如何处理(这并不罕见)假设内核空间通常不超过1GB,那么所有页表都需要在内核内存中?@chamibuddhika认为每个进程的页表都在进程的用户空间中。为什么您认为所有页表都应该在内核内存中?全局页面框架结构是一个巨大的数组,位于内核空间。对于进程,我不这么认为。顺便说一句,如果您开始学习翻译查找缓冲区,那么如果您知道在存在上下文切换时,将为当前进程重新加载翻译查找缓冲区,那么就不会那么混乱了。