【发布时间】:2020-06-11 17:03:05
【问题描述】:
我想在文件Queue.c 和Queue.h 中实现Queue 结构(使用Node 结构,类似于C 代码here),以便将进程存储在@ 中的proc.c 987654328@内核。
我不知道该怎么做,因为它需要使用malloc,但我不能在我从内核调用的方法中使用它。
为了实现和使用Queue,我可以改用什么?
【问题讨论】:
我想在文件Queue.c 和Queue.h 中实现Queue 结构(使用Node 结构,类似于C 代码here),以便将进程存储在@ 中的proc.c 987654328@内核。
我不知道该怎么做,因为它需要使用malloc,但我不能在我从内核调用的方法中使用它。
为了实现和使用Queue,我可以改用什么?
【问题讨论】:
您可能必须为内核实现类似于用户 malloc 代码 (user/malloc.c) 的内容。例如,查看文件kernel/string.c。它的内容与user/ulib.c 非常相似。这样,内核和用户空间就有了自己的函数版本,比如memset。
user/umalloc.c 中的代码不能只是复制粘贴到内核版本中。您必须对其进行调整才能在内核空间中工作。比如改变morecoregrows分配器管理空间的方式...
【讨论】: