memory-management - 什么时候最适合内存分配有用

标签 memory-management contiguous

我正在阅读操作系统概念要点第 8 版。当作者讨论连续内存分配和最坏拟合时,作者声明“分配最大的空洞。同样,我们必须搜索整个列表,除非它按大小排序。这种策略产生最大的剩余空洞,这可能比从最合适的方法中获得更小的剩余孔。”

所以我的问题是,什么时候留下最大的剩余孔是更好的方法?

最佳答案

如果提交的所有进程都大致相同,那么留下最大的剩余漏洞可能是更好的方法。

在这种情况下,如果您有一个大的空闲块(比如 50MB)并且提交的大多数进程往往比这个小(比如 10MB),那么将它们放在这个大块中实际上会更好,以便您可以使用剩余空间更好,而不是将它们放在一个稍大的块中(可能是 11-15MB),这会留下一些小的不可用空间。

我不知道它是否真的在任何地方使用过。

阅读(和播放)此内容:http://research.cs.vt.edu/AVresearch/MMtutorial/WorstFit.php

关于memory-management - 什么时候最适合内存分配有用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15650029/

相关文章:

ios - 如果他们引用的对象被释放,守卫是否可以在使用 [weak self] 的闭包中让 `self` = self 导致崩溃?

objective-c - 多少内存泄漏(以字节为单位)可能是致命的

c++ - 如何为类 union 类编写析构函数

java - 查看/解决 Windows XP 内存碎片的工具

ios - ContiguousArrayStorage 没有实现 methodSignatureForSelector

linux-kernel - 如何在 Linux 中分配大的连续内存区域

c# - IDisposable.Dispose() 实现应该是幂等的吗?

c++ - 堆栈上的变量是否连续?

c++ - 使数据连续以在节点之间传输的有效方法

python - 运行时警告 : Cannot provide views on a non-contiguous input array without copying