我想在Queue.c
和Queue.h
文件中实现一个Queue
结构(使用Node
结构,类似于这里的C
代码(,以便在内核中proc.c
存储进程XV6
。
我不知道该怎么做,因为它需要使用malloc
,但我不能在我从内核调用的方法中使用它。
为了实施和使用Queue
,我可以使用什么?
你可能必须为内核实现类似于用户malloc代码(user/malloc.c(的东西。例如,查看文件 kernel/string.c。它的内容与user/ulib.c非常相似。这样,内核和用户空间就有了自己的函数版本,例如memset
.
来自user/umalloc.c的代码不能只是复制并粘贴到内核版本中。您必须进行调整才能使其在内核空间中工作。例如,更改morecore
如何增加分配器管理的空间......