Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практикум_ОС_мой.doc
Скачиваний:
67
Добавлен:
14.11.2019
Размер:
3.44 Mб
Скачать

Практическая часть

Создать два расписания заданий:

  1. Запустить ТП Word однократно при включении компьютера с последующим удалением самого задания (Перед отключением компьютера показать расписание преподавателю).

  2. Ежедневно «пробуждать компьютер ото сна» в указанное время. Запускать при загрузке Excel.При этом установить рабочую папку для запуска выбранного приложения - эта папка содержит все связанные с загружаемой программой файлы, которые необходимы для ее работы; а также задать название учетной записи пользователя, от имени которого будет выполняться задание, и изменить пароль на запуск.

  3. Пригласить преподавателя, а затем удалить задание.

Контрольные вопросы

  1. Для чего предназначено планирование заданий?

  2. Охарактеризовать каждый этап создания задания.

  3. Каким образом создать несколько заданий?

  4. Каким образом можно пробудить компьютер для выполнения задания?

Практическая работа №10 Тема: Распределение ресурсов в различных ос

Цель: изучить работу процессора с задачами, их изъятие из очереди, блокирование и завершение работы, используя визуальные модели алгоритмов планирования

Теоретическая часть

Повышение сложности организации работы вычислительных комплексов, как на аппаратном, так и на программном уровне, требует реализации многозадачности, под которой понимают возможность выполнять несколько действий одновременно. С программной стороны за имитацию многозадачности в современных компьютерах отвечает планирование. Существует 3 вида планирования:

  • Долгосрочное планирование предполагает стратегическое формирование очередей задач таким образом, чтобы процессы, запускаемые на выполнение в одно и то же время (в мультипрограммном режиме), как можно меньше конфликтовали в борьбе за ресурсы.

  • Среднесрочное планирование - swapping. Его суть заключается в удалении какого-либо частично выполнившегося процесса из оперативной памяти на диск, с последующим возвратом обратно для дальнейшего выполнения, с целью повышения их производительности.

  • Краткосрочное планирование (которое называется диспетчеризацией) - организация вычислений для уже стоящих в очереди и вновь поступающих процессов таким образом, чтобы пропускная способность вычислительной системы и загрузка процессора были максимальными. Дополнительной задачей диспетчеризации является устранение или уменьшение дискриминации одних процессов перед другими, что включает в себя предотвращение так называемого "бесконечного откладывания".

Рассмотрим подробно краткосрочное планирование, которое также называется дисциплиной обслуживания (ДО), т.к. именно диспетчеризация ответственна за отправку задач на исполнение.

Общие принципы организации дисциплин обслуживания

Планирование процессов включает в себя решение следующих задач:

  1. определение момента времени для смены выполняемого процесса;

  2. выбор процесса на выполнение из очереди готовых процессов;

  3. переключение контекстов "старого" и "нового" процессов.

Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.

Существует множество различных алгоритмов планирования процессов. Они по-разному решают вышеперечисленные задачи, преследуют различные цели и обеспечивают различное качество мультипрограммирования. Среди этого множества алгоритмов рассмотрим подробнее две группы наиболее часто встречающихся алгоритмов: алгоритмы, основанные на квантовании, и алгоритмы, основанные на приоритетах.

Квант - это временной интервал, в течение которого процессу разрешено занимать процессор, т.е. разрешено находиться в состоянии ВЫПОЛНЕНИЯ. Понятие кванта основывается на периоде таймера, который называется тиком. Тик (tick) - минимально возможный временной интервал, который равен дискретному промежутку времени между двумя сигналами таймера, генерируемыми через каждые 55мс.

Квант равен целому числу тиков из промежутка от 1 до 255. Увеличение кванта замедляет реакцию системы при увеличении очереди, а уменьшение - увеличивает долю накладных временных расходов на переключение процессов. Для эффективной работы системы необходимо находить разумный компромисс.

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

  • процесс покинул систему, поскольку завершился или произошла ошибка,

  • процесс перешел в состояние ОЖИДАНИЕ,

  • исчерпан квант процессорного времени, отведенный данному процессу.

Процесс, который исчерпал свой квант, переводится в состояние ГОТОВНОСТЬ и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый из очереди готовых процессов. Таким образом, ни один процесс не занимает процессор надолго, и по этой причине квантование широко используется в системах разделения времени.

