Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС теория.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
417 Кб
Скачать
☆

Функции ос при управлении памятью:

- управление свободной памятью. ОС должно контролировать свободную память.

- уплотнение памяти

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

Процесс – это объект, которому выделен процессор, - это задача.

Фактический процессор (микропроцессор) – реально существующий процессор.

Виртуальный процессор – это процессор связанный с выполнением некоторого процесса.

1 состояние: исполнение, в нем находится только один процесс.

2 состояние: состояние готовности. Процессу выделены все ресурсы кроме фактического процессора.

3 состояние: заблокированное, процесс не готов к выполнению, он ждет какого-либо события.

Причины выхода процесса из состояния исполнения:

  1. процесс завершился, он покидает виртуальный процессор.

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

  3. процесс снимается с процессора управляющей программой и возвращается в состояние готовности.

Распределение и перераспределение фактического процессора и выделение виртуальных процессоров – это функция управления процессором.

Выбор работ – планирование, выполняется спец программой, которая называется планировщик (программа инициирования, инициатор). Он создает процесс для выбранной работы, переводит его в состояние готовности, выделяет ОП, внешнюю память, действия по завершению работы. Выделение фактического процессора готовому процессу – называется диспетчеризацией, выполняется спец программой – диспетчер (монитор). Диспетчеризация выполняется многократно.

Диспетчеризация процессов

Для исполнения диспетчер выбирает процесс, находящийся в состоянии готовности и имеющий наивысший приоритет.

Для определения приоритета используют следующие факторы:

  1. время создания процесса

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

  3. заказное время обслуживания

  4. использованное время обслуживания

  5. время, в течении которого процесс не обслуживался

  6. объем и вид других ресурсов, необходимых процессу.

Общие стратегии диспетчеризации.

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

(+) – низкая стоимость реализации

(-) – короткие процессы ждут столько же сколько и длинные, - увеличивается среднее время ожидания.

  1. Стратегия соответствующая в минимизации общего среднего времени ожидания (SjN – следующий с кратчайшим заданием). (-) - увеличивается среднее время ожидания длинных процессов; трудно предсказать когда будет обслужен процесс.

Если в стратегию SjN ввести перераспределение процессора, удаляя процесс каждый раз при появлении готового к выполнению короткого процесса, то уменьшится время ожидания коротких процессов. Избавится от недостатков позволяет стратегия SRT – следующий с минимальным оставшимся временем.

(-) – задержка длинных процессов.

Круговое обслуживание RR

Каждому процессу выдается фиксированный квант времени, в конце которого процесс снимается и переводится в состояние готовности и становится в конец очереди.

При RR-стратегии приоритет процесса может изменится. Стратегия RR используется в интерактивных системах и системах с разделением времени.

Диспетчеризация с несколькими очередями

Используется информация пользователя и информация, получаемая в процессе выполнения. Существуют процессы интерактивные, пакетные, реального времени.

Для каждого вида процессов создается своя очередь. Существует связь очереди и процесса, она м.б. постоянной или меняться во времени.

Статическая связь очереди и процесса

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

Динамическая связь очереди и процесса

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

Если процесс не завершился, он помещается в конец очереди с более низким приоритетом. Процесс может попасть в конец очереди с наименьшим приоритетом.

Гарантия обслуживания

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

Могут использоваться стратегии для привилегированных пользователей.

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

Способы гарантирующие обслуживание:

  1. выделять минимальную долю процессорного времени некоторому классу процессов, если по крайней мере один из них готов к выполнению

  2. выделять минимальную долю процессорного времени некоторому конкретному процессу, если он готов к выполнению

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

Планирование работ

(выполняется один раз в отличие от диспетчеризации)

Основная функция – управление виртуальными процессами. Стратегии планирования похожи на стратегии диспетчеризации.

При выделении памяти, устройств, файлов планировщик может использовать стратегии (FCFS, SjN).

Возможные подходы:

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

- максимально возможное количество игнорирования работы

- учет старения работы

Если стратегия учитывает только ресурсы затребованные работой, то это стратегия м.б. необъективной.

Планировщику и диспетчеру необходимо координировать действий при наличии свопинга.

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

Прерывание

– навязанная программе передача управления на команду программы отличную от той, которая должна выполнятся в момент прерывания.

Классы прерываний

- внешние (таймер, устройства в/в)

- внутренние

Обработка прерываний

Решается вопрос фиксирования прерывания. Фиксация прерывания откладывается до конца текущей команды.

Последовательность действий:

  1. по фиксированному адресу ОП запоминается характеристика прерывания

  2. запоминается состояние прерванного процесса

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

  4. обрабатывается прерывание

  5. возобновляется работа прерванного процесса

1-3 – выполняются аппаратурой

4-5 – выполняются ОС

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

Процесс – это ресурс. Управление конкурирующими процессами. Процессы могут обмениваться информацией.

Процессы бывают: последовательные, это те, которые хотя бы частично пересекаются во времени, называются параллельными. Параллельные процессы м.б. взаимодействующими и независимыми.

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

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

Управление файлами

Информация записана в файлах. Файлы состоят из записей, который состоят из полей.

Система управления файлами: