【问题标题】:Can kernel handle two syscalls at the same time by doing multithreading?内核可以通过多线程同时处理两个系统调用吗?
【发布时间】:2015-10-01 18:15:33
【问题描述】:

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    这是例行公事。当一个进程(进程的线程)陷入内核时,内核“借用”用户线程来运行内核代码。很长一段时间(几十年?),因为我们仍然有一个“唯一的内核锁”,它强制内核内的线程顺序执行。除了内核本身之外,它通常还运行多个线程来完成自己的工作(分页、回写……)。

    【讨论】:

    • 操作系统书籍。有很多可供选择(例如,操作系统概念、现代操作系统等......)。
    • 我在阅读现代操作系统时想到了这个问题...无论如何谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    相关资源
    最近更新 更多