Выделяемые кванты могут быть одинаковыми для всех процессов или же различными. Кванты, выделяемые одному процессу, могут быть фиксированной величины или изменяться в разные периоды жизни процесса. Процессы, которые не полностью использовали выделенный им квант (например, из-за ухода на выполнение операций ввода-вывода), могут получить или не получить компенсацию в виде привилегий при последующем обслуживании.

Другая группа алгоритмов использует понятие "приоритет" процесса.

Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов компьютера, в частности, процессорного времени: чем выше приоритет, тем выше привилегии.

Приоритет может выражаться целыми или дробными, положительным или отрицательным значением. Чем выше привилегии процесса, тем меньше времени он будет проводить в очередях. Приоритет может назначаться директивно администратором системы в зависимости от важности, либо вычисляться самой ОС по определенным правилам; он может оставаться фиксированным на протяжении всей жизни процесса либо изменяться во времени в соответствии с некоторым законом, т.е. быть динамическим.

Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты.

В обоих случаях выбор процесса на выполнение из очереди готовых осуществляется одинаково: выбирается процесс, имеющий наивысший приоритет. Однако проблема определения момента смены активного процесса решается по-разному. В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не освободит процессор, т.е.:

  • процесс покидает систему, поскольку завершился или произошла ошибка,

  • процесс переходит в состояние ОЖИДАНИЕ (т.е. отсутствует переход в состояние готовность после исчерпания времени работы).

В системах с абсолютными приоритетами выполнение активного процесса прерывается дополнительно к указанным двум еще при одном условии:

  • если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса.

В этом случае прерванный процесс переходит в состояние готовности.

Для организации алгоритмов, основанных на квантовании, необходимо решить следующие основные задачи:

  • выбор оптимального по величине кванта;

  • перехват прерывания от таймера и их обработка.

Для организации алгоритмов, основанных на приоритетах, необходимо решить следующие задачи:

  • определение заданий с максимальным приоритетом;

  • определение момента пересчета приоритета.

Пересчет максимального приоритета может происходить:

  • при появлении нового задания в системе;

  • при наступлении любого события, т.е. при обработке прерываний, а также через определенные интервалы времени.

Существует два основных типа процедур планирования процессов:

  • вытесняющие (preemptive);

  • невытесняющие (non-preemptive).

Соответствующие способы планирования называются вытесняющей многозадачностью и невытесняющей многозадачностью.

Non-preemptive multitasking невытесняющая многозадачность это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс.

Preemptive multitasking вытесняющая многозадачность это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не исполняющейся задачей.

Наличие или отсутствие вытесняемости процессов в системе определяет степень централизации алгоритмов планирования.

При невытесняющей многозадачности механизм планирования разделен между системами и прикладными программами, т.е. имеет место децентрализованный способ управления планированием. Прикладная программа, загруженная на выполнение, получив управление от операционной системы, сама определяет момент завершения очередной итерации, а значит и момент передачи управления операционной системе, с помощью какого-либо системного вызова. В задачу операционной системы входит только формирование очереди задач и выбор следующей задачи на выполнение. Такой механизм планирования создает проблемы, как для пользователей, так и для разработчиков.

Для пользователей это означает, что управление системой теряется на произвольный период времени. Если приложение тратит слишком много времени на выполнение какой-либо работы, например, на форматирование диска, пользователь не может переключиться с этой задачи на другую задачу, например, на текстовый редактор, в то время как форматирование продолжалось бы в фоновом режиме. Поэтому разработчики приложений для non-preemptive операционной среды, возлагая на себя функции планировщика, должны создавать приложения так, чтобы они выполняли свои задачи небольшими частями. Например, программа форматирования может отформатировать одну дорожку дискеты и вернуть управление системе. После выполнения других задач система возвратит управление программе форматирования, чтобы та отформатировала следующую дорожку. Подобный метод разделения времени между задачами работает, но он существенно затрудняет разработку программ и предъявляет повышенные требования к квалификации программиста. Программист должен обеспечить "дружественное" отношение своей программы к другим выполняемым одновременно с ней программам, достаточно часто отдавая им управление. Крайним проявлением "недружественности" приложения является его зависание, которое приводит к общему краху системы.

В системах с вытесняющей многозадачностью такие ситуации, как правило, исключены, так как центральный планирующий механизм снимет зависшую задачу с выполнения, т.е. в системах с вытесняющей многозадачностью механизм планирования целиком сосредоточен в операционной системе. Поэтому управление планированием в таких системах является централизованным, при этом операционная система выполняет следующие функции:

  • Определяет момент снятия с выполнения задачи;

  • Запоминает её контекст;

  • Выбирает из очереди готовых процессов новую задачу;

  • Запускает её на выполнение, загружая её контекст.

Однако распределение функций планировщика между системой и приложениями (т.е. децентрализованный механизм планирования) не всегда является недостатком, а при определенных условиях может быть и преимуществом, потому что дает возможность разработчику приложений самому проектировать алгоритм планирования, наиболее подходящий для данного фиксированного набора задач. Так как разработчик сам определяет в программе момент времени передачи управления, то при этом исключаются нерациональные прерывания программ в "неудобные" для них моменты времени. Кроме того, легко разрешаются проблемы совместного использования данных: задача во время каждой итерации использует их монопольно и уверена, что на протяжении этого периода никто другой не изменит эти данные. Существенным преимуществом non-preemptive систем является более высокая скорость переключения с задачи на задачу.

Примером эффективного использования невытесняющей многозадачности является файл-сервер NetWare, в котором, в значительной степени благодаря этому, достигнута высокая скорость выполнения файловых операций. Менее удачным оказалось использование невытесняющей многозадачности в операционной среде Windows 3.х.

Однако почти во всех современных операционных системах, ориентированных на высокопроизводительное выполнение приложений (UNIX, Windows NT, OS/2, VAX/VMS), реализована вытесняющая многозадачность.

Классификация дисциплин обслуживания

Различают приоритетные и бесприоритетные дисциплины обслуживания.

Бесприоритетные ДО - выбор из очереди производится без учета относительной важности задач и времени их обслуживания. Приоритетное обслуживание - отдельным задачам предоставляется преимущественное право перейти в состояние ВЫПОЛНЕНИЯ.

Приоритеты, в свою очередь, могут быть фиксированными или динамическими:

  1. Фиксированные приоритеты - являются величиной постоянной на всем жизненном цикле процесса.

  2. Динамические приоритеты - изменяются в зависимости от некоторых условий в соответствии с определенными правилами.

Фиксированные приоритеты реализуются проще; для реализации динамических приоритетов необходимы дополнительные затраты, но их использование предполагает более справедливое распределение процессорного времени между процессами.

Рис.48. Классификация дисциплин обслуживания

Описание дисциплин обслуживания

Бесприоритетная линейная дисциплина обслуживания

Особенности организации: Реализация стратегии, при которой задания заканчиваются в порядке поступления. Две очереди готовых процессов: одна - для уже выполнявшихся процессов, другая - для вновь пришедших.

Схема линейной дисциплины обслуживания и граф состояний процесса в системе с линейной дисциплиной обслуживания представлены на рис 49.

Перераспределения процессорного времени не происходит, т.е. операции принудительного прекращения процесса в этой схеме

Рис.49. а) Схема линейной дисциплины обслуживания; б) Граф состояний процесса в системе с линейной дисциплиной обслуживания

Перераспределения процессорного времени не происходит, т.е. операции принудительного прекращения процесса в этой схеме нет. Процесс, начавший выполнение вытеснен быть не может. Выполнившиеся процессы ставятся в конец очереди 1 (уже выполнявшихся). Всегда выбирается первый процесс из очереди. Сначала выбираются процессы из очереди 1 (уже выполнявшихся); процессы из очереди 2 (вновь поступивших) выбираются, если очередь 1 (уже выполнявшихся) пуста.

Достоинства:

  • Исключительная простота реализации

  • Малый расход системных ресурсов на организацию

Недостатки:

  • При увеличении нагрузки растет время ожидания обслуживания, при этом короткие задания ждут столько же, сколько и длинные. Следовательно, имеет место дискриминация процессов, постоянно присутствует вероятность откладывания обслуживания.

Бесприоритетная циклическая (карусельная) дисциплина обслуживания

Особенности организации: Основана на квантовании. Процесс может быть вытеснен по истечению кванта, если он к этому времени не закончился. Он ставится в конец очереди наряду с поступившими процессами. Очередь готовых процессов одна - для уже выполнявшихся и для вновь поступивших. Из очереди всегда выбирается первый процесс, ставится в конец очереди. Смена выполняющегося процесса может произойти в следующих случаях:

  • процесс закончил свое выполнение или произошла ошибка

  • процесс перешел в состояние ОЖИДАНИЕ

  • истек квант времени, отведенный процессу

Схема циклической дисциплины обслуживания и граф состояний процесса в системе с циклической дисциплиной обслуживания представлены на рис 50.

Рис.50. а) Схема циклической дисциплины обслуживания; б) граф состояний процесса в системе с циклической дисциплиной обслуживания

Достоинства:

  • При относительной простоте реализации исключено бесконечное откладывание обслуживания

Недостатки:

  • Увеличение доли накладных расходов при уменьшении кванта и ухудшение реакции системы при увеличении кванта.

Дисциплина обслуживания с относительными приоритетами

Особенности организации: Дисциплина обслуживания, основанная на приоритетах. Процесс не может быть вытеснен другими заданиями. Очередь готовых процессов одна. Процесс всегда ставится в конец очереди. На исполнение из очереди выбирается процесс с наибольшим приоритетом.

Смена выполняющегося задания происходит в следующих случаях:

  • процесс завершен или произошла ошибка;

  • процесс перешел в состояние ожидания.

Схема дисциплины обслуживания с относительными приоритетами и граф состояний процесса в системе с дисциплиной обслуживания с относительными приоритетами представлены на рис 51.

Рис.51. а) Схема дисциплины обслуживания с относительными приоритетами; б) Граф состояний процесса в системе с дисциплиной обслуживания с относительными приоритетами

Достоинства:

  • учитывается приоритетность задач

Недостатки:

  • вероятность бесконечного откладывания обслуживания

  • потеря контроля над системой (контроль теряется в тот момент, когда управление передается процессу).

Дисциплина обслуживания с абсолютными приоритетами

Особенности организации: Дисциплина обслуживания, основанная на приоритетах. Процесс может быть вытеснен процессом с большим приоритетом. Процессы ставятся в конец единственной очереди. Из очереди выбирается процесс с максимальным приоритетом

Смена выполняющегося задания происходит в следующих случаях:

  • процесс завершен или произошла ошибка;

  • процесс перешел в состояние ожидания;

  • в очереди появился процесс с большим приоритетом

Достоинства:

  • Учитывает приоритетность задач

  • Не теряется контроль над системой (в любой момент можно запустить системную задачу с наивысшим приоритетом).

Недостатки:

  • Вероятность бесконечного откладывания обслуживания низкоприоритетных задач

  • Очень сложная реализация, поскольку сложно определить момент для пересчета приоритетов

Схема дисциплины обслуживания с абсолютными приоритетами и граф состояний процесса в системе с соответствующей дисциплиной обслуживания представлены на рис 52.

Рис.52. а) Схема дисциплины обслуживания с абсолютными приоритетами; б) Граф состояний процесса в системе с дисциплиной обслуживания с абсолютными приоритетами

Дисциплина обслуживания с приоритетом, зависящем от времени обслуживания Особенности организации: Дисциплина обслуживания, основанная на абсолютных приоритетах. Во время выполнения процесса его приоритет уменьшается с каждым тиком. Если приоритет процесса становится меньше приоритета процесса стоящего в очереди готовых, процесс будет вытеснен с выполнения. Это позволяет уменьшить дискриминацию процессов, возникающую при использовании дисциплин обслуживания с абсолютными приоритетами. Смена выполняющегося задания происходит в следующих случаях:

  • процесс завершен или произошла ошибка;

  • процесс перешел в состояние ожидания;

  • приоритет задания становится меньше, чем у ожидающего в очереди готовых задания с наибольшим приоритетом

  • в очереди появился процесс с большим приоритетом

Схема дисциплины обслуживания с приоритетами, зависящими от времени выполнения, и граф состояний процесса в системе с соответствующей дисциплиной обслуживания представлены на рис 53.

Рис.53. а) Схема дисциплины обслуживания с приоритетами, зависящими от времени выполнения; б) Граф состояний процесса в системе с дисциплиной обслуживания с приоритетами, зависящими от времени выполнения

Достоинства:

  • Учитывает приоритетность задач

  • Уменьшает возможность недобросовестного использования механизмов приоритетов

Недостатки:

- Возможность бесконечного откладывания низкоприоритетных процессов - Сложная организация, так как необходим пересчет приоритетов

Дисциплина обслуживания с приоритетом, зависящем от времени ожидания в очереди готовых процессов

