
Планирование процессов.ppt
- Количество слайдов: 32
1 Операционные системы, среды и оболочки Калентьева Анна Сергеевна Ассистент кафедры Информатики
2 I вариант • 1. Мультипрограммирование — это… • 2. Варианты реализации мультипрограммирования; II вариант • 1. Операционная система — это… • 2. Функции ОС; III вариант • 1. Классификация ОС; • 2. Особенности сетевых ОС.
3 Лекция № 2 Планирование процессов
4 Процесс • Понятие процесса характеризует некоторую совокупность набора исполняющихся команд, ассоциированных с ними ресурсов (выделенная память, адресное пространство, стеки и т. д. ) и текущего момента его выполнения находящуюся под управлением ОС.
5 PCB (Process control Block) или блок управления • Блок управления является моделью процесса для операционной системы. • Содержимое всех регистров процессора будем называть регистровым контекстом процесса, а все остальные – системным контекстом процесса. Код и данные, находящиеся в адресном пространстве процесса, будем называть пользовательским контекстом. Совокупность регистрового, системного и пользовательского контекстов назовем контекстом процесса.
6 Одноразовые операции • Путь прохождения процесса в компьютере начинается с его рождения. Инициатором рождения процесса после старта операционной системы может выступать либо процесс пользователя, либо сама операционная система. Процесс, инициировавший создание нового процесса называют процессом - родителем, а вновь созданный процесс называется процессом – ребенком. Процессы дети могут порождать своих детей. При рождении процесса система заводит новый PCB с состоянием рождение и начинает его заполнять.
7 Выделение ресурсов в одноразовых операциях Новый процесс может получить в свое распоряжение некоторую часть родительских ресурсов возможно разделяя с процессом - родителем и другими процессами – детьми права на них процесс – ребенок становится дубликатом процесса- родителя по регистровому и пользовательскому контекстам. При этом должен существовать способ определения кто для кого из процессов – двойников является родителем Возможно получение своих ресурсов непосредственно от операционной системы. После наделения процесса ребенка ресурсами в адресное пространство заносится его программный код, значения данных, устанавливается программный счетчик процесс ребенок загружается новой программой из какого – либо файла. Порождение нового процесса как дубликата процесса – родителя приводит к возможности существования исполняемых файлов для работы которых организуется более одного процесса.
8 Многоразовые операции • Многоразовые операции не приводят к изменению количества процессов в операционной системе и не обязаны быть связаны с выделением или освобождением ресурсов. • Основные действия, которые производит операционная система при выполнении многоразовых операций: ▫ ▫ Запуск процесса; Приостановка процесса; Блокирование процесса; Разблокирование процесса.
9 Переключение контекста • В результате обработки информации об окончании операции ввода – вывода возможна смена процесса, находящегося в состоянии исполнение. Для корректного переключения процессора с одного процесса на другой необходимо сохранить контекст исполнявшегося процесса и восстановить контекст процесса, на который будет переключен процессор. Такая процедура сохранения/восстановления работоспособности процессоров называется переключением контекста.
10 Планирование процессов. • Планирование заданий используется в качестве долгосрочного планирования процессов. Оно отвечает за порождение новых процессов в системе, проверяя ее степень мультипрограммирования, т. е. количество процессов одновременно находящихся в ней. • В некоторых вычислительных системах бывает выгодно для повышения производительности временно удалить какой-либо частично выполнившийся процесс из оперативной памяти на диск, а потом вернуть его обратно на исполнение. Такая процедура получила название swapping – перекачка.
11 Цели планирования процессов • Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя занимает процессор, в то время как процесс другого пользователя так и не начал выполняться. • Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. • Сокращение полного времени выполнения – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением. • Сокращение времени отклика – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.
12 Критерии планирования процессов • утилизация CPU (использование) теоретически может находиться пределах от 0 до 100%. В реальных системах утилизация CPU колеблется в пределах 40% для легко загруженного CPU, 90% для тяжело загруженного CPU. • пропускная способность CPU throughput. Пропускная способность CPU может измеряться количеством процессов, которые выполняются в единицу времени. • время оборота (turnaround time) для некоторых процессов важным критерием является полное время выполнения, то есть интервал от момента появления процесса во входной очереди до момента его завершения. Это время названо временем оборота и включает время ожидания во входной очереди, время ожидания в очереди готовых процессов, время ожидания в очередях к оборудованию, время выполнения в процессоре и время ввода – вывода.
13 Критерии планирования процессов • время ожидания (waiting time). под временем ожидания понимается суммарное время нахождения процесса в очереди готовых процессов. • время отклика (response time) для сугубо интерактивных программ важным показателем является время отклика или время, прошедшее от момента попадания процесса во входную очередь до момента первого обращения к терминалу.
14 Свойства алгоритмов планирования процессов • Предсказуемость. Одно и тоже задание должно выполняться приблизительно за одно и то же время. • Минимальные накладные расходы. Если на 100 миллисекунд, выделенные процессу для исполнения процессора, будет приходиться 200 миллисекунд на определение того, какой процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм применять не стоит.
15 Свойства алгоритмов планирования процессов • Равномерная загрузке ресурсов вычислительной системы. Предпочтение должно отдаваться тем процессам, которые будут занимать малоиспользуемые ресурсы. • Масштабируемость. Процессы не должны сразу терять работоспособность при увеличении нагрузки. Например, рост количества процессов в два раза не должно приводить к увеличению полного времени выполнения процессов на порядок.
16 Параметры планирования • • • К статическим параметрам процессов относятся характеристики, которые присущи заданиям на этапе загрузки: Каким пользователем загружен процесс или сформировано задание. Важность поставленной задачи и ее приоритет. Сколько процессорного времени запрошено пользователем для решения задачи. Каково соотношение процессорного времени и времени, необходимого для осуществления операций ввода – вывода. Какие ресурсы вычислительной системы и в каком количестве необходимы заданию.
17 Параметры планирования Для среднесрочного (динамического) планирования в качестве характеристик может выступать следующая информация: (картинка) • Сколько времени прошло с момента выгрузки процесса на диск или его загрузки в оперативную память; • Сколько оперативной памяти занимает процесс; • Сколько процессорного времени уже предоставлено процессу.
19 Динамические параметры для краткосрочного планирования • CPU burst – промежуток времени непрерывного использования процессора • I/O burst – промежуток времени непрерывного ожидания ввода - вывода
20 Фрагмент деятельности процесса с выделением промежутков непрерывного использования процессора и ожидания ввода-вывода A=1 B=2 CPU burst Read c Ожидание окончания ввода A=a + c * b Print a Ожидание окончания вывода I/O burst CPU burst I/O burst
21 • Процесс планирования осуществляется частью операционной системы, которая называется планировщик. Операционная система, обеспечивающая режим мультипрограммирования, обычно включает два планировщика — долгосрочный (long term scheduler) и краткосрочный (short term scheduler/CPU scheduler).
22 Планировщик может принимать решения о выборе для исполнения нового процесса из числа находящихся в состоянии готовность в следующих четырех случаях: 1. 2. 3. 4. Когда процесс переводится из состояния исполнение в состояние завершил исполнение. Когда процесс переводится из состояния исполнение в состояние ожидание. Когда процесс переводится из состояния исполнение в состояние готовность (например, после прерывания от таймера). Когда процесс переводится из состояния ожидание в состояние готовность (завершилась операция ввода-вывода или произошло другое событие).
23 • Если планирование осуществляется только в случаях 1 и 2 говорят, что имеет место невытесняющее планирование. В противном случае говорят о вытесняющем планировании. Термин, вытесняющее планирование возник потому что исполняющийся процесс помимо своей воли может быть вытеснен из состояния исполнение другим процессом.
24 First-Come, First-Served (FCFS) Процесс р0 р1 р2 Продолжительность очередного CPU burst 13 4 1 Выполнение процессов в порядке р0, р1, р2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 р0 И И И И Р 1 Г Г Г Г И И Р 2 Г Г Г Г Г среднее время ожидания (0 + 13 + 17) / 3 = 10 единиц времени среднее полное время выполнения (13 +17 + 18) / 3 = 16 единиц времени И
25 Те же самые процессы расположены в порядке р2, р1, р0 Процесс р0 р1 р2 Продолжительность очередного CPU burst 13 4 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Р 0 Г Г Г И И И И И Р 1 Г И И Р 2 И И среднее время ожидания (5 + 1 + 0) / 3 = 2 единиц времени среднее полное время выполнения (18 +5 + 1) / 3 = 8 единиц времени И
26 Round Robin (RR) При выполнении процесса возможны два варианта: 1. Время непрерывного использования процессора, необходимое процессу (остаток текущего CPU burst), меньше или равно продолжительности кванта времени. Тогда процесс сам освобождает процессор до истечения кванта времени, на исполнение поступает новый процесс из начала очереди, и таймер начинает отсчет кванта заново. 2. Продолжительность остатка текущего CPU burst процесса больше, чем квант времени. Тогда по истечении этого кванта процесс прерывается таймером и помещается в конец очереди процессов, готовых к исполнению, а процессор выделяется для использования процессу, находящемуся в ее начале.
27 готовность Процесс 1 Процесс 3 готовность Процесс 2 готовность Процесс 4 исполнение Процесс 4 Процесс 2 процессор Процесс 1 процессор В начальный момент времени По прошествии кванта
28 Round Robin (RR) T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Р 0 И И Г Г Г И И И И И Р 1 Г Г И И Р 2 Г Г Г Г И среднее время ожидания (5 + 4 + 8) / 3 = 5, 6 единиц времени среднее полное время выполнения (18 + 9) / 3 = 11, 6 единицы времени
29 Round Robin (RR) На производительность алгоритма RR оказывает влияние величина кванта времени. Рассмотрим предыдущий пример с порядком процессов р0, р1, р2 для величины кванта времени, равной 1. T 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Р 0 И Г Г И Г И И И И И Р 1 Г И Г И Г И Р 2 Г Г И среднее время ожидания (5 + 2) / 3 = 4 единицы времени среднее полное время выполнения (18 + 9 + 3) = 10 единиц времени
30 Shortest-Job-First (SJF) невытесняющий алгоритм SJF Процесс Р 0 Р 1 Р 2 Р 3 Продолжительность очередного CPU burst 5 3 7 1 Время 0 1 2 3 4 5 6 7 8 Р 0 Г Г И И И Р 1 Г И И И Р 2 Г Г Г Г Г Р 3 9 10 11 12 13 14 15 И И И И среднее время ожидания (4 + 1 + 9 + 0) / 4 = 3, 5 единицы времени
31 Shortest-Job-First (SJF) вытесняющий алгоритм SJF Процесс Время появления в очереди очередного CPU burst Продолжительность Р 0 0 6 Р 1 2 2 Р 2 6 7 Р 3 0 5 T 0 1 2 3 4 5 6 7 8 9 10 11 12 Р 0 Г Г Г Г И И И И Г Г Г Г Р 1 Р 2 Р 3 И И Г Г И И И 13 14 15 16 17 18 19 И И И И
32 Приоритетное планирование невытесняющее приоритетное планирование Процесс Время появления в очереди очередного CPU burst Продолжительность очередного CPU burst Приоритет Р 0 0 6 4 Р 1 2 2 3 Р 2 6 7 2 Р 3 0 5 1 T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Р 0 Г Г Г Г И И И Г Г Г И И И И И Р 1 Р 2 Р 3 Г И И И
33 Приоритетное планирование вытесняющее приоритетное планирование Процесс Время появления в очереди очередного CPU burst Продолжительность очередного CPU burst Приоритет Р 0 0 6 4 Р 1 2 2 3 Р 2 6 7 2 Р 3 0 5 1 T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Р 0 Г Г Г Г И И И Г Г Г Г И И И И Р 1 Р 2 Р 3 И И И
Планирование процессов.ppt