Операционные системы

 















Операционные системы


1.Описание задания


Вычислительная система располагает оперативной памятью V и внешней H. ОП память выделяется перемещаем разделами, которые исключают влияние фрагментации. Реализуется режим мультипрограммирования: если одновременно выполняется несколько задач, то процессорное время распределяется между ними равномерно. В систему поступает поток из M заданий, очередное задание поступает через время ti. Каждое задание состоит из одной задачи и требует vi оперативной памяти и hi внешней, а также процессорное время. Все задания используют внешнюю память только для ввода в течение времени q*hi, после чего начинается счёт, но закреплённый внешний носитель освобождается лишь после завершения задания. Возможно параллельное использование внешней памяти без задержки заданиями друг друга.

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

среди заданий в очереди, для которых достаточно свободных ресурсов, выбирается задание, поступившее первым - FIFO

среди заданий в очереди, для которых достаточно свободных ресурсов, выбирается задание с наименьшим -SJF


2.Задание на работу


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


Где - время завершения задания, - время поступления задания в систему.


3.Исходные данные, соответствующие варианту


В соответствии с данными инструкциями, была построена следующая последовательность из 10 заданий.


Таблица 3.1 - Задания для обработки системой

№ работыСоответствие варианту из таблицыВремя поступления заданияТребуемые ресурсыОПВнешняя памятьПроцессорное время1555030227234035125030482046405323411069321350773991308342411092442340107519130

4. Теоретические сведения


Прежде всего, рассмотрим проблему в общем, и попытаемся понять, где же она встречается.

Что такой процесс-разберёмся:

Процесс - это программный модуль, выполняемый в CPU. Операционная система контролирует следующую деятельность, связанную с процессами:

. создание и удаление процессов

. планирование процессов

. синхронизация процессов

. коммуникация процессов

. разрешение тупиковых ситуаций

Объектом исследования данной работы среди вышеперечисленного в первую очередь является планирование.

Планирование - обеспечение поочередного доступа процессов к одному процессору.

Планировщик - отвечающая за это часть операционной системы.

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

Следующие ситуации, когда необходимо планирование:

. Когда создается процесс

. Когда процесс завершает работу

. Когда процесс блокируется на операции ввода / вывода, семафоре, и т.д.

. При прерывании ввода / вывода.

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

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

. Для всех систем:

Справедливость - каждому процессу справедливую долю процессорного времени

Контроль над выполнением принятой политики

Баланс - поддержка занятости всех частей системы (например: чтобы были заняты процессор и устройства ввода / вывода)

. Системы пакетной обработки:

Пропускная способность - количество задач в час

Оборотное время - минимизация времени на ожидание обслуживания и обработку задач.

Использование процесса - чтобы процессор всегда был занят.

3. Интерактивные системы:

- Время отклика - быстрая реакция на запросы

Соразмерность - выполнение ожиданий пользователя (например: пользователь не готов к долгой загрузке системы)

. Системы реального времени:

Окончание работы к сроку - предотвращение потери данных

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

Планирование процессов. Понятие очереди.

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

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

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

Процесс в состоянии ожидания завершения операции ввода - вывода находится в одной из очередей к оборудованию ввода - вывода, которая носит название devicesqueue. При прохождении через компьютер процесс мигрирует между различными очередями под управлением программы, которая называется планировщик. (scheduler) Операционная система, обеспечивающая режим мультипрограммирования, обычно включает два планировщика - долгосрочный (longtermscheduler) и краткосрочный (shorttermscheduler / CPU scheduler).

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

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

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

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

Планирование процессора.

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

Также рассмотрим понятие диспетчеризации.

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

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

Переключает контекст

Переключает процессор в пользовательский режим

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

Диспетчеризация процессора - распределение его времени между процессами в системе. Цель диспетчеризации - максимальная загрузка процессора, достигаемая с помощью мультипрограммирования.

Известны два типа построения диспетчера с запуском задач по расписанию (TimeTriggered) и с запуском задач по событиям (EventTriggered). Запуск задач по расписанию обычно строится на базе часов реального времени, либо по прерываниям от внешнего источника тактирующих импульсов. Так как часы реального времени, как правило, строятся на базе аппаратного таймера, вызывающего прерывания с заданным периодом повторения, можно считать первый тип разновидностью второго.

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

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


4.Временная диаграмма дисциплины обслуживания FIFO


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


Рис. 5.1 - Временная диаграмма ДО FIFO


События, происходящие в системе, описываются в таблице 4.1.


