1

Когда пользовательские приложения выполняют системный вызов, программа переходит в режим ядра, а ОС обрабатывает запросы пользователей. Если в то же время два процесса выполняют системный вызов, может ли ОС выполнять многопоточность? Например, может быть два уровня ядра, второй уровень будет обрабатывать пользовательские запросы, выполняя многопоточность, а первый уровень будет управлять вторым уровнем. Это невозможно? Или это просто не хорошо для практического использования?Может ли ядро ​​обрабатывать два системных вызовов одновременно, выполняя многопоточность?

Спасибо.

ответ

2

Все делается регулярно. Когда процесс (поток процесса) ловушки в ядро, ядро ​​«заимствует» пользовательский поток для запуска кода ядра. Прошло много времени (десятилетия?), Так как у нас все еще была «уникальная блокировка ядра», которая принудительно выполняла последовательности потоков внутри ядра. Помимо самого ядра, как правило, выполняется несколько потоков для собственной работы (пейджинг, обратная запись, ....).

+0

Где я могу прочитать об этих методах? – user1289

+0

OS книги. Существует немало вариантов (например, концепции операционной системы, современные операционные системы и т. Д.). –

+0

Я думал об этом вопросе, читая современные операционные системы ... Спасибо в любом случае :) – user1289