- •/Классификация операционных систем
- •Сравнительные характеристики ос.
- •/Процессы и примитивы.
- •Примитивы.
- •Процессы.
- •/Предполагаемая среда выполнения процессов.
- •/ Диаграмма переходов.
- •/Создание процессов.
- •/Уровневое представление ос unix
- •/Функции ядра операционной системы.
- •/Понятие прерываний в ос
- •/Структура ос
- •/Обзор подсистем ядра Unix
- •Описание подсистем ядра unix
- •Планирование но наивысшему приоритету (hpf)
- •Метод круговорота (карусель)
- •Очереди с обратной связно (fв)
- •Планирование в unix.
- •Типы многозадачности.
- •Состав планировщика
- •Зависимости подсистем ядра
- •Контроллер памяти (Метоrу Manager)
- •Механизм свопинга (Swapping)
- •Механизм пейджинга (Paging)
- •Внешний интерфейс
- •Verify_area()– проверка прав на доступ к выделенному региону памяти; get_free_page() / free_page() – выделение и освобождение физической памяти.
- •Реализация программ выделения памяти
- •Сборка мусора
- •Типы сборщиков памяти
- •Взаимодействие внутренних модулей мм
- •Архитектура vfs
- •Интерфейсы файловой системы
- •Ioctlo: установить атрибуты файла;
- •Защита файлов
- •Списки прав доступа
- •Механизмы обмена данными в vfs
- •Буферный кэш.
- •Механизмы обмена данными.
- •Логическая файловая система
- •Физическая организация файловой системы
- •Структура файла обычного типа
- •Примечания к физической организации vfs
- •Сетевая подсистема (Net)
- •Состав сетевой подсистемы
- •Представление и структуры данных
- •Внутренняя структура подсистемы
- •Зависимости сетевой подсистемы
- •Подсистема межпроцессного взаимодействия
Метод круговорота (карусель)
Самым просты м методом планирования является простой круговорот
(round rabin, RR), который не использует никакой информации о приоритетах. Порядок обслуживания процессов обычно подчиняется алгоритму
FIFO: первый пришедший процесс получает квант времени и встает в очередь на обслуживание, если только он себя не заблокирует. Поэтому при
наличии N процессов в системе обслуживания можно считать, что скорость выполнения процесса равна V/N, где V – истинное 6ыстродействие процессора. С уменьшением кванта времени улучшается обслуживание
коротких процессов. Но если они становятся слишком малы, то время переключения между ними становится соизмеримым с временем выполнения и задержка в выполнении возрастает. Метод RR лежит в основе систем разделения времени с большим количеством процессов.
Существует много разновидностей этого метода, например "эгоистический" RR. Здесь процесс ждет, пока его приоритет не достигнет величины
Приоритетов для работающих процессов, затем начинает выполняться в круговороте с другими процессами. Для реализации этого механизма создаются ведущая и фоновая очереди готовых процессов, в зависимости от вероятности, определенной требованиями определенного количества квантов времени ЦП для их завершения.
Очереди с обратной связно (fв)
Основной алгоритм FB (feedback) использует п очередей, каждая из которых обслуживается в порядке поступления. Новый процесс поступает в первую очередь, затем после получения кванта времени он переходит в очередь со следующим номером и так далее после очередного кванта времени. По этому алгоритму процессор сначала обслуживает непустую очередь с наименьшим номером. Каждый, вновь поступающий на обслуживание процесс получает высокий приоритет и выполняется подряд в течение такого количества квантов времени, пока не придет следующий процесс. Но если приход нового процесса задерживается, то текущий процесс не может проработать большее количество квантов, чем предыдущий процесс
Процессы требующие мало времени на работу, о6служиваются здесь
лучше, чем при карусельном планировании. Однако большое число очередей увеличивают накладные расходы.
Многоуровневое планирование
В настоящее время в большинстве систем управление между процессами передается через прерывания. При этом пребывание происходит по какому-нибудь событию в системе. Затем управление передается планировщику который после анализа очередей передает управление процессора очередному процессу из очереди. Необходимо отметить, что эта процедура происходит при каждом прерывании, что приводит к большим накладным расходам времени и памяти.
В основе метода многоуровневого планирования лежит следующий алгоритм – операции, которые встречаются часто, должны требовать меньше времени, чем Те, которые встречаются редко. С этой целью все операции в зависимости от частоты выполнения разбиваются на уровни. Часто используется трехуровневая система планирования: диспетчер, краткосрочный планировщик и долгосрочный планировщик.
Диспетчер вызывается после завершения обработки прерывания, он выбирает следующий готовый процесс для выполнения. Так как он вызывается часто, то должен отрабатывать очень быстро. Например, взять первый процесс из очереди и запустить, т. е. предоставить ему процессор.
Краткосрочный планировщик вставляет процесс в очередь. Здесь возможен анализ состояния процесса. Однако, поскольку процессы ставятся в очередь довольно часто, краткосрочный планировщик не должен вносить сложных изменений в состояние и приоритет процесса, оставляя подобные действия для долгосрочного планировщика. Долгосрочный планировщик может осуществлять глубокий анализ состояния процессов.
Если наперед известна частота появления вызовов на каждом уровне, то, пользуясь многоуровневым планированием, можно ввести ограничения на допустимый объем вычислений на каждом уровне, что во многом определяет алгоритмы планирования на каждом уровне.