Таблица 5.1 - Описание временной диаграммы для ДО FIFO

Момент времениСобытиеСвободные ресурсы0Система начинает работу.ОП=16, ВП=125Поступает З1 [5, 0]. Очередь пуста. Выделяются ресурсы для З1. Внешнее устройство не используется - З1 развивается на процессоре.ОП=11, ВП=127Поступает З2 [2, 3]. Очередь пуста. Выделяются ресурсы, З1 работает с устройством.ОП=9, ВП=912Поступает З3 [5, 0]. Очередь пуста. Выделяются ресурсы для З3. Внешнее устройство не используется - З3 развивается на процессоре.ОП=4, ВП=920Поступает З4 [4, 6]. Очередь пуста. Выделяются ресурсы, З4 работает с устройством.ОП=0, ВП=322З2 завершает работу с устройством, З2 развивается на процессоре.ОП=0, ВП=323Поступает З5 [4, 1], ресурсов недостаточно. З5 в очереди в состоянии ожидания.ОП=0, ВП=332Поступает З6 [1, 3], ресурсов недостаточно. З6 в очереди в состоянии ожидания.ОП=0, ВП=339Поступает З7 [9, 1], ресурсов недостаточно. З7 в очереди в состоянии ожидания.ОП=0, ВП=342Поступает З8 [4, 1], ресурсов недостаточно. З8 в очереди в состоянии ожидания.ОП=0, ВП=344Поступает З9 [2, 3], ресурсов недостаточно. З9 в очереди в состоянии ожидания.ОП=0, ВП=350З4 завершает работу с устройством, З4 развивается на процессоре.ОП=0, ВП=351Поступает З10 [9, 1], ресурсов недостаточно. З10 в очереди в состоянии ожидания.ОП=0, ВП=385З1 завершена. Освобождаются ресурсы, свободно: [5, 3]. Этого достаточно для З5, З6, З8, З9. По FIFO выбираем З5, пришедшую раньше. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З5 начинает работу с устройством.ОП=1, ВП=290З5 завершает работу с устройством, З5 развивается на процессоре.ОП=1, ВП=2112З3 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого достаточно только для З8. Выбираем З8. Оставшихся ресурсов [2, 1] не достаточно для запуска ещё одной задачи. З8 начинает работу с устройством.ОП=2, ВП=1117З8 завершает работу с устройством, З8 развивается на процессоре.ОП=2, ВП=1129З5 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого не достаточно для задач из очереди.ОП=6, ВП=2150З8 завершена. Освобождаются ресурсы, свободно: [10, 3]. Этого достаточно для З6, З7, З9, З10. По FIFO выбираем З6, пришедшую раньше. Оставшихся ресурсов [9, 0] не достаточно для запуска ещё одной задачи. З6 начинает работу с устройством.ОП=9, ВП=0157З2 завершена. Освобождаются ресурсы, свободно: [11, 3]. Этого достаточно для З7, З9, З10. По FIFO выбираем З7, пришедшую раньше. Оставшихся ресурсов [2, 2] не достаточно для запуска ещё одной задачи. З7 начинает работу с устройством.ОП=2, ВП=2162З7 завершает работу с устройством, З7 развивается на процессоре.ОП=2, ВП=2165З6 завершает работу с устройством, З6 развивается на процессоре.ОП=2, ВП=2174З4 завершена. Освобождаются ресурсы, свободно: [6, 8]. Этого достаточно для З9. Выбираем З9. Оставшихся ресурсов [4, 5] не достаточно для запуска ещё одной задачи. З9 начинает работу с устройством.ОП=4, ВП=5189З9 завершает работу с устройством, З9 развивается на процессоре.ОП=4, ВП=5243З7 завершена. Освобождаются ресурсы, свободно: [13, 6]. Этого достаточно для З10. Выбираем З10. Очередь пуста. З10 начинает работу с устройством.ОП=4, ВП=5248З10 завершает работу с устройством, З10 развивается на процессоре.ОП=4, ВП=5305З6 завершена. Освобождаются ресурсы, свободно: [5, 8]. Очередь пуста.ОП=5, ВП=8306З9 завершена. Освобождаются ресурсы, свободно: [7, 11]. Очередь пуста.ОП=7, ВП=11321З10 завершена. Освобождаются ресурсы, свободно: [16, 12]. Очередь пуста. Все задания выполнены.ОП=16, ВП=12

Таблица 5.2 - Расчёт средневзвешенного времени обращенийдля ДО FIFO

