- •1.Операционная система
- •2. Мультипрограммные ос
- •3. Диспетчеризация процессов.
- •3.1 Алгоритм
- •3.2 Планирование выполнения процессов
- •4. Классификация ос
- •5. Стратегия планирования процессов
- •5.1 Планирование по принципу fifo
- •5.2 Циклическое планирование(rr)
- •5.3 Алгоритм Корбато
- •6. Структурная схема дипломного проекта.
- •Содержание
- •Список использованной литературы
2. Мультипрограммные ос
Мультипрограммирование— способ организации выполнения нескольких программ на одном компьютере. Разделяют мультипрограммирование в пакетных системах, системах реального времени и в системах разделения времени.
Пакетная обработкаиспользуется для достижения максимальной эффективности использования ресурсов вычислительной машины при выполнении вычислительных задач путём сбалансированной загрузки её компонентов, как например, АЛУ и УВВ. Задачи, планируемые к выполнению, называются пакетом. Переключение между задачами в пакетном режиме инициируется выполняющейся в данный момент задачей, поэтому промежутки времени выполнения той или иной задачи неопределены.
Системы разделения временииспользуются для «одновременного» выполнения нескольких программ в интерактивном режиме. В отличие от пакетного режима, все программы получают определённые временные промежутки времени для выполнения, затем система инициирует переключение. Выделяемые временные интервалы могут быть равными для всех задач, а могут определяться их приоритетами . Системы реального времени отличаются от систем с разделением времени (англ. time-sharing system) тем, что они должны быть предсказуемы в следующих ситуациях:
- высокая степень планируемости, временные ограничения должны выполняться и при высокой степени использования ресурсов;
- время отклика должно быть в пределах допустимого даже в наихудшем случае;
- стабильность при вре́менной нагрузке: в случае перегрузки система должна успевать выполнять наиболее важные задачи в срок, жертвуя менее важными.
Кроме того, система реального времени может тратить больше ресурсов (быть менее эффективной или иметь меньшую пропускную способность) из-за более высоких требований к планированию задач, а также недоиспользовать ресурсы в моменты средней загруженности.
3. Диспетчеризация процессов.
В системе разделения времени ядро предоставляет процессу ресурсы центрального процессора (ЦП) на интервал времени, называемый квантом, по истечении которого выгружает этот процесс и запускает другой, периодически переупорядочивая очередь процессов. Алгоритм планирования процессов в системе UNIX использует время выполнения в качестве параметра. Каждый активный процесс имеет приоритет планирования; ядро переключает контекст на процесс с наивысшим приоритетом. При переходе выполняющегося процесса из режима ядра в режим задачи ядро пересчитывает его приоритет, периодически и в режиме задачи переустанавливая приоритет каждого процесса, готового к выполнению.
3.1 Алгоритм
Сразу после переключения контекста ядро запускает алгоритм планирования выполнения процессов , выбирая на выполнение процесс с наивысшим приоритетом среди процессов, находящихся в состояниях "резервирования" и "готовности к выполнению, будучи загруженным в память". Рассматривать процессы, не загруженные в память, не имеет смысла, поскольку не будучи загружен, процесс не может выполняться. Если наивысший приоритет имеют сразу несколько процессов, ядро, используя принцип кольцевого списка (карусели), выбирает среди них тот процесс, который находится в состоянии "готовности к выполнению" дольше остальных. Если ни один из процессов не может быть выбран для выполнения, ЦП простаивает до момента получения следующего прерывания, которое произойдет не позже чем через один таймерный тик; после обработки этого прерывания ядро снова запустит алгоритм планирования.