linux - 为什么 `kernal_thread()` 没有被列为 Linux 的系统调用?
问题描述
我想知道为什么在http://man7.org/linux/man-pages/man2/syscalls.2.htmlkernal_thread()
中没有列为系统调用?
Linux 应用程序程序员从不需要创建内核线程吗?
Linux 应用程序程序员可以访问该函数吗?
谢谢。
解决方案
clone
应用程序程序员通常需要使用该列表中的系统调用来创建“内核调度线程”,也就是“操作系统线程”或“本机线程” 。
然而,“内核线程”只是内核用来运行内核代码以实现其内部目的的线程。它们仅由内核上下文代码创建和使用。每个软件都负责创建和管理自己的线程来完成自己的工作,包括用户空间应用程序和内核本身。
kernel_thread
是kernel/fork.c中定义的内核函数,不暴露给用户空间。它是内部内核 API 的一部分,而不是系统调用。
推荐阅读
- swift - 在tableView中加载搜索数据时如何停止Firestore分页
- ngrx - 一个动作似乎覆盖了另一个不相关的切片
- javascript - 通过参数而不是formData发送图像数组,如何更改?
- c - 对包含函数的数组进行排序
- php - 在php中从xml创建pptx文件
- android - ViewPager2 看到下一页的一部分并在屏幕第一页和最后一页居中
- python - 计算略有不同的矩阵乘法
- outlook - 自定义 UI 中的 Outlook Exchange 集成
- typescript - 在线程中调用 WebAPI 方法
- python - 从 Python 以 .cpp 格式保存 LGBM 模型