- •IV поколение 5
- •Состав и назначение ос
- •I поколение (50 годы)
- •II поколение (начало 60 годов)
- •III поколение
- •IV поколение
- •Общая теория ос.
- •Функции ос при управлении памятью:
- •Стратегии разработки файловой системы
- •Функции системы управления файлами
- •Организация хранения файлов
- •Методы доступа
- •Система управления базами данных
- •Причины включения системы в ос
- •Архитектура ос
- •Структура ос.
- •Операционные системы Windows.
- •Операционные системы Windows nt.
- •Файловые системы.
- •Журналирование в ntfs.
- •Сравнительные характеристики ntfs и fat.
Функции ос при управлении памятью:
- управление свободной памятью. ОС должно контролировать свободную память.
- уплотнение памяти
Управление процессором
Процесс – это объект, которому выделен процессор, - это задача.
Фактический процессор (микропроцессор) – реально существующий процессор.
Виртуальный процессор – это процессор связанный с выполнением некоторого процесса.
1 состояние: исполнение, в нем находится только один процесс.
2 состояние: состояние готовности. Процессу выделены все ресурсы кроме фактического процессора.
3 состояние: заблокированное, процесс не готов к выполнению, он ждет какого-либо события.
Причины выхода процесса из состояния исполнения:
процесс завершился, он покидает виртуальный процессор.
процесс блокирует сам себя. Причина: запрос на ввод или вывод. Процесс перейдет из заблокированного состояния в состояние ожидания после завершения запрошенных действий.
процесс снимается с процессора управляющей программой и возвращается в состояние готовности.
Распределение и перераспределение фактического процессора и выделение виртуальных процессоров – это функция управления процессором.
Выбор работ – планирование, выполняется спец программой, которая называется планировщик (программа инициирования, инициатор). Он создает процесс для выбранной работы, переводит его в состояние готовности, выделяет ОП, внешнюю память, действия по завершению работы. Выделение фактического процессора готовому процессу – называется диспетчеризацией, выполняется спец программой – диспетчер (монитор). Диспетчеризация выполняется многократно.
Диспетчеризация процессов
Для исполнения диспетчер выбирает процесс, находящийся в состоянии готовности и имеющий наивысший приоритет.
Для определения приоритета используют следующие факторы:
время создания процесса
время появления работы, вызвавшей образование процесса
заказное время обслуживания
использованное время обслуживания
время, в течении которого процесс не обслуживался
объем и вид других ресурсов, необходимых процессу.
Общие стратегии диспетчеризации.
диспетчеризация с одной очередью: предоставление всем пользователям одинаковых услуг. Процессы обслуживаются в порядке их появления, позволяя каждому процессу обслуживаться до конца (FIF0). Если позволить процессу переходить в заблокированное состояние, то стратегия будут называться FZFS (первый пришел, первый обслужен).
(+) – низкая стоимость реализации
(-) – короткие процессы ждут столько же сколько и длинные, - увеличивается среднее время ожидания.
Стратегия соответствующая в минимизации общего среднего времени ожидания (SjN – следующий с кратчайшим заданием). (-) - увеличивается среднее время ожидания длинных процессов; трудно предсказать когда будет обслужен процесс.
Если в стратегию SjN ввести перераспределение процессора, удаляя процесс каждый раз при появлении готового к выполнению короткого процесса, то уменьшится время ожидания коротких процессов. Избавится от недостатков позволяет стратегия SRT – следующий с минимальным оставшимся временем.
(-) – задержка длинных процессов.
Круговое обслуживание RR
Каждому процессу выдается фиксированный квант времени, в конце которого процесс снимается и переводится в состояние готовности и становится в конец очереди.
При RR-стратегии приоритет процесса может изменится. Стратегия RR используется в интерактивных системах и системах с разделением времени.
Диспетчеризация с несколькими очередями
Используется информация пользователя и информация, получаемая в процессе выполнения. Существуют процессы интерактивные, пакетные, реального времени.
Для каждого вида процессов создается своя очередь. Существует связь очереди и процесса, она м.б. постоянной или меняться во времени.
Статическая связь очереди и процесса
Для каждого класса процессов создается очередь, готовых к выполнению работ, в каждом классе вводится диспетчерский приоритет. При освобождении процессора диспетчер выбирает из не пустой очереди процесс с максимальным приоритетом. Каждая очередь обслуживается по стратегии FCFS.
Динамическая связь очереди и процесса
Во время выполнения процесса появляется новая информация о процессе. Она используется для организации динамической связи очереди и процесса. Очередь с динамической связью = очереди с обратной связью. Эти стратегии используют несколько очередей, готовых к выполнению. На процессор устанавливается новый процесс из не пустой очереди с наивысшим приоритетом. Процессору в любой очереди выделяется квант процессорного времени.
Если процесс не завершился, он помещается в конец очереди с более низким приоритетом. Процесс может попасть в конец очереди с наименьшим приоритетом.
Гарантия обслуживания
Самое жесткое требование – это гарантированное завершение процесса к указанному времени или за определенный период.
Могут использоваться стратегии для привилегированных пользователей.
Диспетчеризацию можно организовать используя очередь в порядке возрастания временных ограничений.
Способы гарантирующие обслуживание:
выделять минимальную долю процессорного времени некоторому классу процессов, если по крайней мере один из них готов к выполнению
выделять минимальную долю процессорного времени некоторому конкретному процессу, если он готов к выполнению
выделять столько процессорного времени конкретному процессу, чтобы он выполнил необходимые действия к сроку.
Планирование работ
(выполняется один раз в отличие от диспетчеризации)
Основная функция – управление виртуальными процессами. Стратегии планирования похожи на стратегии диспетчеризации.
При выделении памяти, устройств, файлов планировщик может использовать стратегии (FCFS, SjN).
Возможные подходы:
- увеличение приоритета работы, когда она оказывается менее срочной, чем другие
- максимально возможное количество игнорирования работы
- учет старения работы
Если стратегия учитывает только ресурсы затребованные работой, то это стратегия м.б. необъективной.
Планировщику и диспетчеру необходимо координировать действий при наличии свопинга.
Для правильного функционирования ОС необходимо взаимодействие между диспетчером, выполняющимся процессором и подсистемой в/в.
Прерывание
– навязанная программе передача управления на команду программы отличную от той, которая должна выполнятся в момент прерывания.
Классы прерываний
- внешние (таймер, устройства в/в)
- внутренние
Обработка прерываний
Решается вопрос фиксирования прерывания. Фиксация прерывания откладывается до конца текущей команды.
Последовательность действий:
по фиксированному адресу ОП запоминается характеристика прерывания
запоминается состояние прерванного процесса
в счетчик команд записывается адрес уникальный для каждого прерывания
обрабатывается прерывание
возобновляется работа прерванного процесса
1-3 – выполняются аппаратурой
4-5 – выполняются ОС
Управление процессами
Процесс – это ресурс. Управление конкурирующими процессами. Процессы могут обмениваться информацией.
Процессы бывают: последовательные, это те, которые хотя бы частично пересекаются во времени, называются параллельными. Параллельные процессы м.б. взаимодействующими и независимыми.
Взаимодействовать могут конкурирующие процессы или процессы, совместно выполняющую общую работу.
Для программирования параллельных процессов в системах программирования существуют спец средства. Средствами взаимодействия процессов могут служить прерывания.
Управление файлами
Информация записана в файлах. Файлы состоят из записей, который состоят из полей.
Система управления файлами:
