Реализация потоков в пространстве пользователя, ядра и смешанное
А - потоки в пространстве пользователя
B - потоки в пространстве ядра
В случае Аядро о потоках ничего не знает. Каждому процессу необходима таблица потоков, аналогичная таблице процессов.
Преимущества случая А:
- Такую многопоточность можно реализовать на ядре не поддерживающем многопоточность
- Более быстрое переключение, создание и завершение потоков
- Процесс может иметь собственный алгоритм планирования.
Недостатки случая А:
- Отсутствие прерывания по таймеру внутри одного процесса
- При использовании блокирующего (процесс переводится в режим ожидания, например: чтение с клавиатуры, а данные не поступают) системного запроса все остальные потоки блокируются.
- Сложность реализации
Мультиплексирование потоков пользователя в потоках ядра
Поток ядра может содержать несколько потоков пользователя.