Архив документации OpenNet.ru /
Раздел "Программирование, языки" /
Индекс
Next: Потоки уровня ядра.
Up: Уровни потоков.
Previous: Уровни потоков.
Contents
При использовании этого уровня ядро не знает о существовании потоков
- все управление потоками реализуется приложением, с помощью специальных
библиотек потоков. Переключение потоков не требует привилегий режима
ядра, а планирование полностью зависит от приложения. При этом ядро
управляет деятельностью процесса. Если поток вызывает системную функцию,
будет блокирован весь процесс, но для поточной библиотеки этот поток
будет находиться в активном состоянии. Здесь состояние потока не зависит
от состояния процесса.
Преимущества пользовательских потоков:
- Переключение потоков не требует участия ядра - нет переключения из
режима задачи в режим ядра.
- Планирование может определяться приложением - при этом выбирается
наилучший алгоритм.
- Пользовательские потоки могут применяться в любой ОС - необходимо
лишь наличие совместимой библиотеки потоков.
Недостатки:
- Большинство системных вызовов является блокирующими и ядро блокирует
процессы - при этом все потоки в пределах процесса будут блокированы.
- Ядро может назначать процессы только на процессоры - два потока в
пределах одного и того же процесса не могут выполняться одновременно
на двух разных процессорах.
2003-12-09
Архив документации на OpenNet.ru