我对这些问题感到非常困惑。
a = malloc(2)
.谁将把这些内存分配给进程?操作系统会将这 2 个字节的内存分配给进程吗?(我们访问 a[2] 它会产生分割错误)。
请给我一些好的链接,以便我也可以理解虚拟内存及其整个机制,因为我发现的链接并没有完全解释虚拟内存。
最佳答案
顺便说一下,在大多数 32 位操作系统上,操作系统本身需要 1GB 或 2GB 的虚拟内存空间,只有 2GB 或 3GB 真正可供进程使用。在 64 位操作系统上,操作系统不占用任何空间,因此 32 位进程可以使用完整的 4GB。
关于operating-system - 虚拟内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625729/