180302,664,772150552,733100303,334154702,205106157,076273654,207204355,838108157,209262554,7610270357,71

.Временная диаграмма дисциплины обслуживания SJF


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


Рис. 6.1 - Временная диаграмма ДО SJF


Таблица 6.1 - Описание временной диаграммы для ДО SJF

Момент времениСобытиеСвободные ресурсы0Система начинает работу.ОП=16, ВП=125Поступает З1 [5, 0]. Очередь пуста. Выделяются ресурсы для З1. Внешнее устройство не используется - З1 развивается на процессоре.ОП=11, ВП=127Поступает З2 [2, 3]. Очередь пуста. Выделяются ресурсы, З1 работает с устройством.ОП=9, ВП=912Поступает З3 [5, 0]. Очередь пуста. Выделяются ресурсы для З3. Внешнее устройство не используется - З3 развивается на процессоре.ОП=4, ВП=920Поступает З4 [4, 6]. Очередь пуста. Выделяются ресурсы, З4 работает с устройством.ОП=0, ВП=322З2 завершает работу с устройством, З2 развивается на процессоре.ОП=0, ВП=323Поступает З5 [4, 1], ресурсов недостаточно. З5 в очереди в состоянии ожидания.ОП=0, ВП=332Поступает З6 [1, 3], ресурсов недостаточно. З6 в очереди в состоянии ожидания.ОП=0, ВП=339Поступает З7 [9, 1], ресурсов недостаточно. З7 в очереди в состоянии ожидания.ОП=0, ВП=342Поступает З8 [4, 1], ресурсов недостаточно. З8 в очереди в состоянии ожидания.ОП=0, ВП=344Поступает З9 [2, 3], ресурсов недостаточно. З9 в очереди в состоянии ожидания.ОП=0, ВП=350З4 завершает работу с устройством, З4 развивается на процессоре.ОП=0, ВП=351Поступает З10 [9, 1], ресурсов недостаточно. З10 в очереди в состоянии ожидания.ОП=0, ВП=385З1 завершена. Освобождаются ресурсы, свободно: [5, 3]. Этого достаточно для З5 (10), З6 (50), З8 (10), З9 (40). По SJF выбираем З5, имеющее меньшое необходимое процессорное время. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З5 начинает работу с устройством.ОП=1, ВП=290З5 завершает работу с устройством, З5 развивается на процессоре.ОП=1, ВП=2112З3 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого достаточно только для З8. Выбираем З8. Оставшихся ресурсов [2, 1] не достаточно для запуска ещё одной задачи. З8 начинает работу с устройством.ОП=2, ВП=1117З8 завершает работу с устройством, З8 развивается на процессоре.ОП=2, ВП=1129З5 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого не достаточно для задач из очереди.ОП=6, ВП=2150З8 завершена. Освобождаются ресурсы, свободно: [10, 3]. Этого достаточно для З6 (50), З7 (30), З9 (40), З10 (30). По SJF выбираем З7, имеющее меньшее необходимое процессорное время. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З7 начинает работу с устройством.ОП=1, ВП=2155З7 завершает работу с устройством, З7 развивается на процессоре.ОП=1, ВП=2158З2 завершена. Освобождаются ресурсы, свободно: [3, 5]. Этого достаточно для З6 (50), З9 (40). По SJF выбираем З9, имеющее меньшее необходимое процессорное время. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З9 начинает работу с устройством.ОП=1, ВП=2173З9 завершает работу с устройством, З9 развивается на процессоре.ОП=1, ВП=2178З4 завершена. Освобождаются ресурсы, свободно: [6, 8]. Этого достаточно для З6. Выбираем З6. Оставшихся ресурсов [4, 5] не достаточно для запуска ещё одной задачи. З6 начинает работу с устройством.ОП=4, ВП=5193З6 завершает работу с устройством, З6 развивается на процессоре.ОП=4, ВП=5231З7 завершена. Освобождаются ресурсы, свободно: [13, 6]. Этого достаточно для З10. Выбираем З10. Очередь пуста. З10 начинает работу с устройством.ОП=4, ВП=5236З10 завершает работу с устройством, З10 развивается на процессоре.ОП=4, ВП=5284З9 завершена. Освобождаются ресурсы, свободно: [6, 8]. Очередь пуста.ОП=6, ВП=8312З10 завершена. Освобождаются ресурсы, свободно: [15, 9]. Очередь пуста.ОП=15, ВП=9318З6 завершена. Освобождаются ресурсы, свободно: [16, 12]. Очередь пуста. Все задания выполнены.ОП=16, ВП=12

