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

UptoLike

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

полнительно для каждого потока счетчик команд, регистры, стек, ло-
кальную память, состояние выполнения.
Счетчик командотслеживает порядок выполнения.
Регистрыиспользуются для хранения текущих переменных.
Стексодержит протокол выполнения процесса, где для каж-
дой вызванной, но еще не вернувшейся процедуры, отведен от-
дельный фрейм. Во фрейме находятся локальные переменные
процедуры и адрес возврата. Каждый поток может вызывать
различные процедуры и соответственно иметь различный про-
токол выполнения процесса.
Локальная память статическая память, выделяемая потоку для
локальных переменных.
Состояние выполнения потока одно из четырех основных со-
стояний (готовый к выполнению, выполняющийся, блокирован-
ный, завершающийся).
В многопоточном режиме процессы обычно запускаются с одним по-
током. Этот поток может создавать новые потоки, определив их ука-
затели команд и аргументы. Новые потоки создаются со своим собст-
венным контекстом регистров и стековым пространством, после чего
помещаются в очередь готовых к выполнению потоков. В случае не-
обходимости ожидания некоторого события поток блокируется (при
этом сохраняется содержимое его пользовательских регистров, счет-
чика команд и указателя стека). После этого процессор может перей-
ти к выполнению другого потока. После завершения потока его кон-
текст регистров и стеки удаляются.
Многопоточная модель процесса охватывает две категории по-
токов: потоки на уровне пользователя (user-level threads – ULT) и
потоки на уровне ядра (kernel – level threads – KLT) [3,5]. Потоки на
уровне пользователя управляются самим приложением. Обычно при-
ложение в начале своей работы состоит из одного потока, с которого
35