Составители:
ет собой набор процедур, работающих на уровне приложения и
совместно используемых всеми приложениями.
К числу недостатков использования ULT относятся:
• При выполнении операционной системой системного вызова
блокируется не только данный поток, но и все другие потоки
данного процесса.
• Поскольку ядро закрепляет за каждым процессом только один
процессор, несколько потоков одного процесса не могут выпол-
няться одновременно даже в случае многопроцессорной систе-
мы.
Потоки на уровне ядра управляются самим ядром через интер-
фейс прикладного программирования (API) средств ядра, управляю-
щих потоками [3]. Ядро поддерживает контекст процесса, а также
контексты каждого отдельного потока процесса. Планирование вы-
полняется ядром исходя из состояния потоков. Благодаря этому ядро
может осуществлять планирование работы нескольких потоков одно-
го процесса на нескольких процессорах. Кроме того, при блокировке
одного из потоков процесса, ядро может выбрать для выполнения
другой поток данного процесса. Основным недостатком использова-
ния потоков на уровне ядра являются дополнительные накладные
расходы на переключения между потоками внутри одного процесса
за счет переходов в режим ядра.
Если для большинства потоков приложения необходим доступ к ядру,
то использование схемы KLT более целесообразно. Примерами ис-
пользования потоков на уровне ядра являются ОС W2K, Linux. В не-
которых операционных системах, например в ОС Solaris, использует-
ся комбинированный подход [3]. Потоки на пользовательском уровне,
входящие в приложение, отображаются в такое же или меньшее чис-
ло потоков на уровне ядра (рис 2.5). При этом число потоков на уров-
37
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »