我应该如何将OS虚拟内存机制视为开发人员

时间:2014-05-20 10:13:26

标签: performance operating-system virtual-memory

Modern OS为进程提供虚拟内存抽象。当进程请求RAM中缺少特定的虚拟内存页面时,OS应该找到从RAM卸载的虚拟页面以交换并从交换到RAM加载必要的页面。与RAM操作相比,读/写磁盘是一项昂贵的操作。我是对的吗?

我应该如何考虑这些虚拟内存 - 将OS机制交换为软件开发人员(而不是系统层)?何时以及如何处理我的数据和算法以避免丢失虚拟页面和交换?

1 个答案:

答案 0 :(得分:1)

Q1:是的,非常。

Q2:

虚拟内存的优点在于开发人员必须做的很少。

开发人员要避免的主要问题是尽可能减少内存中的跳跃。

使用索引访问大型多维数组,以便访问相邻元素。

尝试一次使用一个大数组。

这些相同的规则也有助于处理器缓存。