Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Взаимодействие между процессамиСодержание книги Поиск на нашем сайте Ситуации, когда приходится процессам взаимодействовать: · Передача информации от одного процесса другому · Контроль над деятельностью процессов (например: когда они борются за один ресурс) · Согласование действий процессов (например: когда один процесс поставляет данные, а другой их выводит на печать. Если согласованности не будет, то второй процесс может начать печать раньше, чем поступят данные). Два вторых случая относятся и к потокам. В первом случае у потоков нет проблем, т.к. они используют общее адресное пространство. Передача информации от одного процесса другому Передача может осуществляться несколькими способами: · Разделяемая память · Каналы (трубы), это псевдофайл, в который один процесс пишет, а другой читает. · Сокеты - поддерживаемый ядром механизм, скрывающий особенности среды и позволяющий единообразно взаимодействовать процессам, как на одном компьютере, так и в сети. · Почтовые ящики (только в Windows), однонаправленные, возможность широковещательной рассылки. · Вызов удаленной процедуры, процесс А может вызвать процедуру в процессе В, и получить обратно данные.
Схема для канала
Схема для сокетов СОБЫТИЯ (СИГНАЛЫ). Оповещение о наступлении к-л события. Система прерываний предст. собой пример реализации сигналов. С сигналами связана логическая переменная (0 или 1) и означающая наступление к-л события. Почтовые ящики Представляют собой массив, в котором находятся очереди сообщений о наступлении каких-либо событий. С каждым ПЯ связана очередь задач, ожидающих освобождение ПЯ. Обычно доступ к ПЯ организуется через алгоритм взаимного исключения. Как правило, размер ПЯ неограничен. Критические области Критическая область - часть программы, в которой есть обращение к совместно используемым данным. Условия избегания состязания и эффективной работы процессов: 1. Два процесса не должны одновременно находиться в критических областях. 2. Процесс, находящийся вне критической области, не может блокировать другие процессы. 3. Невозможна ситуация, когда процесс вечно ждет (зависает) попадания в критическую область. Пример:
Взаимное исключение с использованием критических областей
По типу взаимодействия различают сотрудничающие процессы: — процессы, разделяющие только коммуникационный канал, по которому один передает данные, а другой их получает; — процессы, осуществляющие взаимную синхронизацию: когда работает один, другой ждет окончания его работы (типично для программ, управляющие рядом технологических процессов);
конкурирующие процессы: — процессы, использующие совместно разделяемый ресурс; — процессы, использующие критические секции; — процессы, использующие взаимные исключения. При синхронизации задач необходимо бороться с 3-мя проблемами: 1. "блокировка" ("lockout"): • процесс (задача) ожидает ресурс, который никогда не освободится, 2. "тупик" ("deadlock") • два процесса (задачи) владеют каждым по ресурсу и ожидают освобождения ресурса, которым владеет другой процесс (задача), 3. "голодание" (starvation) - ситуации, когда процессы с низким приоритетом могут никогда не исполниться и бесконечно ждать. когда процесс (задача) монополизировал процессор Для минимизации этик проблем используются следующие идеи. • Количество ресурсов ограничено, поэтому нельзя допускать создания задач, для которых недостаточно ресурсов для выполнения. • Задачи делятся на группы: — неактивные задачи, которым не хватило даже пассивных ресурсов, и ожидающие событий задачи; таким задачам активный ресурс (процессор) не дается вообще; — готовые задачи, у которых есть все необходимые пассивные ресурсы, но нет процессора; являются кандидатами на получение процессора в случае его освобождения; — выполняющиеся задачи, у которых есть все необходимые пассивные ресурсы, и процессор.
|
||
|
Последнее изменение этой страницы: 2017-02-06; просмотров: 481; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.10 (0.008 с.) |