Операционные системы. Процессы и потоки. Илюшкин Б.И. - 36 стр.

UptoLike

Составители: 

начинается выполнение данного приложения, и который размещается
в процессе, управляемом ядром. Приложение может создать новый
поток при помощи вызова библиотечной процедуры работы с пото-
ками, например thread_create(). В результате создается структура дан-
ных для нового потока и управление передается к одному из готовых
к выполнению потоков данного процесса в соответствии с заданным
алгоритмом планирования. При этом контекст текущего потока со-
храняется. При возврате управления к данному потоку его контекст
восстанавливается. Все управление ULT осуществляется в пользова-
тельском пространстве в рамках одного процесса. Связь с ядром от-
сутствует. Ядро продолжает осуществлять планирование процесса
как единого целого. Однако существует взаимосвязь между планиро-
ванием потоков и планированием процессов. В случае возникновения
прерывания процесса, например по вводу-выводу или таймеру, вы-
полняющийся поток процесса продолжает оставаться в состоянии
выполнения, хотя перестает выполняться на процессоре. При возвра-
те управления процессу возобновляется выполнение потока на про-
цессоре.
Использование потоков на уровне пользователя обладает опре-
деленными преимуществами по сравнению с использованием пото-
ков на уровне ядра [3]. К числу таких преимуществ относятся:
Для управления потоками процессу не нужно переключаться в
режим ядра, что позволяет избежать дополнительных расходов.
Планирование потоков может производиться в зависимости от
специфики приложения. Для одних приложений лучше подхо-
дит простой алгоритм круговой диспетчеризации, а для других -
алгоритм планирования с использованием приоритетов.
Использование потоков на уровне пользователя применимо для
любой операционной системы. Библиотека потоков представля-
36