[an error occurred while processing this directive] [an error occurred while processing this directive]
2 yes (с предыдущей страницы)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Sdl 18 января 2002 г. 13:17

Спасибо за ссылочку на предыдущей странице. Очень интересно, т.к. в Шоу (откопал все-таки дома), половины еще нет, старовата. Но есть пара замечаний:
1. Алгоритм Петерсона - программный, т.е основан неделимости операции чтения/записи
2. В этой лекции некорректно описаны семафоры Дейкстры, и когда преподаватели нормально списывать научаться :).
V(s) - переменная S увеличивается на 1 одним неделимым действием: выборка, инкремент и запоминание не могут быть прерваны, и к S нет доступа другим процессам во время операции
P(S) - уменьшение S на 1 если возможно. Если S=0, то невозможно уменьшить S. Тогда процесс, вызывающий P - операцию, ждет, пока это уменьшение не станет возможным. Успешная проверка и уменьшение S - так же неделимая операция.


Как вариант ко вчерашнему обсуждению, естественно с недостаками. Мастер выдает уровнем прерывание на Slave, получет подтверждение и читает на здоровье, Slave соответсвенно отдыхет от записи. 2 ноги на каждый проц и если надо флажок запрета в Slave.
Прерывание необходимо для синхронизации запроса/подтверждения.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru