Студопедия

КАТЕГОРИИ:


Архитектура-(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)-3)
Счетчик семафора = 1 (начальное состояние)

 
 


P3
P1 P2 P3

P2
захв_семаф захв_сем захв_сем

       
 
Критический участок
   
 

 

 


4)
осв_сем осв_сем осв_сем

 
 


1) P1: сч_сем = 0; P1 – в критический участок

P3
2) P2: сч_сем = -1; P2 – в очередь семафора

3) P3 сч_сем = -2; P3 – в очередь семафора

4) P1 – закончился; сч_сем = -1; P2 – из очереди семафора в критический участок

5) P2 – закончился; сч_сем = 0; P3 – из очереди семафора в критический участок

6) P3 – финишировал; сч_сем = 1; код программы закончил свою работу

 

Примечание: в этой конструкции значение сч_сем = 1 – эквивалентно тому, что очередь семафора пуста, а критический участок – свободен.

 

Примитивы сообщения;

Самый медленный способ.

Придерживается следующих функций:

а) синхронизация медленных и быстрых устройств;

б) обмен сообщениями между процессами (подпрограммами).

 

С точки зрения ОС последовательные файлы – это ничто иное, как буферы к устройствам ввода/вывода.

Именно буфер выступает в качестве синхронизации между устройствами и вычислительной системой.

 

Буфер «кольцевая очередь (см. курс СиАОЭДЭВМ).

 

Достоинства:

+ операции чтения и записи можно разделить по времени (что приводит к синхронизации).

 

Недостаток:

- любой буфер является фиксированным.

 

Устранение недостатка:

а) содержать в буфере дескриптор очереди, а не сами данные, что уменьшает информативность;

б) дополнить соответствующими динамическими очередями (правда это снизит скорость обработки).

 

 

Этот обмен обеспечивается посредством т.н. почтового ящика. Главное требование – доставка соответствующему адресату (причем правильная доставка).

 

Протокол (требования):

1. прием/передача сообщений на пользовательском уровне должны выглядеть как вызовы процедур чтения/записи;

2. при обращении к процедуре чтения сообщения в случае его отсутствия процесс приостанавливается и ждет появления сообщения;

3. при обращении к процедуре записи сообщения и отсутствии процесса, ждущего это сообщение, последнее становится в очередь;

4. процесс, передающий сообщение, приостанавливается и ждет подтверждения.

 

По сути дела почтовый ящик – набор очередей.

 

Почтовый ящик – объект, который в качестве данных содержит:

- очер_сообщ, ожидающую процессы;

- очер_проц, ожидающую сообщения;

- очер_проц, ждущих подтверждения.

 

Методы: чтение/запись.

 

<== предыдущая лекция | следующая лекция ==>
Примитивы ядра | Алгоритмы априорного удаления тупиков
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 441; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.