[14.12.11] Семинар №8 (1051966)
Текст из файла
Семинар №8 [14.12.11]
Работа над ошибками от прошлого семинара, задача та же
Задача 81. Система состоит из одного процессора и одного диска. На систему поступает поток задач с интервалом (a1,a2). Цикл решения задачи – последовательная обработка процессором и диском. Для каждой задачи число циклов решения в системе индивидуально и распределено равномерно от 3 до 8. К каждому устройству своя очередь. Время решения в процессоре в интервале – (b1,b2), время занятия диска – (c1,c2). В системе может одновременно находиться не более 4 задач. Остальные ожидают во внешней очереди к системе. Когда задача освобождает устройство в пределах своего цикла, его занимает другая задача. Когда очередная задача выполнит все свои циклы, она покидает систему, и её может занять другая задача из внешней очереди. На диске происходят сбои в интервале (d1,d2). Сбой – это отказ с мгновенным восстановлением, но с разрушением текущих данных, то есть, если сбой пришёлся на задачу, занимавшую диск, то необходима повторная обработка задачи диском. Процессор иногда переходит в режим тестирования с интервалом F на время B.
БЛОК-контроллер ЗАДАЧИ
описание
N – скаляр; // число циклов решения
Тновздч – скаляр; // время появления новой задачи
всё описание
алгоритм
НАЧ: N := ЦЕЛОЕ(RAND * 5 + 3);
создать W типа вектор(1 - скаляр);
W(1) := N; // локальная среда инициатора, хранит число циклов для обработки
создать S типа ссылка;
S := ссылка на W;
Тновздч := ВРЕМЯ + (RAND * (a2-a1) + a1);
ждать ВРЕМЯ = Тновздч;
активизировать инициатор из S в блок СИСТЕМА на метку СТАРТ;
направить ИНИЦИАТОР на метку НАЧ;
всё алгоритм
всё БЛОК.
БЛОК-процессор СИСТЕМА
описание
ПРОЦ, ДИСК – скаляры; // начальные значения “свободен”
МАКС – скаляр; // считает, сколько пакетов уже в системе, начальное = 1
Тпроц, Тдиск, Ттест, Тсбой – скаляры;
X – скаляр; // флаг времени начала тестирования, начальное значение = 0
Y – скаляр; // флаг времени возникновения сбоя, начальное значение = 0
ЦКЛ – вектор(1,2,3,4 - скаляры); // число выполненных циклов для каждой задачи, начальные значения каждого скаляра = 0
всё описание
алгоритм
ТСТ: Тстоп := ВРЕМЯ + F; // по условию
Ттест := ВРЕМЯ + B; // по условию
ждать ВРЕМЯ = Ттест; // идёт тестирование
направить ИНИЦИАТОР на метку ЕОТ;
СБ: Тсбой := ВРЕМЯ + (RAND * (d2-d1) + d1);
направить ИНИЦИАТОР на метку ПОВТ;
СТАРТ: если X = 0 то Тстоп := ВРЕМЯ + F; // однократная установка времени остановки на тестирование
X := 1; // теперь периодичность ухода на тестирование будет соблюдена
если Y = 0 то Тсбой := ВРЕМЯ + (RAND * (d2-d1) + d1); // время возникновения сбоя диска
Y := 1; // теперь периодичность возникновения сбоев диска будет соблюдена
ждать МАКС < 5; // для соответствия индексам вектора ЦКЛ (то есть, начинаем не с нуля, а с 1, но до 5, потому всё равно 4)
ждать ПРОЦ = “свободен”;
МАКС := МАКС + 1; // кроме подсчёта числа задач и одновременно индекс задачи в векторе, скаляры которого считают число выполненных циклов
ЕЩЁ: ЦКЛ(МАКС) := ЦКЛ(МАКС) + 1; // инкремент числа выполненных для задачи циклов
если ВРЕМЯ = Тстоп то направить ИНИЦИАТОР на метку ТСТ;
ЕОТ: ПРОЦ := “занят”;
Тпроц := ВРЕМЯ + (RAND * (b2-b1) + b1);
ждать ВРЕМЯ = Тпроц;
ПРОЦ := “свободен”;
ждать ДИСК = “свободен”;
ДИСК := “занят”;
ПОВТ: Тдиск := ВРЕМЯ + (RAND * (c2-c1) + c1);
ждать ВРЕМЯ = Тдиск;
если ВРЕМЯ = Тсбой то направить ИНИЦИАТОР на метку СБ;
ДИСК := “свободен”;
если ЦКЛ(МАКС) < (ИНИЦИАТОР->вектор(1)) то направить ИНИЦИАТОР на метку ЕЩЁ; // сверяется накопившееся число циклов с требуемым из локальной среды
ЦКЛ(МАКС) := 0; // необходимое число циклов для текущей задачи прошло
МАКС := МАКС - 1;
уничтожить ИНИЦИАТОР;
всё алгоритм
всё БЛОК.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.