Linux 逻辑地址(virtaul地址空间)而非物理地址空间的原因

Linux 逻辑地址(virtaul地址空间)而非物理地址空间的原因,linux,unix,memory-management,process,operating-system,Linux,Unix,Memory Management,Process,Operating System,我能理解寻呼方案。对于每个页面(逻辑地址+偏移量),页面框架都是维护的 但是分页的需要是什么呢?可执行程序被加载到RAM内存中。为什么需要存储页表(虚拟地址空间) 为什么不使用物理地址空间?物理地址空间不直接用于从复杂的特定物理硬件中抽象出来。虚拟地址空间为应用程序提供了比物理内存芯片所能提供的更多的内存 虚拟地址空间允许在内存中交换页面,因此更多的应用程序可以共享相同的物理内存,您也可以将硬盘空间用作虚拟内存,尽管这有点慢,可能会导致抖动 有了虚拟地址空间,应用程序就会产生一种错觉,认为整个物

我能理解寻呼方案。对于每个页面(逻辑地址+偏移量),页面框架都是维护的

但是分页的需要是什么呢?可执行程序被加载到RAM内存中。为什么需要存储页表(虚拟地址空间)


为什么不使用物理地址空间?

物理地址空间不直接用于从复杂的特定物理硬件中抽象出来。虚拟地址空间为应用程序提供了比物理内存芯片所能提供的更多的内存

虚拟地址空间允许在内存中交换页面,因此更多的应用程序可以共享相同的物理内存,您也可以将硬盘空间用作虚拟内存,尽管这有点慢,可能会导致抖动

有了虚拟地址空间,应用程序就会产生一种错觉,认为整个物理内存都可以随意使用,应用程序彼此隔离,不能破坏彼此的内存


希望我能帮上忙…

没有绝对的需要,但使用虚拟地址可以让多个进程以更简单、更灵活、更安全的方式并发运行。它对硬件进行抽象,并隔离不同的进程。与20世纪80年代家用计算机的工作方式大不相同,当时并行运行多个程序是一种黑客行为,如果不是令人讨厌的话。此外,我发现这篇文章对每个人都非常有帮助