【问题标题】:Simple Heap Implementation - Custom Memory Manager简单堆实现 - 自定义内存管理器
【发布时间】:2017-07-26 18:55:24
【问题描述】:

我目前正在学习操作系统课程,明天将参加我的第一次考试。教授为我们提供了一份需要准备的主题清单,其中之一是:

简单的堆实现

根据目前的课程材料,我知道这意味着什么,但想知道是否有人可以详细说明这一点或指导我获取更多资源以继续研究该主题。

我应该注意哪些事项以及如何实施?

谢谢

【问题讨论】:

  • 要求用什么语言实现堆?
  • 我们目前正在使用 BCPL,但我不确定他是否希望我们对其进行编程或仅描述组成它的部分。

标签: operating-system heap-memory


【解决方案1】:

您可以使用数据结构linked list 构建自己的内存管理器。堆用于动态内存分配。例如:C 中的malloc 从堆中分配内存。

在动态存储分配模型中,内存由一系列可变大小的块组成。有些是allocated,有些是free。所以你基本上会为free内存块和allocated内存块创建链表( to be specific doubly linked lists )

查看thisthis 链接了解详情。我建议你在做任何其他事情之前最好对数据结构linked list有一个很好的了解。

【讨论】:

  • 这很棒。你指的是哪本书?
  • @User5842 好吧,我在大学时代读过的书是 horowitz 和 sahni 的数据结构。但链接与本书无关。我刚刚在网上搜索并为您提供了链接。
  • @User5842 但是内容差不多。
猜你喜欢
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
相关资源
最近更新 更多