Особенности организации: Дисциплина обслуживания, основанная на абсолютных приоритетах. По мере ожидания в очереди готовых, приоритет процесса увеличивается с каждым тиком. Если приоритет выполняющегося процесса становится меньше приоритета процесса стоящего в очереди готовых (независимо от того, новый это процесс или давно стоящий), процесс будет вытеснен с выполнения. Это позволяет исключить дискриминацию процессов, возникающую при использовании дисциплин обслуживания с абсолютными приоритетами и дисциплин обслуживания с приоритетами, зависящими от времени выполнения. Смена выполняющегося задания происходит в следующих случаях:

  • процесс завершен или произошла ошибка;

  • процесс перешел в состояние ожидания;

  • приоритет выполняющегося задания становится меньше, чем у ожидающего в очереди готовых задания с наибольшим приоритетом;

  • в очереди появился процесс с большим приоритетом.

Схема дисциплины обслуживания с приоритетами, зависящими от времени ожидания, и граф состояний процесса в системе с соответствующей дисциплиной обслуживания представлены на рис 54.

Рис.54. а) Схема дисциплины обслуживания с приоритетами, зависящими от времени ожидания; б) Граф состояний процесса в системе с дисциплиной обслуживания с приоритетами, зависящими от времени ожидания

Опишем модели рассмотренных дисциплин обслуживания.

Описание моделирования дисциплин обслуживания

Рассмотрим процесс моделирования ДО в пакете Model Vision 3.2.18. Данный пакет позволяет моделировать сложные динамические системы, к числу которых относятся ДО. Особое внимание здесь уделяется описанию поведения различных объектов и его визуализации. В моделях представлены следующие классы объектов: выполняемые задачи и процессор. Каждый класс характеризуется рядом параметров. У класса "Задача" следующие параметры: длина программы (сколько действий должен выполнить процессор для выполнения этой задачи), номер в очереди. Процессор обладает одной характеристикой - количество действий, которые он может выполнить за один квант. Описываемые модели являются идеальными, т.е. во всех случаях процессор ВСЕГДА находится в активном состоянии (загружен на 100%). Обмен информацией между классами осуществляется при помощи сигналов (в данном пакете это входы и выходы). Введено 4 вида сигналов:

  1. СтартЗадача. Процесс запуска модели выполняется по сигналу СтартЗадача, который отправляется по нажатию на кнопку "Пуск". Кроме того, данная кнопка используется для пошагового исполнения алгоритма. С нажатием этой кнопки проходит время, равное одному кванту.

  2. ЗадачаЗаблокирована. Сигнал ЗадачаЗаблокирована отправляется по нажатию кнопки "Блок". Получая этот сигнал, задача переходит в состояние ожидания. С нажатием этой кнопки время работы процессора не изменяется.

  3. СтопЗадача. Этот сигнал отправляется процессором, когда задача выполнена.

Каждый класс также характеризуется картой поведения.

Бесприоритетная Циклическая

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

Опишем поведение процессора. При нажатии кнопки Пуск процессор отправляет задачам сигнал СтартЗадача. По этому сигналу выполняются следующие действия:

Кнопка_Пуск:=false; (отжатие кнопки)

send СтартЗадача(true); (передача сигнала)

Гл_Выполнено_команд:=Гл_Выполнено_команд+Квант; (подсчет выполненных

команд в зависимости

от кванта, в модели

квант равен одному

условному промежутку

времени)

if Гл_Выполнено_команд<Гл_Длина_программы then (если количество выполненных команд не превышает длину задачи)

send СтопЗадача(true); (по истечении кванта происходит вытеснение задачи)

else

send ЗадачаВыполнена(true); (в противном случае - завершается выполнение процесса)

end if;

С нажатием кнопки Блок отправляется сигнал ЗадачаЗаблокирована, при этом выполняемый в данный момент процесс переходит в состояние ожидания. Опишем карту поведения каждой из задач. При первом получении сигнала СтартЗадача каждый процесс оказывается в состоянии Очередь. Со следующим получением этого сигнала у задач есть выбор:

  • перейти в состояние Выполнение, для этого необходимо соблюдение условия:

(Номер_в_очереди=1) and (СменаПриоритета=1),

где СменаПриоритета - это специальная переменная (флаг), введенная для того, чтобы проверить, "отследил" ли процессор номер задачи в очереди. Изначально все задачи имеют значение этой переменной, равное 0. Кроме того, процессы имеют некоторый номер в очереди, который изначально задается пользователем как значение переменной Номер_в_очереди. На исполнение процессор выбирает ту из них, у которой номер равен 1;

  • перейти по замкнутой стрелке в это же состояние с выполнением действий:

