【发布时间】:2011-11-13 03:17:29
【问题描述】:
基本上我需要有两个列表,其中一个通过存储起点和每个孔的大小来保存空内存孔的列表。另一个,保留有关各种进程的信息(虽然没有实际的进程数据,而只有 id 和起始位置和大小)。
所以,我知道我需要有两个结构,每个结构都定义了“洞”和“过程”。我需要有两个列表来存储这些对象。
我不明白的是如何“初始化内存”。比如用户要初始化(5000字节),那么initialize方法对这两个列表应该怎么做呢?
【问题讨论】:
-
这已经在 libc 中用
malloc()、free()等东西完成了。看看它是如何实现内存分配的,因为我知道有某种数据结构在使用中管理分配的内存“块”。但是,我相信这可能更多地与虚拟内存的完成方式相关,这更接近于操作系统级别的功能。 -
第一个列表听起来像一个空闲列表:en.wikipedia.org/wiki/Free_list
-
@Michael 这听起来像是家庭作业,所以“stdlib 已经有了它”不是一个选项。
-
@Inerdia 所以我们不应该鼓励他们自学吗?
-
@antonpug:如果这实际上是一个 uni 作业,你应该使用 homework 标签。
标签: c data-structures