作为开发人员,我应该如何考虑操作系统虚拟内存机制

Posted

技术标签:

【中文标题】作为开发人员,我应该如何考虑操作系统虚拟内存机制【英文标题】:How should I consider OS virtual memory mechanism as developer 【发布时间】:2014-05-20 10:13:25 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

Q1:是的,非常。

第二季度:

虚拟内存的美妙之处在于开发人员只需做很少的事情。

开发人员要避免的主要问题是尽量减少在内存中的跳转。

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

尝试一次处理一个大数组。

同样的规则也有助于处理器缓存。

【讨论】:

以上是关于作为开发人员,我应该如何考虑操作系统虚拟内存机制的主要内容,如果未能解决你的问题,请参考以下文章

开10个虚拟机,电脑至少需要啥配置?

JVM的内存结构,JVM的回收机制

详解JVM内存管理与垃圾回收机制 (上)

作为一名Android开发人员,怎么能不快速掌握互联网热门技术!开经络,识秘籍:《Jetpack Compose + 鸿蒙入门指南》

服务监控-开发眼里的内存是什么

作为开发人员,我应该如何使用 Windows Vista(和 Windows 7)中的特殊文件夹?