Основные функциональные компоненты ОС
Функции ОС группируются:
- по типам локальных ресурсов
- по задачам, применимым ко всем ресурсам
Группы функций называют подсистемой.
Наиболее важные подсистемы:
- управления процессами
- памятью
- файлами
- внешними устройствами
Для всех ресурсов:
- Подсистема пользовательского интерфейса
- Защиты данных
- Администрирования
Подсистема управления процессами
Процесс – заявка на потребление системных ресурсов. Ему нужна область оперативной памяти для размещения кодов и данных проги, процессорное время и разные вспомогательные ресурсы (файлы, внешние устройства и тд);
При создании процесса система создает информационную структуру процесса, где хранит данные о:
- его потребностях
- фактически выделенных ресурсах
- историю пребывания процесса в системе
- его текущее состояние (активное, заблоченное)
- приоритет
- и тд.
Процессы бывают пользовательские и системные.
У каждого процесса есть свое адресное пр-во, надо следить, чтобы они не пересекались – защита ресурсов процесса.
В процессе работы системы выполнение процесса прерывается и возобновляется много раз – необходимо сохранять все регистры, программный счетчик, указатели на открытые файлы и тд – сохранять и переключать контекст процесса.
Также процессы надо синхронизировать.
Итого – подсистема управления процессами:
- планирует выполнение процессов
- распределяет процессорное время
- создает и уничтожает процессы
- обеспечивает их ресурсами
- синхронизирует
- обеспечивает взаимодействие между процессами
Управления памятью
Процесс может выполняться, только если его коды и данные находятся в памяти.
Системе нужно:
- распределять физическую память между процессами
- загружать в нее коды и данные
- настраивать адресно-зависимые части прог на физические адреса
- защищать память каждого процесса
Распределение памяти идет по разным алгоритмам
По количеству выделяемых областей:
- непрерывная область
- несколько несмежных областей
По степени свободы границы областей:
- жестко зафискированная
- динамически перемещается
По размеру:
- фиксированные страницы
- сегменты переменной длины
Также ОС организует виртуальную память: подгружает и выгружает нужные страницы и транслирует виртуальные адреса в физические адреса оперативной памяти.
ОС занимается защитой памяти: память выделенная одной задачей не должна быть затронута другой.
Итого, ОС:
- отслеживает свободную и занятую память
- выделяет память процессам и освобождает ее по завершении их работы
- вытесняет процессы из оперативы на диск, когда оперативы не хватает и загружает обратно
- настраивает адреса проги на конкретную область физической памяти
Управление файлами и внешними устройствами
ОС экранирует сложности реального расположения данных на носителях информации и представляет их в виде файлов – неструктурированной последовательности бит, имеющих символьное имя.
ОС представляет разбросанные по цилиндрам и дискам данные в виде определенной организованной файловой системы, для чего решает множество задач:
- преобразует символьные имена файлов в физические адреса
- организует совместный доступ к файлам
- защищает их от несанкционированного доступа.
Файловая система тесно вз-т с подсистемой управления внешними устройствами (подсистемой ввода-вывода). Эта система исполняет роль удобного интерфейса по отношению ко всем подключенным к ней внешним устройствам (накопители, диски, принтеры, сканеры, флэшки и тд). Управление устройствами осуществляется через драйвера. ОС должна иметь широкий набор драйверов для популярности на рынке.