ВУЗ:
Составители:
64
3.3 Взаимодействие и синхронизация процессов и по-
токов
3.3.1 Независимые и взаимодействующие вычислительные про-
цессы
Основной особенностью мультипрограммных OC является то, что в
их среде параллельно развивается несколько (последовательных) вы-
числительных процессов. С точки зрения внешнего наблюдателя эти по-
следовательные вычислительные процессы выполняются одновременно
(«параллельно»). При этом под параллельными понимаются не только
процессы, одновременно развивающиеся на различных процессорах, ка-
налах и устройствах ввода-вывода, но и те последовательные процессы,
которые разделяют центральный процессор и в своем выполнении хотя
бы частично перекрываются во времени. Любая мультипрограммная ОС
вместе с параллельно выполняющимися процессами может быть логи-
чески представлена как совокупность последовательных вычислений,
которые, с одной стороны, состязаются за ресурсы, переходя из одного
состояния в другое, а с другой – действуют почти независимо один от
другого, но при этом образуя единую систему посредством установле-
ния разного рода связей между собой (путем пересылки сообщений и
синхронизирующих сигналов).
Итак, параллельными называют такие последовательные вычисли-
тельные процессы, которые одновременно находятся в каком-нибудь ак-
тивном состоянии. Два параллельных процесса могут быть независимы-
ми (англ. independent processes) либо взаимодействующими (англ.
cooperating processes).
Независимыми являются процессы, множества переменных кото-
рых не пересекаются. Под переменными в этом случае понимают файлы
данных, а также области оперативной памяти, сопоставленные проме-
жуточным и определенным в программе переменным. Независимые
процессы не влияют на результаты работы друг друга, так как не могут
изменять значения переменных друг у друга. Они могут только явиться
причиной в задержках исполнения друг друга, так как вынуждены раз-
делять ресурсы системы.
Взаимодействующие процессы используют совместно некоторые
(общие) переменные, и выполнение одного процесса может повлиять на
выполнение другого. Следует отметить, что при рассмотрении вопросов
синхронизации вычислительных процессов (п. 3.3.2), из числа разделяе-
мых ими ресурсов исключаются центральный процессор и программы,
реализующие эти процессы, то есть с логической точки зрения каждому
процессу соответствуют свои процессор и программа, хотя в реальных
Страницы
- « первая
- ‹ предыдущая
- …
- 62
- 63
- 64
- 65
- 66
- …
- следующая ›
- последняя »