当用户应用程序进行系统调用时,程序进入内核模式,OS处理用户请求。如果两个进程同时进行系统调用,OS可以执行多线程吗?例如,可能有两层内核,第二层将通过多线程处理用户请求,第一层将控制第二层。这不可能吗?或者它只是不擅长实际使用?
感谢。
答案 0 :(得分:2)
它经常完成。当进程(进程的线程)陷入内核时,内核"借用"用户线程来运行内核代码。它已经很长时间了(几十年?),因为我们仍然有一个独特的内核锁定"这迫使内核中的线程顺序执行。除了内核本身通常运行多个线程用于自己的工作(分页,回写,....)。