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

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    554,55 Кб
  • Опубликовано:
    2013-05-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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









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

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

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

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

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

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

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

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

 

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

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

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

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

№ работы

Соответствие варианту из таблицы

Время поступления задания

Требуемые ресурсы




ОП

Внешняя память

Процессорное время

1

5

5

5

0

30

2

2

7

2

3

40

3

5

12

5

0

30

4

8

20

4

6

40

5

3

23

4

1

10

6

9

32

1

3

50

7

7

39

9

1

30

8

3

42

4

1

10

9

2

44

2

3

40

10

7

51

9

1

30


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, ВП=12

5

Поступает З1 [5, 0]. Очередь пуста. Выделяются ресурсы для З1. Внешнее устройство не используется - З1 развивается на процессоре.

ОП=11, ВП=12

7

Поступает З2 [2, 3]. Очередь пуста. Выделяются ресурсы, З1 работает с устройством.

ОП=9, ВП=9

12

Поступает З3 [5, 0]. Очередь пуста. Выделяются ресурсы для З3. Внешнее устройство не используется - З3 развивается на процессоре.

ОП=4, ВП=9

20

Поступает З4 [4, 6]. Очередь пуста. Выделяются ресурсы, З4 работает с устройством.

ОП=0, ВП=3

22

З2 завершает работу с устройством, З2 развивается на процессоре.

ОП=0, ВП=3

23

Поступает З5 [4, 1], ресурсов недостаточно. З5 в очереди в состоянии ожидания.

ОП=0, ВП=3

32

Поступает З6 [1, 3], ресурсов недостаточно. З6 в очереди в состоянии ожидания.

ОП=0, ВП=3

39

Поступает З7 [9, 1], ресурсов недостаточно. З7 в очереди в состоянии ожидания.

ОП=0, ВП=3

42

Поступает З8 [4, 1], ресурсов недостаточно. З8 в очереди в состоянии ожидания.

ОП=0, ВП=3

44

Поступает З9 [2, 3], ресурсов недостаточно. З9 в очереди в состоянии ожидания.

ОП=0, ВП=3

50

З4 завершает работу с устройством, З4 развивается на процессоре.

ОП=0, ВП=3

51

Поступает З10 [9, 1], ресурсов недостаточно. З10 в очереди в состоянии ожидания.

ОП=0, ВП=3

85

З1 завершена. Освобождаются ресурсы, свободно: [5, 3]. Этого достаточно для З5, З6, З8, З9. По FIFO выбираем З5, пришедшую раньше. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З5 начинает работу с устройством.

ОП=1, ВП=2

90

З5 завершает работу с устройством, З5 развивается на процессоре.

ОП=1, ВП=2

112

З3 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого достаточно только для З8. Выбираем З8. Оставшихся ресурсов [2, 1] не достаточно для запуска ещё одной задачи. З8 начинает работу с устройством.

ОП=2, ВП=1

117

З8 завершает работу с устройством, З8 развивается на процессоре.

ОП=2, ВП=1

129

З5 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого не достаточно для задач из очереди.

ОП=6, ВП=2

150

З8 завершена. Освобождаются ресурсы, свободно: [10, 3]. Этого достаточно для З6, З7, З9, З10. По FIFO выбираем З6, пришедшую раньше. Оставшихся ресурсов [9, 0] не достаточно для запуска ещё одной задачи. З6 начинает работу с устройством.

ОП=9, ВП=0

157

З2 завершена. Освобождаются ресурсы, свободно: [11, 3]. Этого достаточно для З7, З9, З10. По FIFO выбираем З7, пришедшую раньше. Оставшихся ресурсов [2, 2] не достаточно для запуска ещё одной задачи. З7 начинает работу с устройством.

ОП=2, ВП=2

162

З7 завершает работу с устройством, З7 развивается на процессоре.

ОП=2, ВП=2

165

З6 завершает работу с устройством, З6 развивается на процессоре.

ОП=2, ВП=2

174

З4 завершена. Освобождаются ресурсы, свободно: [6, 8]. Этого достаточно для З9. Выбираем З9. Оставшихся ресурсов [4, 5] не достаточно для запуска ещё одной задачи. З9 начинает работу с устройством.

ОП=4, ВП=5

189

З9 завершает работу с устройством, З9 развивается на процессоре.

ОП=4, ВП=5

243

З7 завершена. Освобождаются ресурсы, свободно: [13, 6]. Этого достаточно для З10. Выбираем З10. Очередь пуста. З10 начинает работу с устройством.

ОП=4, ВП=5

248

З10 завершает работу с устройством, З10 развивается на процессоре.

ОП=4, ВП=5

305

З6 завершена. Освобождаются ресурсы, свободно: [5, 8]. Очередь пуста.

