1

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

谢谢。

回答

2

这是按惯例完成的。当进程(进程的线程)陷入内核时,内核会“借用”用户线程以运行内核代码。它已经很长时间了(几十年了),因为我们仍然有一个“独特的内核锁”,强制在内核中顺序执行线程。除了内核本身,它通常为自己的工作运行多个线程(分页,回写......)。

+0

我在哪里可以阅读有关该技术? – user1289

+0

OS书籍。有很多选择(例如,操作系统概念,现代操作系统等)。 –

+0

在阅读现代操作系统时,我想到了这个问题...谢谢:) – user1289

相关问题