内核可以通过多线程同时处理两个系统调用吗?

时间:2015-07-13 12:59:02

标签: multithreading linux-kernel operating-system kernel system-calls

当用户应用程序进行系统调用时,程序进入内核模式,OS处理用户请求。如果两个进程同时进行系统调用,OS可以执行多线程吗?例如,可能有两层内核,第二层将通过多线程处理用户请求,第一层将控制第二层。这不可能吗?或者它只是不擅长实际使用?

感谢。

1 个答案:

答案 0 :(得分:2)

它经常完成。当进程(进程的线程)陷入内核时,内核"借用"用户线程来运行内核代码。它已经很长时间了(几十年?),因为我们仍然有一个独特的内核锁定"这迫使内核中的线程顺序执行。除了内核本身通常运行多个线程用于自己的工作(分页,回写,....)。