这里是我的问题:我想从运行在Linux内核空间中的代码中对数据文件的一部分进行内存映射。我想稍后也从Linux内核空间中运行的代码中撤销相同的内存映射。如何执行这些操作?它们与在用户空间中使用mmap(2)/munmap(2)有何不同?
我试图在没有用户进程的内核空间中做到这一点。
我浏览了网络搜索和Linux内核书籍,包括Bovet和Cesati的"Understanding the Linux Kernel“。一本好书,但没有回答我的问题。
我编写了一个linux内核模块和一个用户空间应用程序。他们通过netlink进行了很好的沟通。但是当我试图在CORE (Common Open Research Emulator)中的一个仿真节点上运行用户空间应用程序时,我得到了errno111(连接被拒绝)。你能帮我找出原因吗(根据CORE的说法,模拟节点是一个虚拟机,它使用与本地主机相同的内核)?
非常感谢!
我对所有这些细节以及它们如何在Linux中相互关联感到有点困惑。"Unix内部“一书指出,lightweight process (LWP)是内核支持的用户线程,内核看不到进程内部的线程。对于Linux,这仍然是正确的吗?
据我所知,用户空间线程被安排在进程内部,通过更高层次的抽象作为pthread库,而不需要内核的干预。我说的对吗?