ОП=5, ВП=8

306

З9 завершена. Освобождаются ресурсы, свободно: [7, 11]. Очередь пуста.

ОП=7, ВП=11

321

З10 завершена. Освобождаются ресурсы, свободно: [16, 12]. Очередь пуста. Все задания выполнены.

ОП=16, ВП=12


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

1

80

30

2,66

4,77

2

150

55

2,73


3

100

30

3,33


4

154

70

2,20


5

106

15

7,07


6

273

65

4,20


7

204

35

5,83


8

108

15

7,20


9

262

55

4,76


10

270

35

7,71


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

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

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

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

Момент времени

Событие

Свободные ресурсы

0

Система начинает работу.

ОП=16, ВП=12

5

Поступает З1 [5, 0]. Очередь пуста. Выделяются ресурсы для З1. Внешнее устройство не используется - З1 развивается на процессоре.

ОП=11, ВП=12

7

Поступает З2 [2, 3]. Очередь пуста. Выделяются ресурсы, З1 работает с устройством.

ОП=9, ВП=9

12

Поступает З3 [5, 0]. Очередь пуста. Выделяются ресурсы для З3. Внешнее устройство не используется - З3 развивается на процессоре.

ОП=4, ВП=9

20

Поступает З4 [4, 6]. Очередь пуста. Выделяются ресурсы, З4 работает с устройством.

ОП=0, ВП=3

22

З2 завершает работу с устройством, З2 развивается на процессоре.

ОП=0, ВП=3

23

Поступает З5 [4, 1], ресурсов недостаточно. З5 в очереди в состоянии ожидания.

ОП=0, ВП=3

32

Поступает З6 [1, 3], ресурсов недостаточно. З6 в очереди в состоянии ожидания.

ОП=0, ВП=3

39

Поступает З7 [9, 1], ресурсов недостаточно. З7 в очереди в состоянии ожидания.

ОП=0, ВП=3

42

Поступает З8 [4, 1], ресурсов недостаточно. З8 в очереди в состоянии ожидания.

ОП=0, ВП=3

44

Поступает З9 [2, 3], ресурсов недостаточно. З9 в очереди в состоянии ожидания.

ОП=0, ВП=3

50

З4 завершает работу с устройством, З4 развивается на процессоре.

ОП=0, ВП=3

51

Поступает З10 [9, 1], ресурсов недостаточно. З10 в очереди в состоянии ожидания.

ОП=0, ВП=3

85

З1 завершена. Освобождаются ресурсы, свободно: [5, 3]. Этого достаточно для З5 (10), З6 (50), З8 (10), З9 (40). По SJF выбираем З5, имеющее меньшое необходимое процессорное время. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З5 начинает работу с устройством.

ОП=1, ВП=2

90

З5 завершает работу с устройством, З5 развивается на процессоре.

ОП=1, ВП=2

112

З3 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого достаточно только для З8. Выбираем З8. Оставшихся ресурсов [2, 1] не достаточно для запуска ещё одной задачи. З8 начинает работу с устройством.

ОП=2, ВП=1

117

З8 завершает работу с устройством, З8 развивается на процессоре.

ОП=2, ВП=1

129

З5 завершена. Освобождаются ресурсы, свободно: [6, 2]. Этого не достаточно для задач из очереди.

ОП=6, ВП=2

150

З8 завершена. Освобождаются ресурсы, свободно: [10, 3]. Этого достаточно для З6 (50), З7 (30), З9 (40), З10 (30). По SJF выбираем З7, имеющее меньшее необходимое процессорное время. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З7 начинает работу с устройством.

ОП=1, ВП=2

155

З7 завершает работу с устройством, З7 развивается на процессоре.

ОП=1, ВП=2

158

З2 завершена. Освобождаются ресурсы, свободно: [3, 5]. Этого достаточно для З6 (50), З9 (40). По SJF выбираем З9, имеющее меньшее необходимое процессорное время. Оставшихся ресурсов [1, 2] не достаточно для запуска ещё одной задачи. З9 начинает работу с устройством.

ОП=1, ВП=2

173

ОП=1, ВП=2

178

З4 завершена. Освобождаются ресурсы, свободно: [6, 8]. Этого достаточно для З6. Выбираем З6. Оставшихся ресурсов [4, 5] не достаточно для запуска ещё одной задачи. З6 начинает работу с устройством.

ОП=4, ВП=5

193

З6 завершает работу с устройством, З6 развивается на процессоре.

ОП=4, ВП=5

231

З7 завершена. Освобождаются ресурсы, свободно: [13, 6]. Этого достаточно для З10. Выбираем З10. Очередь пуста. З10 начинает работу с устройством.

ОП=4, ВП=5

236

З10 завершает работу с устройством, З10 развивается на процессоре.

ОП=4, ВП=5

284

З9 завершена. Освобождаются ресурсы, свободно: [6, 8]. Очередь пуста.

ОП=6, ВП=8

312

З10 завершена. Освобождаются ресурсы, свободно: [15, 9]. Очередь пуста.

ОП=15, ВП=9

318

З6 завершена. Освобождаются ресурсы, свободно: [16, 12]. Очередь пуста. Все задания выполнены.

ОП=16, ВП=12


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

1

80

30

2,66

4,70

2

151

55

2,75


3

100

30

3,33


4

158

70

2,26


5

106

15

7,07


6

286

65

4,40


7

192

35

5,49


8

108

15

7,20


9

240

55

4,36


10

261

35

7,46




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

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

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

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

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

№ работы

Соответствие варианту из таблицы

Время поступления Задания

Процессорное время

Приоритет задачи

1

5

5

30

3

2

2

7

40

2

3

5

12

30

1

4

8

20

40

3

5

3

23

10

2

6

9

32

50

1

7

7

39

30

2

8

3

42

10

3

9

2

44

40

1

10

7

51

30

1


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

Смешанный алгоритм - дисциплина с многоуровневой очередью. Отличается от алгоритма «обратная связь» тем, что каждое задание проходит 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

Время

Квант

Очередь

Описание

1

5 - 12

7

[1]

В очередь поступает З1 - выделяем квант времени = 7 задаче 1.

2

12 - 22

5

[1’ 3]

В конец первой очереди поступает задача 3. З1 получает кв. 5 и переходит во вторую очередь. З3 получает кв. 5 и остаётся в первой очереди.

3

22 - 50

9

[3’ 2] [1]

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

4

50 - 85

9

