Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лабораторная работа. Способы распределения процессорного времени в операционных системах

Поиск

 

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

 

Общие сведения

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

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

К наиболее часто используемым дисциплины диспетчеризации относятся следующие:

а) FCFS (First Come First Served — первым пришел, первым обслужен), согласно которой задачи обслуживаются «в порядке очереди», то есть в порядке их появления. Задачи, которые были заблокированы в процессе работы, после перехода в состояние готовности вновь ставятся в эту очередь готовности. Эта дисциплина обслуживания не требует внешнего вмешательства в ход вычислений, при ней не происходит перераспределения процессорного времени;

б) SJN (Shortest Job Next — следующим выполняется самое короткое задание) требует, чтобы для каждого задания была известна оценка в потребностях машинного времени. Дисциплина обслуживания SJN предполагает, что имеется только одна очередь заданий, готовых к выполнению. Задания, которые в процессе своего исполнения были временно заблокированы, вновь попадали в конец очереди готовых к выполнению наравне с вновь поступающими;

в) SRT (Shortest Remaining Time) — следующим будет выполняться задание, которому осталось меньше всего выполняться на процессоре;

г) RR (карусельная, Round Robin) - одна из самых распространенных дисциплин предполагает, что каждая задача получает процессорное время порциями или квантами времени (time slice) q. После окончания кванта времени q задача снимается с процессора, и он передается следующей задаче. Снятая задача ставится в конец очереди задач, готовых к выполнению. Для оптимальной работы системы необходимо правильно выбрать закон, по которому кванты времени выделяются задачам.

Различают невытесняющую (кооперативную) многозадачность (дисциплины FCFS, SJN, SRT) и вытесняющую многозадачность (RR и другие, созданные на ее основе).

С целью исследования принципов работы рассмотренных дисциплин диспетчеризации на кафедре «Инженерная кибернетика» был разработан программный комплекс «Эмуляция работы дисциплин диспетчеризации».

Окно программной системы для удобства и эффективности работы разбито на несколько функциональных зон (рисунок 6.1).

Верхняя левая область – область отображения загруженных процессов из операционной системы и их параметров. Количество данных процессов зависит от количества реальных процессов, запущенных на реальной машине, на которой установлена настоящая программа. Первый список собственно сами процессы. Второй список – общее время выполнения процесса, устанавливается один раз при загрузке процесса. Третий список – оставшееся время выполнения процесса после блокировки. Четвертый список – разрешение блокировки (если блокировка разрешена, то в поле устанавливается «1», иначе «0»). Пятый список – время блокировки. Шестой список – бит завершения процесса (устанавливается «1» если процесс полностью завершился). Все значения списков, кроме первого и второго, изменяются в процессе эмуляции в зависимости от хода выполнения процесса.

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

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

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

 

Рисунок 6.1 – Функциональные зоны главного окна

 

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

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

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

а) запустить приложение dispatcher.exe;

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

в) во вкладке «Дисциплина» необходимо выбрать алгоритм дисциплины диспетчеризации, с помощью которой будет производиться эмуляция;

г) нажать кнопку «Запустить» во вкладке «Файл».

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

1) область отображения списка используемых процессов и их параметры, необходимые для системы;

2) область построения зависимостей выполнения процессов;

3) область отображения эмуляции процессора и очередей выполняемых процессов;

4) графическое отображение маршрутов процессов в ходе эмуляции.

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

а) нажать кнопку «Остановить» во вкладке «Файл» для остановки процесса эмуляции;

б) нажать кнопку «Сброс» во вкладке «Файл»;

в) выполнить действия для запуска выполнения программы.

 

Задания к лабораторной работе

6.2.1 Запустить программный комплекс «Эмуляция работы дисциплин диспетчеризации» и с его помощью

- провести серии экспериментов по определению оптимальных параметров для отдельных дисциплин (частоты выполнения заблокированного процесса для FCFS, оптимального значения кванта времени для RR);

- построить графики отношения заблокированных и выполненных задач для каждой серии;

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

 

6.2.2 Три задачи А, В, С поступают в компьютерный центр практически одновременно. Ожидается, что время их выполнения составит 1, 2, 4 мин. Требуется определить среднее время выполнения задач, считая, что время переключения между процессами (время смены контекста) – 2 мс, а время кванта процессора – 20 мс. Планирование циклическое (RR) - каждой задаче достается справедливая доля процессорного времени.

 

6.2.3 Четыре пакетных задачи A, B, C, D поступают в двухпроцессорный компьютер практически одновременно. Ожидаемое время их выполнения составляет 7, 4, 6 и 2 мин. Установленные приоритеты составляют 3, 2, 1 и 4, причем 4 – высший приоритет. Определить среднее оборотное время для алгоритма «первым пришел – первый обслужен», запущенная задача работает до конца. Время, которое теряется на переключение между процессами, не учитывать.

 

Требования к отчету

Отчет по работе выполняется на бумажном носителе и должен содержать:

- задание к работе;

- описание тех или иных действий, выполненных для получения результата, или листинги программ с комментариями;

- снимки экрана с результатами работы;

- выводы по каждому заданию.

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

6.4.1 С какой целью в операционных системах используются дисциплины диспетчеризации?

6.4.2 В каких операционных системах используется дисциплина FCFS?

6.4.3 Какими достоинствами обладают рассмотренные основные дисциплины обслуживания?

6.4.4 Какие недостатки невытесняющих дисциплин устранены с помощью дисциплины RR?

6.4.5 Какое влияние на результат использования RR оказывает учет приоритетов?

6.4.6 Что представляет собой частота выполнения заблокированного процесса?

6.4.7 Приведите пример использования дисциплин диспетчеризации в ОС реального времени.

6.4.8 Приведите схемы функционирования дисциплин SJN и SRT.

6.4.9 Как изменится схема функционирования FCFS при использовании одной очереди вместо двух?

6.4.10 Какие стратегии обслуживания используются в Unix-системах?



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 741; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.168.176 (0.01 с.)