我目前正在参加一个操作系统课程,明天将会开始我的第一个考试。教授为我们提供的主题列表,以供准备,其中之一是:简单堆实现 - 自定义内存管理器
简单的堆实现
基于课程材料,到目前为止,我有什么这一点的想法需要但是想知道是否有人可以详细说明这一点,或者指导我继续研究这个话题。
我应该注意哪些事情,以及如何实施它们?
感谢
我目前正在参加一个操作系统课程,明天将会开始我的第一个考试。教授为我们提供的主题列表,以供准备,其中之一是:简单堆实现 - 自定义内存管理器
简单的堆实现
基于课程材料,到目前为止,我有什么这一点的想法需要但是想知道是否有人可以详细说明这一点,或者指导我继续研究这个话题。
我应该注意哪些事情,以及如何实施它们?
感谢
您可以使用数据结构linked list建立自己的内存管理器。堆用于动态内存分配。例如:C中的malloc
从堆分配内存。
在动态存储分配模型中,内存由一系列可变大小的块组成。有些是allocated
,有些是free
。因此,您将基本上创建链接列表(to be specific doubly linked lists)
,对于free
内存块和allocated
内存块。
这太好了。你在这里提到哪本书? –
@ User5842那么,我在大学时代接下来的书是由horowitz和sahni撰写的数据结构。但链接与本书无关。我刚刚在网上搜索并提供了链接。 –
@ User5842但内容或多或少相同。 –
用什么语言你被要求实现堆? – Learnquick
我们目前正在使用BCPL,但我不确定他是否希望我们对其进行编程或仅描述构成它的部分。 –