Контрольная работа: Чтение и запись с CD-R-устройств
S6 – вывод данных в канал DMA;
S7 – получение данных из канала DMA;
S8 – запись данных на диск.
Ситуация | Вектор | ||||||||
P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | ||
S1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
S2 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | |
S3 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |
S4 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | |
S5 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | |
S6 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |
S7 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |
S8 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Инициаторы и результанты исходного процесса:
I={S1, S2, S3, S5, S7 }.
R={S4, S6, S8 }.
В качестве входной компоненты выберем 1, 2 и3 элементы векторов ситуаций.
|
Выделим входную компоненту X* ={100,110}. Берём такие компоненты, так как именно этим входным компонентам соответствуют ситуации, имеющие непосредственное отношение к чтению / записи.
Тогда редукцией P(X*) будет являться:
S* = {S1, S5, S6, S7, S8 };
Для каждого инициатора процесса P построим множество ситуаций Si I, S(Si ), встречающихся на траекториях процесса P ведущих из указанного инициатора.
1: S1 -S2 -S3 -S4
2: S1 -S7 -S8
3: S1 -S5 -S6
4: S2 -S3 -S4
5: S7 -S8
6: S5 -S6
Образуем множество S(X* ), как объединение тех множеств S(Si ), для которых справедливо S(Si )S* .
S(X* )={S1, S5, S6, S7, S8 };
;
;
R(X* )={S6, S8 }.
Построим граф процесса редукции:
Таким образом, в результате редукции были выделены ветви, которые соответствуют чтению и записи на диск. То есть из исходного процесса выделили более простой подпроцесс.
Рассмотрим два АП. Один из них исходный процесс , другой – вновь построенный :
В качестве дополнительного процесса построим вспомогательный процесс, управляющий лотком CD-ROM’а.
Компоненты процесса :
p 1 ’ – лоток закрыт;
p 2 ’ – диск в лотке.