Синхронизация и взаимодействие программных потоков в операционной среде реального времени. Дорогов А.Ю. - 7 стр.

UptoLike

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

7
Таймер (Timer) – объект ядра, который периодически или однократ-
но формирует события в заданные моменты времени.
Векторные сообщения (Vector) – объект ядра, который используется
при передаче длинных сообщений, имеющих предопределенную структуру.
В векторном сообщении выделяется заголовок и составные компоненты.
1.2. Атрибуты потоков
Каждый поток имеет системную область памяти, предназначенную для
размещения атрибутов потока. К атрибутам потока относятся:
tid – идентификатор потокаэто целое число, уникальное в преде-
лах процесса;
register context – область для хранения контекста состояния задачи,
используемая при блокировках и прерываниях потока;
stack – собственный стекмагазинная память для временных и ра-
бочих переменных;
signal mask – собственная маска для сигналовзапрещающая или,
наоборот, разрешающая прием и обработку сигналов;
cancellation handlers – функции, которые выполняются при заверше-
нии потока.
Системная область недоступна непосредственно из пользовательского
кода, но может быть доступна через системные вызовы после предвари-
тельной процедуры связывания с конкретным атрибутом.
1.3. Состояния потока
Потоки создаются и уничтожаются динамически. Число потоков в про-
цессе явно не ограничено. Любой поток может создать дочерний поток. При
создании потока ему выделяются ресурсы памяти в пределах адресного
пространства процесса. При завершении потока эти ресурсы освобождают-
ся. Поток может находиться в трех состояниях: исполняться на процессоре
(RUNNING), быть «готовым к исполнению» (READY), быть блокированным
(BLOCKED) (рис. 1.2).
Поток, «готовый к исполнению», не
исполняется только потому, что процес-
сор занят исполнением другого, возмож-
но более приоритетного потока. Блоки-
рованный поток не может исполняться
из-за ряда иных условий, к которым от-
носятся:
RUNNING
READY BLOCKED
Рис. 1.2