Операционные системы. 3
Новосибирский
государственный технический
Факультет автоматики и вычислительной техники
Курсовой проект
По дисциплине
«Операционные системы»
Выполнил студент факультета ЗО ИДО
Юцис А.В.
Группа ЗФ 927
Проверил Коршикова Л.А.
Новосибирск-2012
г
- Цель работы.
- Исследовать режим мультипрограммирования процессора и способы планирования заданий.
- Построить временную диаграмму мультипрограммной работы при использовании дисциплин обслуживания FIFO и SJF, и сравнить оба случая по средневзвешенному времени обращения.
- Разработать структуру функционирования диспетчера работ в вычислительной системе.
Общие сведения о планировании заданий
Функцией службы управления процессом является распределение аппаратных ресурсов центрального процессора.
- Цели планирования
Планирование заданий
обычно осуществляется в
1) быть справедливой. Дисциплина считается справедливой, если ко всем процессам она относится одинаково и ни один процесс не будет отложен на бесконечное время;
2)
обеспечивать максимальную
3)
обеспечивать минимальное
4)
быть предсказуемой, т.е. одно
и то же задание должно
5)
минимизировать накладные
6)
сбалансировать использование
7)
обеспечивать баланс между
8)
исключать бесконечное
9) учитывать приоритеты;
10) оказывать
предпочтение процессам,
11) создавать
лучшие условия для процессов
с примерным поведением (предсказуемо
и стабильно). Например, лучшие условия
работы должны создаваться для
процессов, требующих менее
12) характеризоваться
постепенностью снижения
Противоречия
2.3. Критерии планирования
1. Фактор,
лимитирующий процесс,
2. Характер
процесса позволяет определить
главные цели дисциплины
3. Рабочие характеристики процесса:
- приоритетность;
- наличие прерывания по отсутствии страниц;
- время ЦП, уже выделенному процессу;
- ожидаемое время завершения.
Механизм планирования
должен как можно раньше
2.4. Дисциплины планирования
1. По сроку
завершения задание должно
2. Более простой является дисциплина планирования по принципу FIFO (First In - First Out). Это планирование обеспечивает хорошую справедливость, однако многие цели планирования оказываются не выполненными. Например, время ответа в режиме разделения времени гарантируется слабо.
3. Циклическое планирование, когда задания обслуживаются по кругу (Round Robin, RR). Грубо говоря, это FIFO с ограниченным временем кванта ЦП. Если процесс не завершается по истечении кванта, он возвращается в конец очереди готовых процессов. При работе в режиме разделения времени обеспечивается хорошее время ответа для всех интерактивных пользователей.
4. Дисциплина SJF (Shortest Job First) - кратчайшее задание - первым. Эта дисциплина обеспечивает уменьшение минимального времени ожидания, по сравнению с FIFO, но дисперсия времен ожидания оказывается несколько выше. Проблема возникает при оценке времени выполнения того или процесса. Регулярный счет однотипных заданий позволяет применять данную дисциплину.
5. Планирование по принципу SRT (Shortest Remaining Time) - по наименьшему отстающему времени. Данный механизм учитывает, сколько время осталось процессу до завершения.
6. По относительно наибольшему времени реакции HRN (Highest Response Ratio Next). Эта дисциплина обеспечивает выполнение задания с приоритетом, учитывающим не только время обслуживания процесса, но и время, затраченное на ожидание. Динамический приоритет рассчитывается по формуле:
Приоритет = (Время_ожидания + Время_обслуживания) / Время_обслуживания
. Оценки эффективности планирования
Существует несколько оценок эффективности планирования. Одной из них является время обращения задания – время, прошедшее с момента поступления задания в систему до момента завершения его выполнения.
t = tЗ – tП, где
t – время обращения задания,
tЗ – время завершения задания,
tП – время поступления задания.
Но эта оценка не является
универсальной. Например, если сравнивать
время обращения одночасового и
одноминутного задания (при условии,
что задания начнут выполняться
сразу же, как только поступят в
систему), то время обращения одночасового
задания будет значительно
Более универсальной оценкой, позволяющей сравнивать между собой задания любой длины, является взвешенное время обращения
W = (tЗ – tП) / T, где
W – взвешенное время обращения,
T – действительное время выполнения задания.
Для случая M заданий можно провести оценку по среднему взвешенному времени обращения
WСР – средневзвешенное время обращения,
Wi – взвешенное время обращения i -го задания,
M – количество заданий.
- Часть 1
3.1 Задание и исходные данные к курсовой работе.
Вычислительная система
располагает оперативной
- среди заданий в очереди, для которых достаточно свободных ресурсов, выбирается задание, поступившее первым (правило FIFO);
- среди заданий в очереди, для которых достаточно свободных ресурсов, выбирается задание с наименьшим ti (правило SJF).
Необходимо построить
временную диаграмму
Значение используемых параметров : V=16, H=12, q=5, M=10.
Xi = [7 * Xi-1 + 417] mod 1000;
Ki = [Xi / 7] mod 10;
X0 = 429;
№ задания |
Xi |
Ki |
V |
H |
T |
ti |
|
0 |
350 |
0 |
6 |
2 |
70 |
0 |
1 |
867 |
4 |
3 |
2 |
60 |
4 |
2 |
486 |
9 |
1 |
3 |
50 |
15 |
3 |
819 |
7 |
9 |
1 |
30 |
22 |
4 |
150 |
1 |
3 |
4 |
90 |
23 |
5 |
467 |
7 |
9 |
1 |
30 |
30 |
6 |
686 |
8 |
4 |
6 |
40 |
38 |
7 |
219 |
1 |
3 |
4 |
90 |
39 |
8 |
950 |
6 |
7 |
4 |
20 |
45 |
9 |
67 |
9 |
1 |
3 |
50 |
54 |
- Временная диаграмма ДО FIFO
- Трассировка FIFO
Время |
Событие |
Доступная ОП |
Доступные ВнУ |
Коэфф. Мультипр. |
0 |
Поступило задание 1: начинается ввод задания. Процессор простаивает. |
10 |
10 |
0 |
4 |
Поступило задание 2 : начинается ввод задания. Прцессор простаивает. |
7 |
8 |
0 |
10 |
Завершён ввод задания 1: Задания на процессоре: 1 |
7 |
8 |
1 |
14 |
Завершён ввод задания 2: Задания на процессоре: 1 2 |
7 |
8 |
2 |
15 |
Поступило задание 3: начинается ввод задания. Задания на процессоре: 1 2 |
6 |
5 |
2 |
22 |
Поступило задание 4: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 |
6 |
5 |
2 |
23 |
Поступило задание 5 : начинается ввод задания. Задания на процессоре: 1 2 |
3 |
1 |
2 |
30 |
Поступило задание 6: Нехватка ресурсов - задание помещено в очередь. Завершён ввод задания 3: Задания на процессоре: 1 2 3 |
3 |
1 |
3 |
38 |
Поступило задание 7: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 |
3 |
1 |
3 |
39 |
Поступило задание 8: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 |
3 |
1 |
3 |
43 |
Завершён ввод задания 5: Задания на процессоре: 1 2 3 5 |
3 |
1 |
4 |
45 |
Поступило задание 9: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 5 |
3 |
1 |
4 |
54 |
Поступило задание 10: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 5 |
3 |
1 |
4 |
226 |
Завершено задание 3 и его ресурсы освободились. Из очереди выбрано задание 8: Начинается ввод задания. Задания на процессоре 1 2 5 |
1 |
0 |
3 |
232 |
Завершено задание 2 и его ресурсы освободились. Задания на процессоре 1 5 |
4 |
2 |
2 |
244 |
Завершено задание 1 и его ресурсы освободились. Из очереди выбраны задания 4 и 10: Начинается ввод заданий. Задания на процессоре: 5 |
0 |
0 |
1 |
246 |
Завершён ввод задания 8: Задания на процессоре: 5 8 |
0 |
0 |
2 |
249 |
Завершён ввод задания 4: Задания на процессоре: 4 5 8 |
0 |
0 |
3 |
259 |
Завершён ввод задания 10: Задания на процессоре: 4 5 8 10 |
0 |
0 |
4 |
366 |
Завершено задание 4 и его ресурсы освободились. Из очереди выбрано задание 6: Начинается ввод задания. Задания на процессоре 5 8 10 |
0 |
0 |
3 |
371 |
Завершён ввод задания 6: Задания на процессоре: 5 6 8 10 |
0 |
0 |
4 |
373 |
Завершено задание 5 и его ресурсы освободились. Задания на процессоре 6 8 10 |
3 |
4 |
3 |
436 |
Завершено задание 10 и его ресурсы освободились. Из очереди выбрано задание 7: Начинается ввод задания. Задания на процессоре 6 8 |
1 |
1 |
2 |
453 |
Завершено задание 6 и его ресурсы освободились. Задания на процессоре 8 |
10 |
2 |
1 |
466 |
Завершён ввод задания 7: Задания на процессоре: 7 8 |
10 |
2 |
2 |
494 |
Завершено задание 8 и его ресурсы освободились. Из очереди выбрано задание 9: Начинается ввод задания. Задания на процессоре 7 |
6 |
2 |
1 |
514 |
Завершён ввод задания 9: Задания на процессоре: 7 9 |
6 |
2 |
2 |
526 |
Завершено задание 7 и его ресурсы освободились. Задания на процессоре 9 |
10 |
8 |
1 |
540 |
Завершено задание 9 и его ресурсы освободились. |
16 |
12 |
0 |
- Сводная таблица работы по ДО FIFO
№ задания |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Wi |
1 |
1 |
1 |
2.82 |
1 |
4.86 |
5.42 |
1.7 |
10.76 |
1.99 |
Начало ввода |
0 |
4 |
15 |
22 |
23 |
30 |
38 |
39 |
45 |
54 |
Начало счёта |
10 |
14 |
30 |
249 |
43 |
371 |
466 |
246 |
514 |
259 |
Конец счёта |
244 |
232 |
226 |
366 |
373 |
453 |
526 |
494 |
540 |
436 |
Время на процессоре |
234 |
218 |
196 |
117 |
330 |
82 |
60 |
248 |
26 |
177 |
Средневзвешенное время обращения (FIFO) равно W=3,155.
Макс. коэффициент
- Временная диаграмма ДО SJF
- Трассировка SJF
Время |
Событие |
Доступная ОП |
Доступные ВнУ |
Коэфф. Мультипр. |
0 |
Поступило задание 1: начинается ввод задания. Процессор простаивает. |
10 |
10 |
0 |
4 |
Поступило задание 2 : начинается ввод задания. Процессор простаивает. |
7 |
8 |
0 |
10 |
Завершён ввод задания 1: Задания на процессоре: 1 |
7 |
8 |
1 |
14 |
Завершён ввод задания 2: Задания на процессоре: 1 2 |
7 |
8 |
2 |
15 |
Поступило задание 3: начинается ввод задания. Задания на процессоре: 1 2 |
6 |
5 |
2 |
22 |
Поступило задание 4: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 |
6 |
5 |
2 |
23 |
Поступило задание 5 : начинается ввод задания. Задания на процессоре: 1 2 |
3 |
1 |
2 |
30 |
Поступило задание 6: Нехватка ресурсов - задание помещено в очередь. Завершён ввод задания 3: Задания на процессоре: 1 2 3 |
3 |
1 |
3 |
38 |
Поступило задание 7: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 |
3 |
1 |
3 |
39 |
Поступило задание 8: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 |
3 |
1 |
3 |
43 |
Завершён ввод задания 5: Задания на процессоре: 1 2 3 5 |
3 |
1 |
4 |
45 |
Поступило задание 9: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 5 |
3 |
1 |
4 |
54 |
Поступило задание 10: Нехватка ресурсов - задание помещено в очередь. Задания на процессоре: 1 2 3 5 |
3 |
1 |
4 |
226 |
Завершено задание 3 и его ресурсы освободились. Из очереди выбрано задание 10: Начинается ввод задания. Задания на процессоре 1 2 5 |
3 |
1 |
3 |
232 |
Завершено задание 2 и его ресурсы освободились. Задания на процессоре 1 5 |
6 |
3 |
2 |
241 |
Завершён ввод задания 10: Задания на процессоре: 1 5 10 |
6 |
3 |
3 |
246 |
Завершено задание 1 и его ресурсы освободились. Из очереди выбраны задания 4 и 8: Начинается ввод заданий. Задания на процессоре: 5 10 |
1 |
0 |
2 |
251 |
Завершён ввод задания 4: Задания на процессоре: 4 5 10 |
1 |
0 |
3 |
266 |
Завершён ввод задания 8: Задания на процессоре: 4 5 8 10 |
1 |
0 |
4 |
366 |
Завершено задание 4 и его ресурсы освободились. Из очереди выбрано задание 6: Начинается ввод задания. Задания на процессоре: 5 8 10 |
1 |
1 |
3 |
371 |
Завершён ввод задания 6: Задания на процессоре: 5 6 8 10 |
1 |
1 |
4 |
378 |
Завершено задание 5 и его ресурсы освободились. Задания на процессоре 6 8 10 |
4 |
5 |
3 |
416 |
Завершено задание 10 и его ресурсы освободились. Из очереди выбрано задание 7: Начинается ввод задания. Задания на процессоре: 6 8 |
1 |
2 |
2 |
446 |
Завершён ввод задания 7: Задания на процессоре: 6 7 8 |
1 |
2 |
3 |
448 |
Завершено задание 6 и его ресурсы освободились. Задания на процессоре: 7 8 |
10 |
3 |
2 |
515 |
Завершено задание 8 и его ресурсы освободились. Из очереди выбрано задание 9: Начинается ввод задания. Задания на процессоре: 7 |
6 |
3 |
1 |
521 |
Завершено задание 7 и его ресурсы освободились. Процессор простаивает. |
10 |
9 |
0 |
535 |
Завершён ввод задания 9: Задания на процессоре: 9 |
10 |
9 |
1 |
555 |
Завершено задание 9 и его ресурсы освободились. Процессор простаивает. |
16 |
12 |
0 |
- Сводная таблица работы по ДО SJF
№ задания |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Wi |
1 |
1 |
1 |
2.87 |
1 |
5.1 |
4.6 |
1.77 |
12.75 |
1.91 |
Начало ввода |
0 |
4 |
15 |
22 |
23 |
30 |
38 |
39 |
45 |
54 |
Начало счёта |
10 |
14 |
30 |
251 |
43 |
371 |
445 |
266 |
535 |
241 |
Конец счёта |
244 |
232 |
226 |
366 |
373 |
453 |
526 |
515 |
555 |
416 |
Время на процессоре |
234 |
218 |
196 |
115 |
330 |
82 |
81 |
249 |
20 |
175 |
Макс. коэффициент
Средневзвешенное время обращения (SJF) равно W=3.3.
- Вывод:
- Оба алгоритма показали коэффициент мультипрограммирования 4;
- Планирование по принципу «сначала короткие задания» обеспечивает увеличение среднего времени обращения.
- Применение принципа FIFO немного увеличивает среднюю длительность времени ожидания и снижает общее время нахождения в системе (в частности, за счет того, что при выборе алгоритма SJF имеется дополнительный участок простоя процессора);
- В данном конкретном примере ДО FIFO выглядела несколько предпочтительнее, для заданного набора задач. Показатели среднего взвешенного времени обращения ДО FIFO оказались лучше, чем ДО SJF;
- Применение мультипрограммирования дает выигрыш по времени обращения для некоторого набора заданий, и, наоборот, существуют наборы заданий, на которых мультипрограммирование приводит к противоположному эффекту.
- Часть 2
Диспетчеризация
4.1. Общие сведения о диспетчеризации
Средний уровень планирования – диспетчеризация. На этом уровне диспетчер задач (планировщик процессов) выбирает одну задачу из числа готовых к выполнению и предоставляет ей процессор. Каждая задача занимает процессор относительно малое время (как правило, недостаточное для выполнения задачи), затем диспетчеризация повторяется, процессор выделяется другой задаче. Диспетчер принимает текущие решения в динамике сложившейся конкретной обстановки.
Таким образом, цели диспетчеризация задач следующие:
- распределение центрального процессора в динамике в соответствии
- с критериями;
- эффективная отработка алгоритмов управления задачами;
- сбалансированное использование ресурсов;
- баланс между временем ответа и коэффициентом использования ресурсов.
Итак: диспетчер – это программа, которая выбирает задачи (процессы) из «очереди на выполнение», переводит их в активное состояние и передает их на обработку центральному процессору.
4.2 Задание и исходные данные
Задание
Разработать структуру функционирования диспетчера работ в вычислительной системе, заданной в разделе 1. Квант времени, выделяемый каждой работе, выбирается исходя из конкретной ситуации: число работ, параллельно занимающих процессор, дисциплины обслуживания.
Исходные данные:
№ пп |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
tнач |
10 |
14 |
30 |
251 |
43 |
371 |
446 |
266 |
535 |
241 |
tкон |
246 |
232 |
226 |
366 |
378 |
448 |
521 |
515 |
555 |
416 |
tоч-на-вып |
236 |
218 |
196 |
115 |
335 |
77 |
75 |
249 |
20 |
175 |
τ |
70 |
60 |
50 |
30 |
90 |
30 |
40 |
90 |
20 |
50 |
- Список литературы.
- Коршикова Л.А «Лекции по дисциплине «Теоретические основы операционных систем»»
- Коршикова Л.А Основы операционных систем: учеб. пособие – Издательство НГТУ Новосибирск 2008г.

- Операционные системы
- Операционные Системы
- Операционные системы Microsoft Windows
- Операционные системы Windows NT
- Операционные системы – основной компонент системного ПО
- Операционные системы реального времени
- Операционные системы семейства UNIX
- Операционные оболочки
- Операционные риски
- Операционные риски в безналичных расчетах
- Операционные рычаги
- Операционные систем и ее разновидности
- Операционные системы
- Операционные системы