Программирование основы Программирование Технологии программирования Разработка программ Работа с данными Методы программирования Программирование интерфейсов Программирование - IDE интерфейс Программирование - графический интерфейс Программирование - Power Strip Программирование и тестирование Программирование - отладка Программирование - тестирование |
|
свободные деньги then![]() |
i
N) :
i then
свободные деньги then
j then
v end; L: квадрат(а, 3); квадрат(b, а); квадрат(а, b); end
3; b := а
а; а := b
b end
вектор[jl; произведение[k] := s end; умножстроки(k - 1) parend| Процесс | Максимальное требование |
Настоящий объем |
Дальнейшее требование |
| П1 П2 |
80 60 |
40 + 20 |
40 40 |
| Свободная память = 100 - 60 = 40 | |||
| Процесс | Максимальное требование |
Настоящий объем |
Дальнейшее требование |
| П1 П2 |
80 60 |
41 + 21 |
39 39 |
| Свободная память = 100 - 62 = 38 | |||
1", т. е. "очередь = 2". Но единственный способ для переменной "очередь" получить это значение есть присваивание "очередь := 2" в процессе 1. Так как процесс 1 выполняет это присваивание только по завершении своего критического интервала, то процесс 2 может войти в свой критический интервал только после завершения критического интервала 1. А критический интервал 1 действительно мог быть выполнен, потому что начальное условие "очередь = 1" означает одновременно "очередь
2", и значит потенциальный цикл ожидания, помеченный в программе как L1, первоначально бездействует.
2 then goto Область 6; Область 5: V(взаимискл); прием сообщения; if сообщение
Ai and сообщение
А2 and сообщение
A3 then goto ждать; i: = номерпроц; if сообщение = Al then
А4(заданный процесс) and сообщение
А5(заданный процесс) then goto ждать; i := ; if копияпроцпер[i]
2 then goto ждать; ответоператора[i] := if сообщение = А4 then 1 else 2; Р(взаимискл); процпер[i] := 0; goto извещение процесса i end![]() Рис.8. |
![]() Рис.9. |
![]() Рис.10. |
![]() Рис.11. |