The design of the UNIX Operating System 20 страница
Далее в этой части книги для простоты изложения мы будем использовать термин "процесс", хотя все сказанное будет относиться и к нитям исполнения.
Основы операционных систем | 48 |
Заключение
Для достижения поставленной цели различные процессы могут исполняться псевдопараллельно на одной вычислительной системе или параллельно на разных вычислительных системах, взаимодействуя между собой. Причинами для совместной деятельности процессов обычно являются: необходимость ускорения решения задачи, совместное использование обновляемых данных, удобство работы или модульный принцип построения программных комплексов. Процессы , которые влияют на поведение друг друга пу-тем обмена информацией, называют кооперативными или взаимодействующими процессами , в отличие от независимых процессов, не оказывающих друг на друга никакого воздействия и ничего не знающих о взаимном существовании в вычислительной системе.
|
|
|
|
Для обеспечения корректного обмена информацией операционная система должна предоставить процес-сам специальные средства связи. По объему передаваемой информации и степени возможного воздейст-вия на поведение процесса, получившего информацию, их можно разделить на три категории: сигналь-ные, канальные и разделяемую память. Через канальные средства коммуникации информация может пе-редаваться в виде потока данных или в виде сообщений и накапливаться в буфере определенного разме-ра. Для инициализации "общения" процессов и его прекращения могут потребоваться специальные дей-ствия со стороны операционной системы. Процессы, связываясь друг с другом, могут использовать не-прямую, прямую симметричную и прямую асимметричную схемы адресации. Существуют одно- и дву-направленные средства передачи информации. Средства коммуникации обеспечивают надежную связь, если при общении процессов не происходит потери и повреждения информации, не появляется лишней информации, не нарушается порядок данных.
|
|
|
|
Усилия, направленные на ускорение решения задач в рамках классических операционных систем, приве-ли к появлению новой абстракции внутри понятия "процесс" – нити исполнения или просто нити. Нити процесса разделяют его программный код, глобальные переменные и системные ресурсы, но каждая нить имеет собственный программный счетчик, свое содержимое регистров и свой стек. Теперь процесс пред-ставляется как совокупность взаимодействующих нитей и выделенных ему ресурсов. Нити могут порож-дать новые нити внутри своего процесса, они имеют состояния , аналогичные состояниям процесса, и мо-гут переводиться операционной системой из одного состояния в другое. В системах, поддерживающих нити на уровне ядра , планирование использования процессора осуществляется в терминах нитей испол-нения, а управление остальными системными ресурсами – в терминах процессов. Накладные расходы на создание новой нити и на переключение контекста между нитями одного процесса существенно меньше, чем на те же самые действия для процессов, что позволяет на однопроцессорной вычислительной систе-ме ускорять решение задач с помощью организации работы нескольких взаимодействующих нитей.
Основы операционных систем | 49 |
5.Лекция: Алгоритмы синхронизации
Для корректного взаимодействия процессов недостаточно одних организационных усилий операционной системы. Необходимы определенные внутренние изменения в поведении процессов. В настоящей лекции рассматриваются вопросы, связанные с такими изменениями, приводятся программные алгоритмы кор-ректной организации взаимодействия процессов.
Дата добавления: 2021-01-21; просмотров: 96; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!