Реализация потоков

1) Реализация потока в пространстве пользователя. Ядро в общем случаи не знает о существовании потоков. Все потоки работают поверх службы поддержки программ. Преимущества: быстродействие и возможность иметь собственную политику потоков. Недостатки: трудность реализации блокирующих системных вызовов и реализации виртуальной памяти.

a. Thread -create создание

b. Thread-exit завершение

c. Thread-join ожидание завершения некоторых потоков

d. Thread-yield передача процессора другому потоку

2) Реализация потоков в ядре ОС. Управляет их переключением. Преимущества: решены проблемы 1 системы. Недостатки: уменьшение быстродействия. Нет собственной политики переключения.

3) Способ активации планировщика. Ядро не управляет потоками непосредственно, потоки работают поверх системы исполнения программ. Когда ядро определяет необходимость блокировки исполняемого потока (например: при вызове системного вызова), оно выполняет вызов системы поддержки исполнения программ, передовая в качестве аргументов номер потока и описание случившегося. При этом происходит «обратный вызов» (callback), что нарушает иерархию.

4) Всплывающие потоки. Основное назначение- обработка поступающих в систему запросов. При поступлении запроса создается новый поток для его обработки, что позволяет ускорить реакцию для написания события.