[03.11.11] Лекция №10 (Лекции)
Описание файла
Файл "[03.11.11] Лекция №10" внутри архива находится в следующих папках: Лекции, 10 - [03.11.11] Лекция №10. Документ из архива "Лекции", который расположен в категории "". Всё это находится в предмете "параллельные процессы" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "параллельные процессы" в общих файлах.
Онлайн просмотр документа "[03.11.11] Лекция №10"
Текст из документа "[03.11.11] Лекция №10"
Лекция №10 [03.11.11]
Ещё раз, когда у нас несколько процессов
...
КПП будет , и в КПП будут выполняться по росту. И остальное всё тоже по росту, короче.
Итого, надо следить, чтобы ни одно из не нарушилось, и надо иметь механизм определения сцепления для одновременных событий.
Классы одновременных событий
КОС – это совокупность событий, происходящих в один и тот же момент модельного времени.
Модельное время – время, в котором описано функционирование системы.
Событие – выполнение элементарного оператора в любом треке. КПП состоит из совокупности событий.
И вот что такое КОС:
Объём (мощность) КОСа не может быть больше количества одновременно протекающих процессов. Самое меньшее значение – один. То есть, вон те 2 и 6 – тоже можно считать КОСами. Если у нас 142 одновременно протекающих процесса, то максимальное количество событий в одном КОС – 142.
Структура КОСа – граф:
О н опишется вот так: , то есть, парные выполняются в любом порядке. При этом всём, вся эта конструкция выполняется мгновенно, это же КОС. Время на выполнение КОСа не сдвигается ни на сколько.
Введём классификацию событий: активные и пассивные. Активное событие – которое идёт в своём треке после элементарного оператора, имеющего временное условие (когда наступает указанный момент времени). А если это событие следует в своём треке за логическим условием , то оно пассивное (выполнится только после выполнения логического условия).
Вот тут активные: 2, 4; а пассивные: 3, 5, 6. А первое – неизвестно, мы не знаем.
Делаем такое предположение: первое событие в КОС обязательно активное. И второе предположение: КОС содержит только одно активное событие. Потом начинается вычисление логических событий, они могут не сразу быть равны 1, считаем, проходим сначала (потому что каждое изменяет состояние системы).
КОС завершается, когда все во всех процессах (в соответствии с положением инициатора, развитием процесса) равны 0 (ничто не изменяет состояния системы). После этого строим новый КОС, который начинаем со следующего активного события.
Но могут возникнуть два одновременных активных события, тогда строим КОС на любом из этих событий, выполняем его, и строим второй, которой произойдёт в тот же момент, мы не сдвинемся по времени совершенно. Такие дела.
Моделирующий алгоритм сканирующего типа
ТБВ хранит записи, в которых указаны следующие активные операторы. Эта таблица поступает на Календарь. КОС заканчивается, и Календарь ищет по ТБВ запись с минимальным значением времени (которое раньше всех произойдёт), и это время заносится во Время. Управление передаётся в оператор, который в этой записи, а сама запись стирается.
Пример ТБВ:
Как только выполняется очередной элементарный оператор, управление передаётся в АПУ, которое начинает высчитывать логические события, которые хранятся в Таблице условий:
Пример ТУ:
Всего строк в обеих таблицах будет столько, сколько процессов (то есть, инициаторов). Причём, это число на обе таблицы: если всего инициаторов 11, то 4, например, в ТБВ, а 7 – в ТУ. Ну там в зависимости сколько активных и сколько пассивных.