【发布时间】:2015-10-01 18:15:33
【问题描述】:
当用户应用程序进行系统调用时,程序进入内核模式,操作系统处理用户请求。如果两个进程同时进行系统调用,操作系统可以进行多线程吗?例如,内核可能有两层,第二层将通过多线程处理用户请求,第一层将控制第二层。这是不可能的吗?还是只是不擅长实际使用?
谢谢。
【问题讨论】:
标签: multithreading linux-kernel operating-system kernel system-calls
当用户应用程序进行系统调用时,程序进入内核模式,操作系统处理用户请求。如果两个进程同时进行系统调用,操作系统可以进行多线程吗?例如,内核可能有两层,第二层将通过多线程处理用户请求,第一层将控制第二层。这是不可能的吗?还是只是不擅长实际使用?
谢谢。
【问题讨论】:
标签: multithreading linux-kernel operating-system kernel system-calls
这是例行公事。当一个进程(进程的线程)陷入内核时,内核“借用”用户线程来运行内核代码。很长一段时间(几十年?),因为我们仍然有一个“唯一的内核锁”,它强制内核内的线程顺序执行。除了内核本身之外,它通常还运行多个线程来完成自己的工作(分页、回写……)。
【讨论】: