Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Межпроцессное взаимодействие





Время от времени у процессов возникает необходимость сотрудничать друг с другом (взаимодействовать между собой). Поэтому необходимо реализовать взаимодействие процессов, по возможности не использующее прерывания.

Возникающие проблемы взаимодействия процессов:

• Создание возможности процессам передавать информацию друг другу

• Защита процессов друг от друга (контроль деятельности).

• Согласование данных (действий).

Средства обмена информацией можно разделить на три категории:

Сигнальные. Передается минимальное количество информации – один бит, "да" или "нет". Используются, как правило, для извещения процесса о наступлении какого-либо события.

Канальные. «Общение» процессов происходит через линии связи, предоставленные операционной системой, и напоминает общение людей по телефону. Объем передаваемой информации в единицу времени ограничен пропускной способностью линий связи.

Разделяемая память. Два или более процессов могут совместно использовать некоторую область адресного пространства. Созданием разделяемой памяти занимается операционная система. Возможность обмена информацией максимальна, как, впрочем, и влияние на поведение другого процесса, но требует повышенной осторожности. Использование разделяемой памяти для передачи/получения информации осуществляется с помощью средств языков программирования, в то время как сигнальным и канальным средствам коммуникации для этого необходимы специальные системные вызовы. Разделяемая память представляет собой наиболее быстрый способ взаимодействия процессов в одной вычислительной системе.

Состояние состязания – ситуация в которой два или более процесса считывают или записывают данные одновременно и конечный результат зависит только от того, какой из них был первым (пример - спулер печати).

Критические области

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







Date: 2016-06-06; view: 497; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию