virtual-address-space

页表的大小和条目数
virtual-address-space

页表的大小和条目数

假设在 32 位操作系统上,我们有 4 GB 的可用虚拟地址空间。这意味着我们需要映射 2^32 = 4,294,967,296 个地址。 如果计算在地址空间中存储所有 4,294,967,296 个地址的大小,并且每个地址为 4 个字节,则应该占用: 所有地址的内存大小 = 4,294,967,296 个地址 x 4 字节 我的问题是: 单个页表是否能够在其条目中存储那么多地址?如果是这样,那么为什么页表的大小只有 4 MB?这里? ...

Admin

地址空间的定义
virtual-address-space

地址空间的定义

我对“地址空间”这个术语感到困惑。它似乎可以与“内存空间”互换使用。一个句子示例是:“将指定的模块加载到调用进程的地址空间中” ...

Admin

当程序需要的内存比最初分配给它的内存更多时会发生什么?
virtual-address-space

当程序需要的内存比最初分配给它的内存更多时会发生什么?

从这西蒙弗雷泽大学的讲座,我的理解是每个进程都会获得操作系统为其分配的虚拟地址空间。这是一个基于此的假设问题。假设某个程序分配的虚拟地址空间为 100 -200。现在堆栈从 200 向下增长,堆从 120 向上增长。现在,如果程序需要更多空间,操作系统是否会分配 400 到 900 之类的地址,然后将数据从旧地址空间复制到新地址空间? ...

Admin

虚拟地址空间和物理 RAM
virtual-address-space

虚拟地址空间和物理 RAM

在 Ubuntu 上,当我查看 meminfo 时,我注意到虚拟地址空间总数远大于物理 RAM 总数: /proc $ cat meminfo MemTotal: 6113156 kB ... VmallocTotal: 34359738367 kB 我以为虚拟地址空间直接映射到 RAM 地址空间。那么它怎么会大这么多呢? ...

Admin

增加应用程序的虚拟地址空间可能产生负面影响吗?
virtual-address-space

增加应用程序的虚拟地址空间可能产生负面影响吗?

以下是我的系统配置: Windows 8 开发者预览版(32 位) 2 GB 内存 Nvidia GeForce 8400 M(带 256 MB 内存) 为了运行内存密集型应用程序,我需要将虚拟地址空间从 2 GB 增加到 3 GB。(请注意,这与虚拟内存——一个完全不同的概念。) 将虚拟地址空间增加 1 GB 可能产生哪些负面影响?我的猜测是 Windows 将缓存更少的磁盘读取、更多地使用页面文件等。还有什么更严重的问题需要我担心吗? ...

Admin