Содержание
- 2. Приложение реального времени Асинхронное выполнение задач Задача 1 «Виртуальная машина» Задача N . . . «Виртуальная
- 3. Описание S1 Sn Parbegin S1; . . . Sn Parend; S1 S2 S3 S4 Parbegin begin
- 4. Диаграммы последовательности Диаграммы активности : Main : Consumer : Prodused new new notEmpty notFull cancel cancel
- 5. Проблемы Критическая секция Взаимная блокировка (тупики, deadlock) D 1 Захватить R1 3 2 1 5 6
- 6. Задача А t ta КС1 ta Задача B t tb tb КС2 а) недопустимо одновременное выполнение
- 7. Алгоритм Деккера - вспомогательная схема 1 integer Очередь = 1; Parbegin while(true){ while(Очередь == 2){} КС_1;
- 8. Алгоритм Деккера, вспомогательная схема 1 Вспомогательная схема 1: задача не решена а) при остановке одного из
- 9. Алгоритм Деккера - вспомогательная схема 2 integer с1 = 1, //занят с2 = 0; //свободен; Parbegin
- 10. Вспомогательная схема 2: задача не решена а) при одновременном выполнении действий {*} происходит блокировка Однако б)
- 11. Алгоритм Деккера, реализация Parbegin while(true){ с1:= 1; {*} while(с2==1){ if(Очередь == 2){ с1 = 0; }
- 12. а) В теле цикла {**} параметр цикла не изменяется, т.е. цикл {**} можно представить как «занятое
- 13. Механизм семафоров Двоичный семафор class ДвСемафор { private integer значение = 1; void P{ if(значение =
- 14. Двоичный семафор При создании объекта семафор S с ним связывается очередь заблокированных процессов; очередь обслуживается в
- 15. Обеспечение взаимного исключения ДвСемафор S = new ДвСемафор(); Ri: loop S.P(); КС_I; S.V(); Остальное_I; endloop; Parbegin
- 16. Общий (счетный) семафор class ОбСемафор { private integer значение; private integer maxЗначение; ОбСемафор(integer n, m) {
- 17. Пример: «Поставщик-Потребитель» Поставщик: производит единицы информации и записывает их в буфер А, размер которого N Потребитель:
- 18. Parbegin Поставщик; Потребитель Parend; Поставщик: loop Производство; (*) Полон.P(); (**) Доступ.P(); Запись_в_буфер; Доступ.V(); Пуст.V(); endloop. «Поставщик-Потребитель»
- 19. 6. «Вдаимодействующие последовательные процессы» 2015 v.01 Недостатки механизма семафоров Низкий уровень, слабая защищенность от ошибок при
- 20. 6. «Вдаимодействующие последовательные процессы» 2015 v.01 Пример сервисов, поддерживающих семафоры в RTEK KC_CloseSema – end the
- 21. 6. «Вдаимодействующие последовательные процессы» 2015 v.01 KC_LookupSema – look up a semaphore’s name to get its
- 23. Скачать презентацию