进程具有虚拟内存,在运行时将其复制到RAM中。如前一篇文章所述。
我有以下双倍:
- 如果内存映射位于未分配的内存中,并且它在进程的虚拟内存中。由于虚拟内存有助于避免一个进程触及其他进程的虚拟内存,那么内存映射如何用于进程间通信(IPC)?
- 在像Linux这样的操作系统中,每个单独的进程是否有独立的堆栈和内存映射区域,还是所有进程都有一个公共的堆栈和MMAP区域?例如:如果在Linux OS上运行P1、P2和P3进程,则所有进程是否都有如图所示的公共表格,或者每个单独的任务都有各自的表格来处理每个区域?
- 在32位系统中,2^32=4GB的虚拟内存是可能的,其中1GB保留给内核,3GB保留给用户空间应用程序。每个单独的进程是否可以拥有高达3GB的虚拟内存,或者所有用户空间应用程序大小之和可能为3GB(即(P1+P2+P3)的虚拟内存大小<=3GB)?
--
学习者