Струйный принтер
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
ы, не являющей ни входной ни выходной.
Образуем p-блочное разбиение p множества S ситуаций процесса P, в ситуациях каждого блока которого входная компонента принимает фиксированное значение xj, 1 j p. Выберем r < p различных значений входной компоненты (составляющих множество X* X). Ситуации, входящие в те блоки разбиения p, которые соответствуют выбранным значениям входной компоненты, составляют подмножество S*, S* S.
Для каждого инициатора si I построим множество ситуаций S (si), встречающихся на траекториях процесса P, ведущих из указанного инициатора. Образуем множество S (X*) как объединение тех множеств S (si), для которых справедливо S (si) S*, т.е.
.
Построим также F (X*) = F (S (X*) S (X*)), I (X*) = I S (X*), R (X*) = R S (X*). Назовем процесс P (X*) = по выбранному множеству X* значений входной компоненты.
Процесс P
Рассмотрим процесс P = из 1, отношение непосредственного следования которого:
Пусть ситуации этого процесса структурированы с выделением входной компоненты. Представим его более наглядно (цветом выделена входная компонента x, инициаторы и результанты помечены символами i и r соответственно):
Порядок выполнения редукции
Определим порядок действий, которые необходимо выполнить для получения редукции процесса P.
.Определить множество X* входных компонент, по которым проводится редукция.
2.Определить множество S* ситуаций, подходящих для редукции.
.Определить множество S (X*) ситуации редукции.
.Определить отношение F (X*) непосредственного следования ситуации редукции.
.Определить множество I (X*) инициаторов редукции.
.Определить множество R (X*) результантов редукции.
Выполнение операции редукции
1.Определим множество X*.
X = {00, 01, 11}. Пусть X* = {11}.
.Определим множество S*.
S* = {110000, 111000, 111100, 111001, 110001, 110110} = {s1, s2, s4, s5, s6, s7}.
.Определим множество S (X*).
S (X*) = S* = {110000, 111000, 111100, 111001, 110001, 110110} = {s1, s2, s4, s5, s6, s7}.
.Определим отношение F (X*) = F (S (X*) S (X*)).
.Определим множество I (X*).
I = {s1}, S (X*) = {s1, s2, s4, s5, s6, s7} (X*) = I S (X*) = {s1} = {110000} = I.
.Определим множество R (X*).
R = {s3, s8, s9},(X*) = {s1, s2, s4, s5, s6, s7} = R S (X*) = .
Выводы по выполнению операции редукции
Суть операции редукции состоит в сведении данного асинхронного процесса к более простому. Такая операция необходима тогда, когда из полного описания процесса необходимо выделить некоторую его часть, рассмотрение которой интересно по тем или иным причинам.
Полученный в результате редукции асинхронный процесс описывает часть физического процесса печати одного листа на струйном принтере, для которой характерно наличие данных для печати в памяти принтера и наличие чернил, т.к. в качестве входной компоненты были выбраны значения компонент M = 1 и I = 1.
Композиция
Определение приведенного асинхронного процесса
Приведенным асинхронным процессом называется процесс PП = такой, что SП = SSД, FП = F (F'\ (F' (S'I))), IП I, RП = RSД.
Таким образом, приведенный процесс является объединением АП и его репозиции, в котором из отношения F' выброшены пары, задающие переходы к инициаторам процесса.
Определение композиции
Рассмотрим два АП - процесс P1 = , ситуации которых структурированы: в ситуациях P1 выделена выходная, а в ситуациях PП2 - входная компоненты. Пусть все или некоторые значения выходной компоненты y1 ситуаций S1 соответствуют всем или некоторым значениям входной компоненты x2 ситуаций S2. Обозначим проекции множества пар соответствующих друг другу значений компонент на множества Y1 и X2 через Y*1 и X*2 соответственно. По множествам Y*1 и X*2 построим редукции P1 (Y*1) и PП2 (X*2) процессов P1 и PП2. Пусть PП2 (X*2) - полностью приведенный процесс и Y**1 = Y*1, X**2 = X*2.
Построим, если это возможно, процесс P3 = , ситуации которого представимы в виде пар s3 = (s1, s2), такой, что:
1)s1 S1 (Y*1), s2 S2 (X*2), т.е. S3 S1 (Y*1) S2 (X*2);
2)выходная компонента y1 ситуации s1 равна входной компоненте x2 ситуации s2 (y1 = x2);
)если в S3 компонента s2 I2 (X*2), то s1 R1 (Y*1);
4)если , то либо , либо , либо .
Назовем последовательной композицией асинхронных процессов P1 и PП2 асинхронный процесс P3, образованный отождествлением значений входной и выходной компонент ситуаций редукцированных процессов P1 (Y*1) и PП2 (X*2) соответственно при выполнении перечисленных выше ограничений 1) - 4).
Процесс P1
Рассмотрим жизненный цикл любого процесса (потока) ОС. Он представлен в виде графа состояний процесса (потока):
Диспетчер печати струйного принтера, выполняясь в ОС, может состоять из нескольких потоков, каждый из которых отвечает за выполнение какой-то элементарной задачи. Допустим, что один из потоков отвечает за распечатку одного документа на струйном принтере.
Представим жизненный цикл такого потока в виде асинхронного процесса P1 = . Множество ситуаций S1 = {s11, s12, s13, s14, s15}. Множество инициаторов I1 = {s11}. Множество результантов R1 = {s12, s13, s14, s15}. Ситуации структурированы (R - процесс имеет в распоряжении все ресурсы, P - процесс ожидает выбора планировщиком задач, N - разделяемая ячейка памяти, доступная как диспетчеру печати, так