作为设置sysfs虚拟文件系统的一部分,Linux内核将物理内存组织为块,并在此目录中进一步组织为节sys/device/ system / memory。在该目录中,内存块将表示为memory0、meomory1、memory2等。在深入研究Linux内核之后,我发现内存被分成128MB的块,然后进一步分成内存的几个部分,并在C文件中找到了执行此操作的代码:。在上面的C文件中,方法memory_dev_
我试图在linux模块中分配一个很大的内存块,但是kalloc不能这样做。我知道唯一的方法是使用alloc_bootmem(unsigned long size),但我只能从linux内核中分配它,而不能从模块中分配。所以我想出了这个解决方案:对于我的情况,这是最好的解决方案吗?就像我说的,我需要处理一大块内存...如何使指向数据块的指针对模块可用?