[14.12.11] Семинар №8 (Семинары)

2017-12-27СтудИзба

Описание файла

Файл "[14.12.11] Семинар №8" внутри архива находится в следующих папках: Семинары, 888 - [14.12.11] Семинар №8. Документ из архива "Семинары", который расположен в категории "". Всё это находится в предмете "параллельные процессы" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "параллельные процессы" в общих файлах.

Онлайн просмотр документа "[14.12.11] Семинар №8"

Текст из документа "[14.12.11] Семинар №8"

Семинар №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;

уничтожить ИНИЦИАТОР;

всё алгоритм

всё БЛОК.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее