linux中系统调用和内核线程的区别以及它们之间的关系
difference between syscall and kernel thread in linux and the relationship between them
我读过linux内核开发这本书,遇到一些问题让我很困惑,如下
1.is 内核线程中的系统调用 运行?或者只是 运行 没有内核线程形式的内核代码?
2.kernel 线程和用户进程在调度队列中有不同的实体?
3.how 将用户线程映射到内核线程?
4.once创建了一个进程,同时创建了映射到它的内核线程?
系统调用不会创建任何新线程。你在同一个用户线程中,但你也可以访问内核资源。
您可以直接访问用户内存,但不应使用它。有特殊的宏"get_user"用于用户内存访问。
我读过linux内核开发这本书,遇到一些问题让我很困惑,如下
1.is 内核线程中的系统调用 运行?或者只是 运行 没有内核线程形式的内核代码? 2.kernel 线程和用户进程在调度队列中有不同的实体? 3.how 将用户线程映射到内核线程? 4.once创建了一个进程,同时创建了映射到它的内核线程?
系统调用不会创建任何新线程。你在同一个用户线程中,但你也可以访问内核资源。 您可以直接访问用户内存,但不应使用它。有特殊的宏"get_user"用于用户内存访问。