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

вытеснение процесса, то он выполняется до тех пор пока не выполнится
схема планирования ресурсов С процессором Proc показана на РИС. J.1. Каждый процесс может находиться в одном из состояний: готовом, заблоированном или выполняемом. Из состояния выполнения он может быть выведен по одному из следующих событии:
истечение его квант времени;
блокировка процесса;
процесс будет вытеснен более приоритетным процессом;
процесс будет завершён.
Если произошло одно из указанных событий, процесс переводится либо очередь Wait, либо в очередь Ready, либо уходит из системы. По окончании блокировки процессы переводятся из очереди Wait в Ready. Алгоритм планирования в такой системе включает в себя способ выбора готового процесса из заданной совокупности процессов и минимально гарантиро,анного времени его выполнения.
Пусть каждому процессу поставлен в соответствие приоритет - целое число, учитывающее важность процесса, занимаемый им объем памяти, рочность выполнения и объем I/О, а также внешний приоритет, назначаешгй пользователем. На определение такого приоритета должны влиять акже и динамические характеристики: общее время ожидания; ресурсы, гаходящиеся в распоряжении процесса; процессорное время, полученное в госледний раз; общее время нахождения процесса в системе и т. д. Отсюда следует, что приоритет процесса должен вычисляться динамически, с учётом вышеперечисленных параметров.
Рассмотрим несколько наиболее распространенных алгоритмов планирования.
Планирование но наивысшему приоритету (hpf)
В этом методе (highest p riority fi rst) процессор предоставляется тому гроцессу, который имеет наивысший приоритет. И если не допускается вытеснение процесса, то он выполняется до тех пор пока не выполнится
или не будет заблокирован. Если вытеснение разрешено то поступивший процесс с более высоким приоритетом прервет выполняющийся процесс и ему будет передано управление на выполнение. Вытесненный процесс перейдет в очередь готовых процессов. Если процессор освободился, то ему из Ready назначается процесс с наивысшим приоритетом.
Если очередь Ready отсортирована по приоритетам, то первый процесс выбирается автоматически. В противном случае необходимо проводить :
повторную сортировку всей очереди с учетом параметров процессов с некоторым интервалом времени.
В стратегии НРF необходимо задать параметры , определяющие величи‑
ну приоритета. Иногда таким параметром является первое, самое короткое Х задание SJF (shortest job first). Здесь, как правило, используется ожидаемое
(оцениваемое) время выполнения процесса, ибо точное время известно
очень редко.
