Аппаратная категория
Устройство как объект, который может находиться в одном из двух состояний: быть свободным и занятым только одним транзактом. Условия и порядок изменения его состояния, функции соответствующих блоков. Элементы статистической категории: очереди и таблицы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 26.09.2017 |
Размер файла | 18,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Лекция
Аппаратная категория
В аппаратную категорию входят объекты трёх типов: устройства, памяти и логические ключи.
Устройство - это объект, который может находиться в одном из двух состояний: либо быть свободным, либо занятым только одним транзактом. Изменять состояние устройства можно с помощью следующих блоков:
SEIZE A
RELEASE A
PREEMPT A, B, C, D, E
RETURN A
FUNAVAIL A, B, C, D, E, F, G, H
FAVAIL A
Блоки парные. Первый блок дает указание транзакту занять устройство, а второй - освободить. Третий блок - занять устройство по приоритету (возможно с прерыванием). Четвертый блок - освободить устройство, занятое по приоритету. Пятый блок - установить устройство в режим недоступности. Шестой блок - восстановить устройству режим доступности.
В операнде А всех указанных выше блоков указывается идентификатор устройства, который может быть именем или номером с прямой или косвенной адресацией.
Блок занятия по приоритету относится к сложным блокам. В операнде В можно указать приоритетный режим PR. В операнде С можно указать метку, к которой направляется транзакт, обслуживание которого было прервано транзактом более высокого приоритета. В этом случае в операнде Е обязательно записывается символ RE. В операнде D можно указать идентификатор параметра, в который будет записано время, оставшееся на дообслуживание прерываемого транзакта. Если операнды С и Е «нулевые» (не заполнены), то транзакт, обслуживание которого прервано, будет обслужен после завершения обслуживания прервашего его транзакта.
Блок FUNAVAIL. Операнды B, C, D устанавливают режим для прерываемых транзактов. Операнды E, F - для транзактов, прерванных на данном устройстве ранее. Операнды G, H - для транзактов, ожидающих освобождения устройства. Если эти три категории транзактов не претендуют на дообслуживание после восстановления режима доступности, то в операндах B, E, G записываются символы RE (для каждой категории, независимо от других). В этом случае в операндах C, F, H указываются метки, к которым направляются данные категории транзактов. В операнде D можно указать идентификатор параметра, в который будет записано время, оставшееся на дообслуживание для прерываемого транзакта.
Памяти можно использовать по прямому назначению для имитации работы памятей компьютеров, складов и т.п. Кроме того, их можно рассматривать как многоканальные устройства и в отличие от классических устройств, рассмотренных в предыдущем разделе, памяти могут заниматься и обслуживаться несколькими транзактами одновременно.
Состояние памяти могут менять следующие четыре блока:
ENTER A, B
LEAVE A, B
SUNAVAIL A
SAVAIL A
Первый блок дает указание занять память, второй - освободить. Третий устанавливает режим недоступности, четвертый восстанавливает режим доступности. В операнде А всех блоков указывается идентификатор памяти. В операнде В первых двух блоков можно указать количество занимаемых и освобождаемых мест памяти одним транзактом. По умолчанию принимается один транзакт. Для использования памяти требуется обязательно её определить командой NAME STORAGE A, в поле метки которой указывается имя памяти, а в операнде А количество мест в памяти. Если количество мест не ограничено, то в операнде А записывается какое-то большое число, например, 1000000.
Статистическая категория
В статистическую категорию входят очереди и таблицы. Очереди используются аналогично памяти, но требуется учитывать, что память это в первую очередь аппаратура, а очередь в принципе может быть «живой», то есть представлять собой совокупность людей. Для изменения состояния очереди используются блоки:
QUEUE A, B
DEPART A, B
В операнде А указывается идентификатор очереди, а в операнд В можно указать количество занимаемых (блок QUEUE) или освобождаемых (блок DEPART) мест. По умолчанию принимается один транзакт.
Для использования таблиц требуется их описание командой:
NAME TABLE A, B, C, D
Изменение состояния таблиц производится блоком:
TABULATE A
В операнде А блока TABULATE указывается идентификатор таблицы, в которую производится запись указанного значения. Идентификатор таблицы должен быть указан и в поле метки команды. В качестве идентификатора используется имя, которое должно начинаться с буквы латинского алфавита. В операнде А команды TABLE указывается аргумент таблицы, значение которого требуется в ней зарегистрировать; в операнде В указывается левый предел аргумента таблицы; в операнде С указывается вес одного интервала таблицы; в операнде D - количество интервалов таблицы.
В стандартном отчете указывается количество попаданий аргумента в каждый интервал таблицы и системные числовые аргументы таблицы.
TB - среднее значение аргумента;
TD - стандартное отклонение аргумента;
TC - количество транзактов, входивших в блок TABULATE.
Время ожидания в очереди можно протабулировать. Для этого требуется определить таблицу командой:
NAME QTABLE A, B, C, D
В поле метки команды указывается идентификатор таблицы, который должен начинаться с латинской буквы. В операнде А указывается идентификатор очереди, время ожидания в которой табулируется; в операнде В указывается левый предел аргумента таблицы; в операнде С указывается вес одного интервала таблицы; в операнде D - количество интервалов таблицы.
Пример 1. Система массового обслуживания «Генератор транзактов-очередь - устройство». Очередь имитируется объектом типа «Память»
транзакт аппаратный статистический
BUF STORAGE 1000
GENERATE 10,4
*Генерация транзактов, время поступления между которыми распределено *по равномерному закону в диапазоне от 6 до 14 единиц.
ENTER BUF, 1
*Занимается одно место в памяти
SEIZE PK
*Занимается устройство
LEAVE BUF
*Освобождается одно место в памяти
ADVANCE (UNIFORM (1,3,13))
*Транзакт задерживается на время, распределенное равномерно в диапазоне *от 3 до 13 единиц, а в качестве задающего используем первый генератор *равномерно распределенных чисел от 0 до 1
RELEASE PK
*Освобождается устройство
TERMINATE 1
*Транзакт выводится из системы. Из счетчика команды START вычитается *1. После вывода из системы ста транзактов, счетчик START обнулится и *моделирование остановится
START 100
После завершения моделирования выдается стандартный отчет,
Пример 4.2. Система массового обслуживания «Генератор транзактов - очередь - устройство»
Пусть в условиях предыдущего примера вместо памяти требуется использовать очередь и протабулировать время пребывания транзакта в системе и в очереди. Для этого перед блоком GENERATE введем команды
VREMJ TABLE M1,3,1,30 и
OCHER QTABLE BUF, 0,2,10
В первой таблице будет регистрироваться время пребывания транзакта в модели, минимальное регистрируемое время равно 3 единицам, вес одного интервала таблицы равен 1, количество интервалов таблицы 30, максимальное время, которое будет зарегистрировано в интервалах таблицы будет 3+1*30=33.
Во второй таблице будет регистрироваться время ожидания транзакта в очереди с именем BUF, минимальное регистрируемое время равно 0 единицам, вес одного интервала таблицы равен 2, количество интервалов таблицы 10, максимальное время, которое будет зарегистрировано в интервалах таблицы будет 0+2*10=20. Отметим, что таблицы для регистрации времени ожидания можно использовать только для очередей и нельзя использовать для памятей и списков пользователей. Которые применяются для регистрации времени ожидания.
Вместо ENTER пишем QUEUE, вместо LEAVE пишем DEPART. После RELEASE и перед TERMINATE пишем FINAL TABULATE VREMJ
VREMJ TABLE M1,3,1,30
OCHER QTABLE BUF, 0,2,10
GENERATE 10,4
*Генерация транзактов, время поступления между которыми распределено *по равномерному закону в диапазоне от 6 до 14 единиц.
QUEUE BUF, 1
*Занимается одно место в очереди
SEIZE PK
*Занимается устройство
DEPART BUF
*Освобождается одно место в очереди
ADVANCE (UNIFORM (1,3,13))
*Транзакт задерживается на время, распределенное равномерно в диапазоне *от 3 до 13 единиц, а в качестве задающего используем первый генератор *равномерно распределенных чисел от 0 до 1
RELEASE PK
*Освобождается устройство
FINAL TABULATE VREMJ
* Регистрируется время пребывания транзакта в модели в таблице
TERMINATE 1
*Транзакт выводится из системы. Из счетчика команды START вычитается *1. После вывода из системы ста транзактов, счетчик START обнулится и *моделирование остановится
START 100
После завершения моделирования выдается стандартный отчет, отражающий изменения объекта исследования в процессе моделирования. Независимо от отчета, а еще более в случае, когда произошел «тяжелый» останов, то в этом случае для выявления причин неправильной работы модели целесообразно прочитать значения всех переменных, каким либо образом связанных с оператором, при выполнении которого произошел останов, с помощью команд SHOW.
SHOW C1 - модельное время;
SHOW N1 - количество сгенерированных транзактов;
SHOW N$FINAL - количество транзактов выведенных блоком с меткой FINAL;
SHOW TС$VREMJ - среднее значение аргумента таблицы VREMJ;
SHOW FR$PK - коэффициент использования устройства РК;
SHOW QA$BUF - среднее количество занимаемых мест в очереди;
SHOW QM$BUF - максимальное количество занимаемых мест в очереди;
SHOW QT$BUF - среднее время задержки транзакта в очереди.
Пример 4.3. Система массового обслуживания с транзактами двух приоритетов
Пусть в условиях примера 4.1 появляется еще один поток клиентов, имеющих приоритет в обслуживании по сравнению с основным потоком.
BUF STORAGE 1000000
GENERATE 10,4
*Генерация транзактов, время поступления между которыми распределено
*по равномерному закону в диапазоне от 6 до 14 единиц
ENTER BUF, 1
*Занимается одно место в памяти
SEIZE PK
*Занимается устройство
LEAVE BUF
*Освобождается одно место в памяти
ADVANCE (UNIFORM (1,3,13))
*Транзакт задерживается на время, распределенное равномерно в диапазоне *от 3 до 13 единиц, а в качестве задающего используем первый генератор *равномерно распределенных чисел от 0 до 1
RELEASE PK
*Освобождается устройство
TERMINATE 1
*Транзакт выводится из системы. Из счетчика команды START вычитается *1. После вывода из системы ста транзактов, счетчик START обнулится и *моделирование остановится
GENERATE (UNIFORM (2,90,210)), 1
*Генерация транзактов с первым приоритетом
QUEUE BUF
PREEMPT PK, PR, OTKAZ, RЕ
*Транзакты с первым приоритетом прерывают обслуживание транзактов с *нулевым приоритетом (если они в это время находились в РК). В этом *случае они не претендуют на дообслуживание (RE), а направляются к метке *OTKAZ.
DEPART BUF
ADVANCE (EXPONENTIAL (3,0,25))
*Производится задержка транзакта на время, распределенное по *экспоненциальному закону со средним значением 25 и используется третий *генератор случайных чисел в качестве задающего для получения *экспоненциально распределенных случайных чисел
RETURN PK
TRANSFER, FINAL
*Безусловный переход транзакта к метке FINAL
OTKAZ TERMINATE 1
FINAL TERMINATE 1
START 100
Размещено на Allbest.ru
Подобные документы
Разработка имитационной модели, которая может быть использована для анализа ситуации в банке с помощью следующих статистических характеристик: время ожидания клиентов в очереди и пребывания в системе, загрузка кассира, число клиентов в очереди, на выезд.
курсовая работа [594,3 K], добавлен 28.10.2013Общее понятие и специфика применения очереди в программировании. Способы реализации очереди, их сущностная характеристика. Основные проблемы в использовании списков. Представление очереди в виде массива и двух целочисленных переменных start и end.
презентация [895,9 K], добавлен 14.10.2013Виртуальная функция как метод класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения. Порядок разработки программы обработки массивов, работы со строками.
контрольная работа [847,3 K], добавлен 19.03.2012Мнемоническая и кодированная форма структурной таблицы. Функции возбуждения триггеров, параметры комбинационных блоков. Синтез комбинационной схемы центрального аппарата методом карт Карно и аналитическим: сравнительное описание и оценка эффективности.
курсовая работа [1,6 M], добавлен 10.02.2014Изучение возможностей, достоинств и недостатков программного продукта Microsoft Excel, который является одним из наиболее известных программ обработки электронных таблиц. Алгоритм установки, порядок ввода формул. Имена ячеек для абсолютной адресации.
курсовая работа [1,5 M], добавлен 16.06.2011Понимание принципа работы очереди. Возможности обращения к первому и последнему элементов очереди. Создание очереди с помощью массива. Рассмотрение примеров использования очереди с приоритетом в программе. Формирование односвязного и двусвязного списков.
контрольная работа [345,6 K], добавлен 26.11.2020Структурные элементы электронной таблицы: форматирование рабочего листа, работа с именованными блоками, создание списков для ввода данных. Возможности функции ЕСЛИ при выполнении расчетов. Анализ данных в электронных таблицах и требования к ним.
курсовая работа [24,2 K], добавлен 16.04.2014Принцип действия дигитайзера и его элементы. Технологии его изготовления. Дигитайзер или планшет - кодирующее устройство, обеспечивающее ввод двумерного или трехмерного изображения в компьютер в виде растровой таблицы. Подготовка объекта к оцифровыванию.
статья [1,0 M], добавлен 30.04.2010Разработка и условия использования автоматического строительного робота, который кладет кирпич, использует раствор и 3D-сканнер для определения расположения стен дома. Принцип работы Hadrian, устройство и функции. Создание роботов-термитов, их действие.
презентация [2,9 M], добавлен 24.04.2016Применение табличных процессоров в обработке экономической информации. Характеристика пакетов прикладных программ, содержащих электронные таблицы. Элементы электронной таблицы. Типы данных, используемых в электронных таблицах. Функции обработки данных.
курсовая работа [64,8 K], добавлен 25.04.2009