Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы.docx
Скачиваний:
0
Добавлен:
27.09.2019
Размер:
27.22 Кб
Скачать

Ресурсы

Ресурсами ЭВМ принято считать процессорное время и опер. память. Любая многозадачная ОС должна управлять ресурсами таким образом чтобы:

  1. Ресурсы распределялись оптимальным образом, т. е. ресурсоемкие задачи должны получать достаточное кол-во ресурсов, а задачи не требовательные ресурсы не занимать излишних ресурсов.

  2. В процессе работы ОС (с разделение времени) должна динамически перераспределять ресурсы, т. к. в процессе работы приложения требования к выделению ресурсов изменяется.

  3. Т. к. в процессе работы приложения запускаются, приостанавливаются, останавливаются ОС должна обеспечивать динамическое распределение ресурсов.

Управление ресурсами эвм

Подсистема управления ресурсами многозадачной ОС должна обеспечивать выполнение двух задач:

  1. Распределение процессорного времени между задачами

  2. Распределение доступной опер. памяти.

Распределение времени ЦП

Управление процессами

Программный процесс – последовательность операций направлена на достижение какого – либо результата.

Многозадачная ОС должна распределять задачи между процессами (ЦП) или процессорными ядрами в режиме реального времени, при этом в идеале нагрузка на отдельные ядра должна быть сбалансированной, но в реальности балансировка нагрузки часто не достижима, т. к. не все задачи могут быть разделены на параллельные процессы. (Пр: skype в режиме приема передачи голоса и видео сожжет использовать только одно ядро, несмотря на то, что современные ОС поддерживают многоядерные процессоры). Если распределить задачу кодирование декодирование голоса/видео между различными ядрами не удастся получить распределение в реальном времени, т. к. различные «сегменты» (пакеты) будут декодированы в разное время и невозможно будет восстановить реальную последовательность кадров.

Подсистема управления процессами должна решать следующие задачи:

  1. Запуск процессов на выполнение

  2. Снятие процесса с выполнения после его завершения

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

  4. Для обеспечения многозадачности ОС должна менять процессы находящие на выполнение в соответствии с типом многозадачности

  5. Завершать процессы в случае, если произошла какая – либо аварийная ситуация и выполнение процесса не может быть продолжено. (Пр: запись блок данных не может быть продолжена если извлечен ночитель).

Метода управления процессами

В современных ОС управление процессами осуществляется на основании 2х алгоритмов:

  1. Квантование

  2. Очередь на приоритетах

Но на самом деле в современных многозадачных ОС чаще используется гибридный алгоритм с разной степенью гибридностью (смесь алгоритмов с разными процессами).

Алгоритм квантования.

При использовании этого алгоритма процессы выстраиваются в очередь на выполнение, но каждый процесс выполняется в течении строго фиксированного интервала времени. Не зависимо от того завершался процесс или нет после истечения выделенного ему промежутка времени он снимается с выполнения и на выполнение отправляется следующий в очереди процесс. Такой промежуток времени называется квантом.

Достоинства данного метода.

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

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

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

Быстродействие ОС основанных на квантовании достаточно низкое.

Очередь на приоритетах.

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

Достоинством данного метода является возможность управления очередью путем изменения приоритета. Через данный алгоритм можно реализовать режим реального времени.

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

Процесс выполняется до те пор пока не будет завершен. Нельзя управлять временем каждого процесса.

Выполнение

Готовность

Ожидание

У любого процесса ОС всегда существует три состояния:

  1. Выполнение – в этом состоянии процесс монопольно занимает все ресурсы процесса, т.е. находится на обработке. Из этого состояния процесс может перейти в состояние ожидания.

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

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

В состоянии готовность находится очередь (та самая на квантах или приоритетах) готовых к выполнению процессов.