内核级线程库

Abh*_*pta 2 linux kernel pthreads nptl linux-kernel

我必须实现内核级线程,但是在网上搜索时,我发现在 linux 中可以通过三种方法创建内核级线程:

  1. 国家知识产权局
  2. 线程
  3. linux线程

在某处写到 linuxThreads 现在被放弃了。但是我找不到当前对 NPTL 和 kthread 的支持。此外,我找不到任何可以简单解释我如何使用其功能的来源。

哪个是当前支持和使用内核级线程的好库?

还请分享安装这些库并使用它们的任何资源?

Dav*_*rtz 5

您混淆了“内核线程”的两个截然不同的定义。

LinuxThreads 和 NPTL 是用于用户空间进程的 POSIX pthreads 的实现。它们使用内核调度实体到用户空间线程的一对一映射。它们有时被描述为内核线程实现,只是因为它们创建了由内核调度的线程。

LinuxThreads 不受支持且完全过时。NPTL 现在是 glibc 的一部分,所以您已经拥有它。没有什么特别要安装的。您可以像使用任何 POSIX 线程库一样使用它们,并调用pthread_create.

实际的内核线程运行内核代码。这些库中没有一个是相关的,因为它们都是用户空间库。看看像kthread_run. 没有魔法,没有秘密。以编写类似内核代码的方式编写内核代码。(需要编写内核代码的知识和经验。不幸的是,这并不简单。)