Таблица 6.2 - Расчёт средневзвешенного времени обращенийдля ДО SJF

180302,664,702151552,753100303,334158702,265106157,076286654,407192355,498108157,209240554,3610261357,46

6. Выводы по разделу 1


Сравнивая 4.70 для SJF, 4.77 для FIFO, можно сказать, что для обработки данного набора заданий лучше идет дисциплина обслуживания SJF.


7. Исходные данные для раздела 2


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


Таблица 8.1 - Таблица задач диспетчера

№ работыСоответствие варианту из таблицыВремя поступления ЗаданияПроцессорное времяПриоритет задачи155303227402351230148204035323102693250177393028342103924440110751301

Временные диаграммы строятся для двух различных дисциплин обслуживания: «смешанный алгоритм» и «абсолютный приоритет».

Смешанный алгоритм - дисциплина с многоуровневой очередью. Отличается от алгоритма «обратная связь» тем, что каждое задание проходит i-ую очередь определённое число раз, и лишь затем переходит в очередь с номером i + 1. Очередь с номером iобслуживается, когда пусты все предыдущие очереди. Все заявки поступают в самую приоритетную очередь с номером 1. Каждая очередь обслуживается по FIFO.

Абсолютный приоритет - дисциплина, в которой задания из i-ой очереди выполняются по принципу FIFOтолько тогда, когда все предыдущие очереди пусты.


Рис. 8.1. Временная диаграмма для диспетчеризации


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

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

8. Временная диаграмма диспетчера с ДО - смешанный алгоритм


Рис. 9.1 - Временная диаграмма диспетчера, часть 1


Дополнительные данные, описывающие временную диаграмму, изображённую на рисунке 9.1 приведены в таблице 9.1. При этом очереди описываются в следующем формате. Так как очередей может быть несколько, каждая из них заключается в квадратные скобки: []. Очереди представлены в порядке по возрастанию. При этом, чтобы отличать задания, которые после выполнения попали в ту же очередь второй раз, будем обозначать их символом . То есть задание с символом , поступающее на выполнение, переходит в следующую очередь.

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


Таблица 9.1 - Таблица дополнительных данных для рисунка 9.1

№ВремяКвантОчередьОписание15 - 127[1]В очередь поступает З1 - выделяем квант времени = 7 задаче 1.212 - 225[1 3]В конец первой очереди поступает задача 3. З1 получает кв. 5 и переходит во вторую очередь. З3 получает кв. 5 и остаётся в первой очереди.322 - 509[3 2] [1]В конец первой очереди поступает задача 2. З3 получает кв. 5 и переходит в конец очереди 2. З2 получает кв. 5, а затем кв. 4, так как З2 единственная в первой очереди, после этого переходит во вторую очередь. З1 получает кв. 5. З3 получает кв. 4, после неё следует задача 2, но ей уже выделен весь квант времени, помещаем её обратно в конец второй очереди. З1 вновь получает кв. 4 и переходит в очередь 3.450 - 859[4] [32] [1]Поступает задача 4 в очередь 1. З4 получает кв. 5, а затем кв. 4 и переходит в очередь 2. Переходим на вторую очередь: З3 получает кв. 5 и переходит в очередь 3. Оставшаяся З2 получает кв. 5, а затем кв. 4, переходит в очередь 3. З4 уже получила свой квант, и так и остаётся в очереди 2. З1 из третьей очереди получает кв. 5. З3 получает кв. 4 З1 получает кв. 4 и завершает выполнение. Всем задачам выделен квант времени 9.

Рис. 9.2 - Временная диаграмма диспетчера, часть 2


Таблица 9.2 - Таблица дополнительных данных для рисунка 9.2

