Практическая часть.
Математические и информационные модели защиты информации
В файле стандартного отчета программы 4 строка QUEUE имеет следующие поля: 1 — номер первой очереди, LEN2 — имя второй очереди (очередь может иметь либо произвольный номер, либо произвольное имя), поле MAX определяет максимальное содержимое очереди в течение периода моделирования (для первой очереди 21, для второй с именем LEN2 — 9), поле CONT. определяет текущее содержимое очереди в конце… Читать ещё >
Практическая часть. Математические и информационные модели защиты информации (реферат, курсовая, диплом, контрольная)
Записать и запустить на выполнение программу для решения примера 1.
Изучение процессов циклической обработки требований.
Пример 1. Пусть каждое требование проходит 5 циклов обработки на приборе со временем 31 мин. по равномерному закону. Входной поток требований подчиняется равномерному закону со временем 52 мин. Смоделировать процесс обработки ровно 100 требований.
Решение примера 1 приводится как программа 1.
********************************************************. MET1 EQU sqr (25). MET2 EQU (sqr (9)+22). *********************************************************. GENERATE 5,2,100; Генерация 100 транзактов. ASSIGN 13, MET1. SEIZE 1. CYCL5 ADVANCE MET2,2. LOOP 13, CYCL5. RELEASE 1. TERMINATE 1 Уничтожение транзактов (вывод из системы). **********************************************************. START 100; Задание числа счетчика завершений. |
Программа 1. |
В данном примере организация пятикратного цикла обработки осуществляется блоками ASSIGN и LOOP. Обращение к заданным числовым значениям (5 и 7) производится через метки MET1, MET2 посредством оператора EQU.
Формат записи блока ASSIGN:
ASSIGN 13, МЕТ1.
В поле задан параметр транзакта под номером 13 (взят произвольно). Этому параметру сопоставляется число 5, которое переопределяется через метку МЕТ1 поля . Значение поля присваивается параметру, номер которого задается в поле. Задание числа 5 осуществляется оператором EQU.
Формат записи оператора EQU:
МЕТ1 EQU SQR (25).
Метка МЕТ1 — это имя в поле метки оператора. В поле оператора вычисляется выражение: МЕТ2 EQU (SQR (9)+22) Оператор EQU с меткой МЕТ2 в поле
Обращение к ме…
Файл стандартного отчета программы 1. |
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY 0 3499 7 1 0 77824LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY.
YCL5 ADVANCE 500 0 0.
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY. 1 100 0.998 34.94 1 0 0 0 0 0. XACT_GROUP GROUP_SIZE RETRY. POSITION 0 0. |
Задача повторного пятикратного обслуживания решается блоком LOOP, который отправляет транзакты на блок ADVANCE. Из файла стандартного отчета видно, что через блоки LOOP и ADVANCE проходит в пять раз больше транзактов, чем через остальные блоки. Среднее время обслуживания в устройстве также в пять раз больше (в позиции AVE_TIME), чем время обслуживания, которое задается в поле блока временной задержки ADVANCE (см. PRIM11. GPS). Задание к примеру 1: Снять ограничение на поступление требований в систему. Изменить номер параметра транзактов, по которому осуществляется циклическая обработка: присвоить параметру числа 2, 153, 678, 999. В заданные номера параметра занести числа 3, 7, 9, 11, вычисленные как корень квадратный из соответствующего числа. Вычисления зафиксировать оператором EQU. Записать и запустить на выполнение программу для решения примера 2. Изучение блоков PREEMPT, RETURN. Пример 2. На обработку по равномерному закону поступает два потока заготовок деталей: первый — со временем 101 мин., второй — 252 мин. Второй поток прерывает изготовление деталей первого потока. Время обработки деталей первого потока 72 мин., второго — 112 мин. Смоделировать процесс обработки 100 деталей, образующих два потока. Решение примера 2 приводится как программа 2. SIMULATE *****************************************************************. GENERATE 5,2; Формирование 1-го потока деталей. SEIZE FACIL1; Устройство под именем FACIL1. ADVANCE 7,2. RELEASE FACIL1. TERMINATE 1; Вывод деталей 1-го потока. *****************************************************************. GENERATE 25,2; Формирование 2-го потока деталей. PREEMPT FACIL1; Прерывание обработки 1-го потока. ADVANCE 11,2; Время обработки 2-го потока=времени прерывания. RETURN FACIL1; Снятие прерывания 1-го потока. EXIT TERMINATE 1; Вывод деталей 2-го потока. *****************************************************************. START 100; Задание числа счетчика завершений=общему количеству *деталей. Программа 2. Два блока GENERATE формируют два независимых или разнородных потока транзактов. Блок PREEMPT позволяет получать в пользование устройство, указанное в поле
Для блока PREEMPT могут быть задействованы пять полей. Только поле операнда является обязательным. В программе 2 формат записи блока PREEMPT следующий: PREEMPT
В поле блока RETURN задается имя устройства (по метке FACIL1), с которого снимается прерывание. Прерывание может быть снято только тем транзактом, которым оно было генерировано (тем транзактом, которым устройство было переведено в состояние прерывания). Приведенный формат блока возврата RETURN является единственным. Задание к примеру 2: попарно изменить среднее время генерирования транзактов в соответствии с рядом чисел: 7 и 15; 9 и 11; 13 и 9; 21 и 7. Попарно изменить среднее время обработки требований в соответствии с рядом чисел: 5 и 13; 9 и 9; 11 и 7; 15 и 5. Объяснить результаты выполнения программ по файлу стандартного отчета. Записать и запустить на выполнение программу для решения примера 3. Рассмотрим некоторые дополнительные возможности блока PREEMPT. Пример 3. Пусть в условиях примера 2 детали, прерванные на время обработки 2-го потока, выводятся из системы. В этом случае большая часть условий задачи остается неизменной: на обработку по равномерному закону поступает два потока заготовок деталей: первый — со временем 101 мин., второй — 252 мин. Второй поток прерывает изготовление деталей первого. Время обработки деталей 1-го потока 72 мин., 2-го — 112 мин. Смоделировать процесс обработки 100 деталей, разделенных на два потока. Данный пример решается с дополнительными полями блока PREEMPT, которые позволяют использовать блок PREEMPT в режиме удаления транзактов на повторный захват устройства и отправки их по метке к заданному блоку. Программа решения примера 3 приводится как программа 3. GENERATE 5,2; Формирование 1-го потока деталейSEIZE FACIL1; Устройство под именем FACIL1ADVANCE 7,2RELEASE FACIL1TERMINATE 1; Вывод деталей 1-го потока. *****************************************************************. GENERATE 25,2; Формирование 2-го потока деталей. PREEMPT FACIL1, exit, re; Прерывание обработки 1-го потока. ADVANCE 11,2; Время обработки 2-го потока=времени прерывания. RETURN FACIL1; Снятие прерывания 1-го потока. exit TERMINATE 1; Вывод деталей 1-го и 2-го потоков. START 100; Задание числа счетчика завершений=общему количеству *деталей. Программа 3. Формат записи блока PREEMPT для программы 3: PREEMPT
QUEUE ,[] В поле задается имя блока, в поле
Выход транзакта из очереди регистрируется блоком DEPART.
Формат записи блоков DEPART:
DEPART ,[] DEPART
В поле блока DEPART задается номер или имя очереди, длину которой нужно уменьшить. В поле задается число единиц, на которое уменьшается длина очереди. Это число не должно превышать текущую длину очереди (чтобы не получилось отрицательное число). Если поле пусто (как в программе), длина очереди уменьшается на единицу. В программе для блока в поле задана очередь с номером 1, для блока в поле задана очередь под именем LEN2. В подпрограмме блока DEPART автоматически проверяется значение времени пребывания транзакта в очереди. Если транзакт не был задержан в очереди, т. е. имеет нулевое время задержки, число нулевых входов увеличивается на число единиц, указанное в поле блока DEPART. В программе PRIM26. GPS поле пусто. В программе используются пять блоков SAVEVALUE, которые сохраняют СЧА по времени моделирования и очередей. Формат записи блоков SAVEVALUE: SAVEVALUE
SAVEVALUE , SAVEVALUE
SAVEVALUE , SAVEVALUE
В поле каждого блока SAVEVALUE задается имя ячейки, в которую записывается значение поля . Для примера с помощью блоков SAVEVALUE были сохранены следующие стандартные числовые атрибуты. Для блока SAVEVALUE сохраняемой ячейки num, сохраняемая величина С1 — условное время моделирования. Для блока SAVEVALUE имя сохраняемой ячейки num1, сохраняемая величина q1 — длина очереди под номером 1. Для блока SAVEVALUE имя сохраняемой ячейки num2, сохраняемая величина q$len2 — длина очереди с именем len2. Для блока SAVEVALUE имя сохраняемой ячейки num3, сохраняемая величина qt1 — среднее время (с точностью до целых) пребывания сообщения в очереди под номером 1 (включая нулевые входы). Для блока SAVEVALUE имя сохраняемой ячейки num4, сохраняемая величина qt$len2 — среднее время (с точностью до целых) пребывания сообщения в очереди с именем len2 (включая нулевые входы). Очереди имеют также и другие СЧА: QAj — средняя длина очереди j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QMj — максимальная длина очереди j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QCj — общее число входов в очередь j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QZj — число нулевых входов в очередь j (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета); QXj — среднее время пребывания транзакта в очереди j без нулевых входов (автоматически определяется и сохраняется программой, приводится в файле стандартного отчета). Результаты моделирования примера 4 приводятся в таблице как файл стандартного отчета программы 4. Файл стандартного отчета программы 4. GPSS World Report file REPORT.GPS. page 1START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY. 0 633 19 2 0 80 800. LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY. CHAN1 QUEUE 73 20 0. CHAN2 QUEUE 57 8 0. EXIT TERMINATE 100 0 0. FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY. QUEUE MAX CONT. ENTRIES ENTRIES (0) AVE.CONT. AVE. TIME AVE.(-0) RETRY. 1 21 20 73 1 10.36 89.85 91.10 0. LEN2 9 9 57 3 4.47 49.65 52.41 0. XACT_GROUP GROUP_SIZE RETRY. POSITION 0 0. SAVEVALUE VALUE RETRY. NUM +633 0. NUM1 +20 0. NUM2 +9 0. NUM3 +89 0. NUM4 +49 0. По условию входной поток неограничен и поэтому количество сгенерированных транзактов превышает количество обработанных и выведенных из системы транзактов, которых 100. Перед каждым устройством системы осуществляется сбор статистических данных об очередях с помощью блоков QUEUE, DEPART. Устройства моделируются блоками SEIZE, ADVANCE, RELEASE. В файле стандартного отчета программы 4 строка QUEUE имеет следующие поля: 1 — номер первой очереди, LEN2 — имя второй очереди (очередь может иметь либо произвольный номер, либо произвольное имя), поле MAX определяет максимальное содержимое очереди в течение периода моделирования (для первой очереди 21, для второй с именем LEN2 — 9), поле CONT. определяет текущее содержимое очереди в конце периода моделирования (для первой очереди 20, для второй с именем LEN2 — 9), поле ENTRIES определяет общее количество входов в очередь в течение периода моделирования (для первой очереди 73, для второй с именем LEN2 — 57), поле ENTRIES (0) определяет общее количество входов в очередь с нулевым временем ожидания (для первой очереди 1, для второй с именем LEN2 — 3), поле AVE. CONT определяет среднее значение содержимого (количество транзактов) очереди (для первой очереди 10.36, для второй с именем LEN2 — 4.47), поле AVE. TIME определяет среднее время, проведенное в очереди с учетом всех входов в очередь (для первой очереди 89.85, для второй с именем LEN2 — 49.65), AVE.(-0) определяет среднее время, проведенное в очереди без учета «нулевых» входов в очередь (для первой очереди 91.10, для второй с именем LEN2 — 52.41), поле RETRY определяет количество транзактов, ожидающих специальных условий, зависящих от состояния очереди (специальных условий в примере нет). Статистика по транзактам может быть сопоставлена по полям MAX, CONT., ENTRIES и ENTRY_COUNT, CURRENT_COUNT. Пояснения к полю AVE (-0). Для каждой очереди поле имеет большее время пребывания в очереди, чем для поля AVE.TIME. Это объясняется тем, что каждая очередь имеет какое-то количество нулевых входов, когда транзакты поступают на обслуживание без задержки, если же этих нулевых входов нет, то транзактам бы пришлось находиться в очереди, и значит, увеличивается время пребывания в очереди. Для статистики блоков SAVEVALUE в файле стандартного отчета отводятся следующие поля. В поле SAVEVALUE указываются имена ячеек (в отчете это NUM, NUM1, NUM2, NUM3, NUM4), в которых сохраняются заданные величины. Сохраняемые величины указываются в поле VALUE (это 633, 20, 9, 89, 49). Поле RETRY определяет количество транзактов, ожидающих наступления специальных условий, зависящих от состояния сохраняемой величины (в примере специальных условий нет). Задание к примеру 4: задать равновероятное распределение транзактов по устройствам, а также: 0.8 на 1-е устройство, 0.2 на 2-е устройство, 0.3 на 1-е устройство, 0.7 на 2-е устройство При этом в каждом случае произвести один прогон программы, два прогона, три прогона. Изменить среднее время обработки в устройствах: 9 и 7; 15 и 5; 13 и 11; 12 и 12. Подсчитать средние статистические показатели работы устройств и средние статистические показатели очередей. Объяснить результаты моделирования по файлу стандартного отчета. Вычислить с помощью оператора EQU, ,, ,, , и сохранить результаты с помощью блока SAVEVALUE. Контрольные вопросы Содержание отчета и его форма
Введение
в теорию массового обслуживания. М.: Высш. шк., 1987.