На этом уровне все управление потоком выполняется ядром. Используется
программный интерфейс приложения (системные вызовы) для работы с потоками
уровня ядра. Ядро поддерживает информацию о контексте процесса и потоков;
переключение потоков требует выполнения дисциплины планирования
ядра на уровне этих потоков.
Преимущества потоков уровня ядра:
ядро может одновременно планировать выполнение нескольких потоков
одного процесса на нескольких процессорах, блокирование выполняется
на уровне потока;
процедуры ядра могут быть многопоточными.
Недостатки:
переключение потоков в пределах одного процесса требует участия ядра.
Основной библиотекой для реализации пользовательских потоков является
библиотека потоков POSIX, которая называется pthreads.