№ВремяОчередьКвантОписание585 - 90[] [4] [3 2]21-ая очередь пуста - рассматриваем 2-ую. З4 получает целиком кв. 2. З3 получает кв. 2 и переходит в очередь 4 З2 получает кв. 2.690 - 112[5] [4] [2] [3]6В 1 ую очередь поступает З5. З5 получает кв. 6 и далее игнорируется на промежутке, оставаясь в очереди 1. З4 получает кв. 6 и переходит во вторую очередь. З2 получает кв. 6 и переходит в очередь 4 З3 получает кв. 6 и завершает своё выполнение.7112 - 117[5][] [4] [2]2З5 получает кв. 2 и переходит в очередь 2 З4 получает кв. 2 З2 получает кв. 28117 - 129[8] [5] [4] [2]3В первую очередь поступает З8. З8 получает кв. 3 З5 получает кв. 3 и завершает выполнение З4 получает кв. 3 и переходит в очередь 4 З2 получает кв. 3 и переходит в очередь 59129 - 150[8][][] [4] [2]7З8 получает кв. 4 и переходит в очередь 2. З8 получает кв. 3 и завершает своё выполнение. З4 получает кв. 4, а затем кв. 3, переходит в очередь 5. З2 получает кв. 4, а затем кв. 3, переходит в очередь 6.10150 - 157[][][][] [4] [2]4З4 получает кв. 4 З2 получает кв. 4 и завершает своё выполнение11157 - 162[][][][] [4]5З4 получает кв. 5 и переходит в очередь 612162 - 165[7][][][][] [4]2З7 поступает в первую очередь. З7 получает кв. 2 З4 получает кв. 213165 - 174[7 6][][][][] [4]3З6 поступает в конец очереди 1. З7 получает кв. 3 и переходит в очередь 2 З6 получает кв. 3 З4 получает кв. 3 и завершает выполнение14174 - 189[6] [7]8З6 получает кв. 8 и переходит в очередь 2 З7 получает кв. 8.

Рис. 9.3 - Временная диаграмма диспетчера, часть 3

процесс операционный процессор диспетчер

Таблица 9.3 - Таблица дополнительных данных для рисунка 9.3

№ВремяОчередьКвантОписание15189 - 243[9] [6 7]18З9 поступает в первую очередь. З9 получает кв. 6 два раза и переходит в конец второй очереди. З6 получает кв. 6 З7 получает кв. 6 и переходит в очередь 3. З9 получает кв. 6. З6 получает кв. 6 и переходит в очередь 3. З7 получает кв. 6. З6 получает кв. 6 З7 получает кв. 6 и завершает выполнение.16243 - 248[] [9] [6]2З9 получает кв. 2 и переходит в очередь 3. З6 получает кв. 2 и переходит в очередь 4.17248 - 305[10][] [9] [6]19З10 поступает в первую очередь. З10 получает три раза кв. 5, затем кв. 4, в итоге оказывается в конце третьей очереди. З9 получает два раза кв. 5 и переходит в очередь 4. З6 получает кв. 5. З9 получает кв. 5. З6 получает кв. 5 и переходит в очередь 5. З9 получает кв. 4 и переходит в очередь 5. З6 получает кв. 5, а затем кв. 4 (так как все остальные задачи получили свой квант), и завершает своё выполнение.18305 - 306[][] [10][] [9]1З10 получает кв. 1. З9 получает кв. 1 и завершает своё выполнение.19306 - 321[][] [10]15З10 получает кв. 5 три раза и завершает своё выполнение.

9. Временная диаграмма диспетчера с ДО - абсолютный приоритет


Рис. 10.1 - Временная диаграмма диспетчера, часть 1


Дополнительные данные, описывающие временную диаграмму, изображённую на рисунке 10.1 приведены в таблице 10.1. В графе «Очереди на начало промежутка» отображаются все 3 очереди - так как в таблице задач лишь 3 различных значения приоритета: 1, 2 и 3. Очереди выписаны по убыванию приоритета-то есть левая очередь самая приоритетная.


Таблица 10.1 - Таблица дополнительных данных для рисунка 10.1

№ВремяКвантОчередьОписание15 - 127[][] [1]З1 поступает в третью очередь. З1 получает кв. 7, так как очереди 1 и 2 пусты.212 - 225[3][] [1]З3 поступает в первую очередь. З3 из самой приоритетной очереди первой получает кв. 5 З1 получает кв. 5, так как З3 уже получила свой квант на промежутке.322 - 509[3] [2] [1]З2 поступает в очередь 2. З3 получает кв. 5, а затем 4. З2 получает кв. 5, а затем 4. З1 получает кв. 5, а затем 4.450 - 859[3] [2] [1 4]З4 поступает в конец очереди 3. З3 получает кв. 5, а затем 4. З2 получает кв. 5, а затем 4. З1 получает кв. 5 и переходит в конец третьей очереди. З4 получает кв. 5 и переходит в конец третьей очереди. З1 получает кв. 4 и завершает выполнение. З4 получает кв. 4.

Рис. 10.2 - Временная диаграмма диспетчера, часть 2


Таблица 10.2 - Таблица дополнительных данных для рисунка 10.2

