The design of the UNIX Operating System 20 страница



 

Далее в этой части книги для простоты изложения мы будем использовать термин "процесс", хотя все сказанное будет относиться и к нитям исполнения.


Основы операционных систем 48

Заключение

 

Для достижения поставленной цели различные процессы могут исполняться псевдопараллельно на одной вычислительной системе или параллельно на разных вычислительных системах, взаимодействуя между собой. Причинами для совместной деятельности процессов обычно являются: необходимость ускорения решения задачи, совместное использование обновляемых данных, удобство работы или модульный принцип построения программных комплексов. Процессы , которые влияют на поведение друг друга пу-тем обмена информацией, называют кооперативными или взаимодействующими процессами , в отличие от независимых процессов, не оказывающих друг на друга никакого воздействия и ничего не знающих о взаимном существовании в вычислительной системе.

 

Для обеспечения корректного обмена информацией операционная система должна предоставить процес-сам специальные средства связи. По объему передаваемой информации и степени возможного воздейст-вия на поведение процесса, получившего информацию, их можно разделить на три категории: сигналь-ные, канальные и разделяемую память. Через канальные средства коммуникации информация может пе-редаваться в виде потока данных или в виде сообщений и накапливаться в буфере определенного разме-ра. Для инициализации "общения" процессов и его прекращения могут потребоваться специальные дей-ствия со стороны операционной системы. Процессы, связываясь друг с другом, могут использовать не-прямую, прямую симметричную и прямую асимметричную схемы адресации. Существуют одно- и дву-направленные средства передачи информации. Средства коммуникации обеспечивают надежную связь, если при общении процессов не происходит потери и повреждения информации, не появляется лишней информации, не нарушается порядок данных.

 

Усилия, направленные на ускорение решения задач в рамках классических операционных систем, приве-ли к появлению новой абстракции внутри понятия "процесс" – нити исполнения или просто нити. Нити процесса разделяют его программный код, глобальные переменные и системные ресурсы, но каждая нить имеет собственный программный счетчик, свое содержимое регистров и свой стек. Теперь процесс пред-ставляется как совокупность взаимодействующих нитей и выделенных ему ресурсов. Нити могут порож-дать новые нити внутри своего процесса, они имеют состояния , аналогичные состояниям процесса, и мо-гут переводиться операционной системой из одного состояния в другое. В системах, поддерживающих нити на уровне ядра , планирование использования процессора осуществляется в терминах нитей испол-нения, а управление остальными системными ресурсами – в терминах процессов. Накладные расходы на создание новой нити и на переключение контекста между нитями одного процесса существенно меньше, чем на те же самые действия для процессов, что позволяет на однопроцессорной вычислительной систе-ме ускорять решение задач с помощью организации работы нескольких взаимодействующих нитей.


Основы операционных систем 49

 

5.Лекция: Алгоритмы синхронизации

 

Для корректного взаимодействия процессов недостаточно одних организационных усилий операционной системы. Необходимы определенные внутренние изменения в поведении процессов. В настоящей лекции рассматриваются вопросы, связанные с такими изменениями, приводятся программные алгоритмы кор-ректной организации взаимодействия процессов.


Дата добавления: 2021-01-21; просмотров: 96; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!