Пример 4.37

Рассмотрим пример работы компьютера, задействованного в управлении технологическим оборудованием. Для контроля состоя­ния оборудования каждые 20 мин запускается одна из трех типов за­дач. Через каждые 5 мин работы процессора каждая задача выводит результаты работы в базу данных. При обращении двух и более задач к базе данных (БД) образуется очередь, которая обслуживается по правилу FIFO.

Общий объем памяти компьютера 1024 Кбайт. В первоначаль­ный момент запуска компьютера загружается ОС, ядро которой по­стоянно находится в памяти и занимает 200 Кбайт. Компьютер рабо­тает в мультипрограммном режиме и во время выполнения операций вывода в БД процессор может выполнять другую задачу, если она загружена в память. После последнего вывода в БД задача выгружается 3 памяти и завершает свою работу.

Периодически с интенсивностью =0,005 мин-1 и экспоненциальным распределением возникает аварийный режим оборудования, при котором немедленно запускается на выполнение задача четвертого типа, выводящая оборудование из аварийного режима. Она прерывает работу всех других задач. Прерванная задача выгружается из па­мяти без вывода результатов в БД. По окончании выполнения задачи четвертого типа, она имеет преимущество для вывода в БД перед другими задачами. Вытесненные задачи с магнитного диска загружаются в память и продолжают работу. Необходимые данные для моделирования приведены в табл. 4.38.

Таблица 4.38

Тип задачи        
Вероятность возникновения 0,5 0,3 5 0,1 5 -
Объем памяти, Кбайт        
Время обработки ЦП, мин        
Время вывода в БД, мин        

Необходимо промоделировать работу компьютера в течение пя­ти суток и оценить размер очереди к памяти, ее загрузку и загрузку процессора.

Учитывая, что программа полностью прокомментирована, да­дим только некоторые пояснения к ней. Задачи 1-го, 2-го, 3-го типов имеют приоритет равный 0. Задача четвертого типа, обрабатывающая аварийную ситуацию, имеет приоритет 3. При ее появлении немед­ленно занимается процессор и, если в это время выполняется задача другого типа, то она прерывается и выгружается из памяти (операнд В блока PREEMPT направляет прерванный транзакт в блок с меткой SVOP).

Для запуска работы компьютера используется один транзакт с приоритетом 5, который занимает 2 единицы памяти (200 Кбайт) и имитирует загрузку ядра ОС в память.

Программа:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: