【问题标题】:Dynamic memory allocation in XV6 kernelXV6 内核中的动态内存分配
【发布时间】:2020-06-11 17:03:05
【问题描述】:

我想在文件Queue.cQueue.h 中实现Queue 结构(使用Node 结构,类似于C 代码here),以便将进程存储在@ 中的proc.c 987654328@内核。

我不知道该怎么做,因为它需要使用malloc,但我不能在我从内核调用的方法中使用它。

为了实现和使用Queue,我可以改用什么?

【问题讨论】:

    标签: kernel malloc xv6


    【解决方案1】:

    您可能必须为内核实现类似于用户 malloc 代码 (user/malloc.c) 的内容。例如,查看文件kernel/string.c。它的内容与user/ulib.c 非常相似。这样,内核和用户空间就有了自己的函数版本,比如memset

    user/umalloc.c 中的代码不能只是复制粘贴到内核版本中。您必须对其进行调整才能在内核空间中工作。比如改变morecoregrows分配器管理空间的方式...

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 2014-06-10
      • 2013-11-06
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      相关资源
      最近更新 更多