Mac OS X中的内存管理如何工作?


12

我是一名大学生,一直在尝试撰写Windows,Linux和Mac OS X如何管理内存之间的比较和对比文章。例如,在Windows中,它是物理内存(RAM)和虚拟内存(分页文件)。Mac如何做到这一点?

到目前为止,我发现的有关该主题的唯一信息是,人们大声疾呼有关Mac OS X的一个发行版以及它是如何发生内存泄漏的。请记住,我不是Mac用户,所以我不在寻找有关如何检查内存使用情况的说明,等等。非常感谢指向说明其工作原理的文章或文档的链接。

我发现了这一点:http : //www.macosxautomation.com/applescript/apps/memory.html,但是与OS内部的内存管理相比,它在Objective-C中处理的垃圾回收更多。


让我们不要将线程集中在版本10.0到10.8 Mountain Lion的OS X内存管理上。10.9版本的“ Mavericks”通过添加压缩内存和其他类别的内存页面,从根本上改变了内存管理,可能值得提出自己的问题。
bmike

Answers:


17

作为开发人员文档的一部分,Apple 在网上很好地记录了最低级别的Mach内核和虚拟内存子系统。

由于该内核是由卡内基梅隆大学开发的,因此您可以轻松找到许多描述它的论文

如果这对于您的论文来说太低了,我们很容易就有10个或更多的好问题,涵盖了非程序员对OS X内存管理的更多观点。您可能必须对OS X与其他两个OS进行比较的方式进行综合,因为到目前为止我还没有看到答案。

关注标签,以在搜索中获得最佳结果:

通过大量的“非活动内存”问题,您可以专注于OS X的内存管理中最让人困惑的部分,因此在这里收集最多的问题以寻求解释。


3

Mac OS X提供了一种按需分页的虚拟内存系统,该系统与BSD Unix提供的虚拟内存系统非常相似。


1
OSX基于Mach Kernel,其VM不是BSD Unix,内核上方的程序和调用基于BSD,但不是VM
user151019 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.