№ВремяКвантОчередьОписание585 - 902[3] [2] [4]З3 получает кв. 2. З2 получает кв. 2. З4 получает кв. 2.690 - 1126[3] [2 5] [4]З5 поступает в очередь 2. З3 получает кв. 6 и завершает выполнение. З2 получает кв. 6. З5 получает кв. 6. З4 получает кв. 6.7112 - 1172[] [2 5] [4]З2 получает кв. 2. З5 получает кв. 2. З4 получает кв. 2.8117 - 1293[] [2 5] [4 8]З8 поступает в очередь 3. З2 получает кв. 3. З5 получает кв. 3 и завершает выполнение. З4 получает кв. 3. З8 получает кв. 3.9129 - 1507[] [2] [4 8]З2 получает кв. 4. З2 получает кв. 3. З4 получает кв. 4. З8 получает кв. 4. З4 получает кв. 3. З8 получает кв. 3 и завершает выполнение.10150 - 1574[] [2] [4]З2 получает кв. 4 и завершает выполнение. З4 получает кв. 4.11157 - 1625[][] [4]З4 получает кв. 5.12162 - 1652[] [7] [4]З7 поступает в очередь 2. З7 получает кв. 2. З4 получает кв. 2.13165 - 1743[6] [7] [4]З6 поступает в очередь 1. З6 получает кв. 3. З7 получает кв. 3. З4 получает кв. 3 и завершает выполнение.14174 - 1898[6] [7][]З6 получает кв. 8. З7 получает кв. 8.

Рис. 10.3 - Временная диаграмма диспетчера, часть 3


Таблица 10.3 - Таблица дополнительных данных для рисунка 10.3

№ВремяКвантОчередьОписание15189 - 24318[6 9] [7][]З9 поступает в конец очереди 1. З6 получает кв. 6. З9 получает кв. 6. З6 получает кв. 6. З9 получает кв. 6. З6 получает кв. 6. З9 получает кв. 6. З7 получает кв. 6 три раза и завершает выполнение.16243 - 2482[6 9][][]З6 получает кв. 2. З9 получает кв. 2.17248 - 30519[6 9 10][][]З10 поступает в конец очереди 1. З6 получает кв. 5 З9 получает кв. 5 З10 получает кв. 5 - это повторяется три раза, затем в том же порядке все получают по 4. З6 завершает выполнение.18305 - 3061[9 10][][]З9 получает кв. 1 и завершает выполнение. З10 получает кв. 1.19306 - 32115[10][][]З10 получает кв. 5 три раза и завершает выполнение.

У меня построено двух временных диаграмм диспетчера были изучены две дисциплины обслуживания: бесприоритетная ДО «Смешанный алгоритм» и ещё приоритетная ДО «Абсолютный приоритет».

В принципе работы дисциплин и построенную диаграмму, можно сказать, что на уровне диспетчера дисциплина «смешанный алгоритм» прежде всего выделяет кванты времени вновь поступившим задачам, а дисциплина «абсолютный алгоритм» руководствуется лишь приоритетом и предоставляет всё время задачам из самой приоритетной очереди, пока они не получат свой квант времени.

Время работы диспетчера в обоих случая составило 74 * 2 = 148 квантов времени. При этом время выполнения задач составляет 321. То есть в обоих случаях диспетчер получает , что вполне удовлетворительно. Но данную цифру можно увеличить, выделяя больший квант времени задачам (когда это возможно), а также сокращая время работы диспетчера.


Список литературы


1) Словарь Монгольский-Русский

) Словарь Русский-Монгольский

) Википедия - свободная энциклопедия [Электронный ресурс] - Электрон. дан. - [2013] - Режим доступа: #"justify">) Проекты большие и маленькие [Электронный ресурс] - Электрон. дан. - [2012] - Режим доступа: #"justify">) ГОУ СПО Сахалинский государственный колледж бизнеса и информатики [Электронный ресурс] - Электрон. дан. - [2011] - Режим доступа: #"justify">) ГОУ СПО Сахалинский государственный колледж бизнеса и информатики [Электронный ресурс] - Электрон.дан. - [2013] - Режим доступа: #"justify">) Википедия - свободная энциклопедия [Электронный ресурс] - Электрон. дан. - [2010] - Режим доступа: http://ru.wikipedia.org/wiki/Диспетчер_(операционные_системы)/, свободный. - Загл. с экрана. - Рус.яз.



Операционные системы 1.Описание задания Вычислительная система располагает оперативной пам

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