Содержание
- 2. Лекция 5. Алгоритмы синхронизации
- 3. Активности и атомарные операции Отрезать ломтик хлеба Отрезать ломтик колбасы Намазать хлеб маслом Положить колбасу на
- 4. Interleaving Активность P: a b c Активность Q: d e f Последовательное выполнение PQ: a b
- 5. Детерминированные и недетерминированные наборы активностей Недетерминированный набор – при одинаковых начальных данных возможны разные результаты Детерминированный
- 6. Условия Бернстайна (Bernstain) P: 1) x=u+v 2) y=x*w Входные переменные R1 = {u, v} R2 =
- 7. Состояние гонки (race condition) и взаимоисключение (mutual exclusion) P: x=2 y=x-1 Q: x=3 z=x+1 Набор недетерминирован
- 8. Критическая секция Приходит в комнату Приходит в комнату Приходит в комнату Уходит за пивом Уходит за
- 9. Структура процесса, участвующего во взимодействии while (some condition) { entry section critical section exit section remainder
- 10. Программные алгоритмы организации взаимодействия Требования, предъявляемые к алгоритмам Программный алгоритм должен быть программным Нет предположений об
- 11. Программные алгоритмы организации взаимодействия Запрет прерываний while (some condition) { запретить все прерывания critical section разрешить
- 12. Программные алгоритмы организации взаимодействия Переменная-замок while (some condition) { while (lock); critical section lock = 0;
- 13. Программные алгоритмы организации взаимодействия Строгое чередование while (some condition) { while (turn != i); critical section
- 14. Программные алгоритмы организации взаимодействия Флаги готовности while (some condition) { while (ready[1-i]); critical section ready[i] =
- 15. Программные алгоритмы организации взаимодействия Алгоритм Петерсона while (some condition) { while (ready[1-i] && turn == 1-i);
- 16. Аппаратная поддержка взаимоисключений Команда Test-And-Set int Test-And-Set (int *a) { int tmp = *a; *a =
- 18. Скачать презентацию