Какие сервисы операционной системы необходимы для поддержки потоков на уровне ядра? - PullRequest
1 голос
/ 01 октября 2019

Я изучаю Solaris и Linux и рассматриваю потоки уровня ядра (KLT) как фундаментальный объект, который может планироваться и отправляться ОС. Я знаю, что многопоточная ОС должна хранить контекст выполнения потока и предоставлять механизмы для планирования и диспетчеризации KLT, и что потоки уровня ядра обрабатывают прерывания, системные вызовы и предоставляют интерфейс для ЦП в качестве ресурса на интерфейсе пользовательского ядра. Мне не ясно, какие службы необходимы для поддержки KLT в многопоточной ОС.

enter image description here

Я не могу определить, существует ли процесс ядра ядраэто необходимо для поддержки всех KLT, или если KLT работают взаимозависимо в качестве базового уровня вычислений. Я хотел бы понять, какой минимальный набор операций (распределение ресурсов, планирование) необходим для поддержки ОС с KLT.

Я смотрел на Таненбаумса Обсуждение потоков в его распределенных системах Таненбаумом , Понимание ядра Linux и Многопоточность ядра SunOS , ноЯ не могу найти ответ на свой вопрос.

Я считаю, что отвечая на вопрос - Какие сервисы операционной системы необходимы для поддержки потоков на уровне ядра? - поможет мне понять, как реализованы KLT.

...