if СменаПриоритета=1 then

Номер_в_очереди:=Номер_в_очереди-1; (происходит изменение номера задач в

очереди, т.е. их перемещение)

if Номер_в_очереди=0 then

Номер_в_очереди:=Количество_задач; (данное условие введено для того,

чтобы поставить задачу, пришедшую

после выполнения, в конец очереди)

end if;

else

СменаПриоритета:=1;

end if;

Из состояния Выполнение выход возможен в 3 направлениях:

  • получив сигнал ЗадачаЗаблокирована, перейти в состояние Ожидание;

  • вернуться в Очередь, при переходе по этой стрелке уменьшается количество действий, которые необходимо выполнить для завершения процесса;

  • перейти в состояние Задача_выполнена.

Из состояния Ожидание переход осуществляется по сигналу СтартЗадача, при этом происходит:

СменаПриоритета:=0;

Номер_в_очереди:=Количество_задач; (осуществляется постановка задачи в конец очереди)

Бесприоритетная Линейная Сложность этой модели заключается в том, что здесь 2 очереди готовых к исполнению задач: изначально в Очередь1 встают только 2 задачи (№1 и №2). Их карта поведения изображена на рис.55

Рис.55 Карта поведения Задачи1 и Задачи2

В данной модели каждая задача получает свой Номер_в_очереди1. Перемещение в состояние Выполнение происходит, когда Номер_в_очереди1=1.

Рис.56 Карта поведения Задачи3

Задача3 попадает в Очередь2, переход в состояние Выполнение осуществляется, когда освобождается Очередь1 (Задачи1 и Задачи2 выполнились или находятся в состоянии Ожидание). Относительный Приоритет

Управление данной моделью осуществляется также двумя кнопками. Наиболее существенным отличием этой модели (от ранее описанных) является условие выбора задачи из очереди готовых процессов:

Приоритет=макс; (где Приоритет - это постоянная, введённая для каждой задачи;

макс - переменная, равная максимальному приоритету (пересчёт

осуществляется с каждым нажатие кнопки "Пуск")).

При завершении задачи, её приоритет приравнивается к нолю (чтобы осуществился переход в состояние выполнения другой задачи). В остальном данная модель повторяет модель Бесприоритетной Циклической ДО. Абсолютный Приоритет

Данная модель - первый представитель истинной многозадачности. Вытеснение происходит в том случае, если приоритет вновь появившейся задачи является максимальным (введена новая кнопка "Новая_задача", запускающая задачу№3).

Динамический Приоритет От Времени Обслуживания

Здесь для каждой задачи к замкнутой стрелке (в узле Выполнение) добавлено новое действие (на примере Задачи3):

Приоритет3:=Приоритет3-1; (приоритет убывает с каждым нажатием кнопки "Пуск")

Кнопка "Новая_задача" для наглядности оставлена.

Динамический Приоритет От Времени Ожидания

В связи с тем, что приоритет активной задачи не изменяется, а приоритет задач, находящихся в Очереди возрастает, добавлена замкнутая стрелка (в узле Очередь), проходя по которой приоритет увеличивается (действие уменьшения приоритета убрано).

Практическая часть

  1. Запустить Model Vision Free

  2. Осуществить анализ алгоритмов планирования с использованием визуальных моделей:

    1. Бесприоритетная Линейная

    2. Относительный Приоритет

    3. Абсолютный Приоритет

    4. Динамический Приоритет От Времени Обслуживания

    5. Динамический Приоритет От Времени Ожидания.

  3. Оформить отчет, включив в него карты поведения для каждой ДО

  4. Ответить на контрольные вопросы

Контрольные вопросы

  1. Какие виды планирования вы знаете?

  2. Решение каких задач включает в себя планирование процессов?

  3. Какие задачи решаются программными средствами, а какие в значительной степени аппаратно?

  4. Когда в соответствии с алгоритмами, основанными на квантовании, происходит смена активного процесса?

  5. Какие разновидности приоритетных алгоритмов вам знакомы?

  6. Какие способы планирования называются вытесняющей многозадачностью и невытесняющей?.

  7. Привести классификацию ДО.

  8. Охарактеризовать известные вам ДО.

  9. Какая дисциплина обслуживания больше подходит для пользователя? Почему?

Литература

  1. http//Edu.allsoft.ru