Очереди задач
Для обеспечения
рассмотренных выше видов взаимодействия
и синхронизации задач операционная
система строит ряд очередей задач.
Очередь
выполняемых задач
– это очередь задач, находящихся в
состоянии исполнения (получающих
процессорное время в соответствии с
тем или иным алгоритмом разделения
времени).
Очередь готовых
задач – это
очередь задач, находящихся в состоянии
готовности.
Очередь задач,
ожидающих семафора
– строится для каждого созданного
семафора.
Очередь задач,
ожидающих события
– строится для каждого события.
Это базовые очереди,
на основе которых строятся другие.
Например, почтовые ящики часто реализуются
на базе семафоров и событий, и с каждым
из почтовых ящиков связаны по две очереди
задач (ожидающих сообщений и ожидающих
свободного места в ящике).
Эти очереди ведутся
операционной системой, поэтому
использование любого "объекта"
взаимодействия и синхронизации, приводит
к системным вызовам. При любом таком
вызове исполнение проходит по ядру
системы и менеджерам задач и памяти, и,
следовательно, любой вызов сопряжен с
дополнительными расходами.