[4] [3’2] [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

Время

Очередь

Квант

Описание

5

85 - 90

[] [4] [3’ 2]

2

1-ая очередь пуста - рассматриваем 2-ую. З4 получает целиком кв. 2. З3 получает кв. 2 и переходит в очередь 4 З2 получает кв. 2.

6

90 - 112

[5] [4’] [2’] [3]

6

В 1 ую очередь поступает З5. З5 получает кв. 6 и далее игнорируется на промежутке, оставаясь в очереди 1. З4 получает кв. 6 и переходит во вторую очередь. З2 получает кв. 6 и переходит в очередь 4 З3 получает кв. 6 и завершает своё выполнение.

7

112 - 117

[5’][] [4] [2]

2

З5 получает кв. 2 и переходит в очередь 2 З4 получает кв. 2 З2 получает кв. 2

8

117 - 129

[8] [5] [4’] [2’]

3

В первую очередь поступает З8. З8 получает кв. 3 З5 получает кв. 3 и завершает выполнение З4 получает кв. 3 и переходит в очередь 4 З2 получает кв. 3 и переходит в очередь 5

9

129 - 150

[8’][][] [4] [2]

7

З8 получает кв. 4 и переходит в очередь 2. З8 получает кв. 3 и завершает своё выполнение. З4 получает кв. 4, а затем кв. 3, переходит в очередь 5. З2 получает кв. 4, а затем кв. 3, переходит в очередь 6.

10

150 - 157

[][][][] [4] [2]

4

З4 получает кв. 4 З2 получает кв. 4 и завершает своё выполнение

11

157 - 162

[][][][] [4’]

5

З4 получает кв. 5 и переходит в очередь 6

12

162 - 165

[7][][][][] [4]

2

З7 поступает в первую очередь. З7 получает кв. 2 З4 получает кв. 2

13

165 - 174

[7’ 6][][][][] [4’]

3

З6 поступает в конец очереди 1. З7 получает кв. 3 и переходит в очередь 2 З6 получает кв. 3 З4 получает кв. 3 и завершает выполнение

14

174 - 189

[6’] [7]

8

З6 получает кв. 8 и переходит в очередь 2 З7 получает кв. 8.



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

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

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

Время

Очередь

Квант

Описание

15

189 - 243

[9] [6 7’]

18

З9 поступает в первую очередь. З9 получает кв. 6 два раза и переходит в конец второй очереди. З6 получает кв. 6 З7 получает кв. 6 и переходит в очередь 3. З9 получает кв. 6. З6 получает кв. 6 и переходит в очередь 3. З7 получает кв. 6. З6 получает кв. 6 З7 получает кв. 6 и завершает выполнение.

16

243 - 248

[] [9’] [6’]

2

З9 получает кв. 2 и переходит в очередь 3. З6 получает кв. 2 и переходит в очередь 4.

17

248 - 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 (так как все остальные задачи получили свой квант), и завершает своё выполнение.

18

305 - 306

[][] [10][] [9]

1

З10 получает кв. 1. З9 получает кв. 1 и завершает своё выполнение.

19

306 - 321

[][] [10’]

15

З10 получает кв. 5 три раза и завершает своё выполнение.



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

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

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

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

Время

Квант

Очередь

Описание

1

5 - 12

7

[][] [1]

З1 поступает в третью очередь. З1 получает кв. 7, так как очереди 1 и 2 пусты.

2

12 - 22

5

[3][] [1]

З3 поступает в первую очередь. З3 из самой приоритетной очереди первой получает кв. 5 З1 получает кв. 5, так как З3 уже получила свой квант на промежутке.

3

22 - 50

9

[3] [2] [1]

З2 поступает в очередь 2. З3 получает кв. 5, а затем 4. З2 получает кв. 5, а затем 4. З1 получает кв. 5, а затем 4.

4

50 - 85

9

[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

Время

Квант

Очередь

Описание

5

85 - 90

2

[3] [2] [4]

З3 получает кв. 2. З2 получает кв. 2. З4 получает кв. 2.

6

90 - 112

6

[3] [2 5] [4]

З5 поступает в очередь 2. З3 получает кв. 6 и завершает выполнение. З2 получает кв. 6. З5 получает кв. 6. З4 получает кв. 6.

7

112 - 117

2

[] [2 5] [4]

З2 получает кв. 2. З5 получает кв. 2. З4 получает кв. 2.

8

117 - 129

3

[] [2 5] [4 8]

З8 поступает в очередь 3. З2 получает кв. 3. З5 получает кв. 3 и завершает выполнение. З4 получает кв. 3. З8 получает кв. 3.

9

129 - 150

7

[] [2] [4 8]

З2 получает кв. 4. З2 получает кв. 3. З4 получает кв. 4. З8 получает кв. 4. З4 получает кв. 3. З8 получает кв. 3 и завершает выполнение.

10

150 - 157

4

[] [2] [4]

З2 получает кв. 4 и завершает выполнение. З4 получает кв. 4.

11

157 - 162

5

[][] [4]

З4 получает кв. 5.

12

162 - 165

2

[] [7] [4]

З7 поступает в очередь 2. З7 получает кв. 2. З4 получает кв. 2.

13

165 - 174

3

[6] [7] [4]

З6 поступает в очередь 1. З6 получает кв. 3. З7 получает кв. 3. З4 получает кв. 3 и завершает выполнение.

14

174 - 189

8

[6] [7][]

З6 получает кв. 8. З7 получает кв. 8.


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

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

Время

Квант

Очередь

Описание

15

189 - 243

18

[6 9] [7][]

З9 поступает в конец очереди 1. З6 получает кв. 6. З9 получает кв. 6. З6 получает кв. 6. З9 получает кв. 6. З6 получает кв. 6. З9 получает кв. 6. З7 получает кв. 6 три раза и завершает выполнение.

16

243 - 248

2

[6 9][][]

З6 получает кв. 2. З9 получает кв. 2.

17

248 - 305

19

[6 9 10][][]

З10 поступает в конец очереди 1. З6 получает кв. 5 З9 получает кв. 5 З10 получает кв. 5 - это повторяется три раза, затем в том же порядке все получают по 4. З6 завершает выполнение.

18

305 - 306

1

[9 10][][]

З9 получает кв. 1 и завершает выполнение. З10 получает кв. 1.

19

306 - 321

15

[10][][]

З10 получает кв. 5 три раза и завершает выполнение.

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

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

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

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

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

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

) Википедия - свободная энциклопедия [Электронный ресурс] - Электрон. дан. - [2013] - Режим доступа: http://ru.wikipedia.org/wiki/Операционная_система_реального_времени/, свободный. - Загл. с экрана. - Рус. яз.

) Проекты большие и маленькие [Электронный ресурс] - Электрон. дан. - [2012] - Режим доступа: http://ita2010.psu.ru:81/blogs/tags/? диспетчеризация, свободный. - Загл. с экрана. - Рус. яз.

) ГОУ СПО Сахалинский государственный колледж бизнеса и информатики [Электронный ресурс] - Электрон. дан. - [2011] - Режим доступа: http://www.ignatova-e-n.narod.ru/mop/zag7.html, свободный. - Загл. с экрана. - Рус. яз.

) ГОУ СПО Сахалинский государственный колледж бизнеса и информатики [Электронный ресурс] - Электрон.дан. - [2013] - Режим доступа: http://www.ignatova-e-n.narod.ru/mop/zag7.html, свободный. - Загл. с экрана. - Рус. яз.

) Википедия - свободная энциклопедия [Электронный ресурс] - Электрон. дан. - [2010] - Режим доступа: http://ru.wikipedia.org/wiki/Диспетчер_(операционные_системы)/, свободный. - Загл. с экрана. - Рус.яз.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!