КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обмен сообщениями между процессами
STI
Пример:
1) P1: сч_сем = 0; P1 – в критический участок
3) P3 сч_сем = -2; P3 – в очередь семафора 4) P1 – закончился; сч_сем = -1; P2 – из очереди семафора в критический участок 5) P2 – закончился; сч_сем = 0; P3 – из очереди семафора в критический участок 6) P3 – финишировал; сч_сем = 1; код программы закончил свою работу
Примечание: в этой конструкции значение сч_сем = 1 – эквивалентно тому, что очередь семафора пуста, а критический участок – свободен.
Примитивы сообщения; Самый медленный способ. Придерживается следующих функций: а) синхронизация медленных и быстрых устройств; б) обмен сообщениями между процессами (подпрограммами).
С точки зрения ОС последовательные файлы – это ничто иное, как буферы к устройствам ввода/вывода. Именно буфер выступает в качестве синхронизации между устройствами и вычислительной системой.
Буфер «кольцевая очередь (см. курс СиАОЭДЭВМ).
Достоинства: + операции чтения и записи можно разделить по времени (что приводит к синхронизации).
Недостаток: - любой буфер является фиксированным.
Устранение недостатка: а) содержать в буфере дескриптор очереди, а не сами данные, что уменьшает информативность; б) дополнить соответствующими динамическими очередями (правда это снизит скорость обработки).
Этот обмен обеспечивается посредством т.н. почтового ящика. Главное требование – доставка соответствующему адресату (причем правильная доставка).
Протокол (требования): 1. прием/передача сообщений на пользовательском уровне должны выглядеть как вызовы процедур чтения/записи; 2. при обращении к процедуре чтения сообщения в случае его отсутствия процесс приостанавливается и ждет появления сообщения; 3. при обращении к процедуре записи сообщения и отсутствии процесса, ждущего это сообщение, последнее становится в очередь; 4. процесс, передающий сообщение, приостанавливается и ждет подтверждения.
По сути дела почтовый ящик – набор очередей.
Почтовый ящик – объект, который в качестве данных содержит: - очер_сообщ, ожидающую процессы; - очер_проц, ожидающую сообщения; - очер_проц, ждущих подтверждения.
Методы: чтение/запись.
Дата добавления: 2013-12-13; Просмотров: 466; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |