在内存管理中使用链接列表的缺点

Jof*_*eon 6 algorithm operating-system memory-management linked-list bitmap

我有点困惑的是,使用链表的主要缺点是维护一个可用磁盘块列表.我的教授说使用位图有助于解决上述问题.为什么使用位图解决了这个问题?

缩小我的问题范围:

  1. 在维护可用磁盘块列表时使用链表的主要缺点是什么?

  2. 为什么使用位图解决了这个问题/缺点?

小智 5

你好,

使用链表维护空闲磁盘块列表的主要缺点是什么?

  • 这种方案不是很有效,因为要遍历列表,我们必须读取需要大量时间的每个块。
  • 第二个缺点是维护所有空闲磁盘块的链表需要额外的内存。

为什么使用位图可以解决这个问题/缺点?

  • 大多数情况下,可用磁盘空间列表是作为位图或位向量实现的。每个块由一个位表示。0(零)标记为空闲块,而 1 标记为已分配块。因此,无需额外的内存来存储可用磁盘空间。

  • 快速随机访问分配检查:检查扇区是否空闲就像检查相应位一样简单。所以遍历比LinkedList快。

使用位图的其他优势:

  • 快速删除:删除时无需覆盖数据,翻转相应位即可

愿这对你有帮助。免费填写以进一步说明。

问候,

巴维克

  • 假设最小大小的块足够大,空闲块的链表不需要任何内存。 (2认同)
  • 此外,位图更容易找到连续块 (2认同)