Операционные системы/Операционные системы. Основные компоненты и логические функции
Материал из eSyr's wiki.
Операционная система – это комплекс программ, обеспечивающий контроль за существованием (некоторые из ресурсов ВС, как мы знаем, являются программными или логическими/виртуальными и создаются под контролем операционной системой), распределением и использованием ресурсов ВС.
Любая ОС оперирует некоторым набором базовых сущностей (понятий) на основе которых строится логика функционирования системы. Например, подобными базовыми понятиями могут быть задача, задание, процесс, набор данных, файл, объект.
Содержание |
[править] Процесс
Одним из наиболее распространенных базовых понятий ОС является процесс.
Интуитивно определение процесса достаточно просто, но определить процесс строго, формально, достаточно сложно. Поэтому существует целый ряд определений процесса, многие из которых системно-ориентированы.
Процесс – это совокупность машинных команд и данных, исполняющаяся в рамках ВС и обладающая правами на владение некоторым набором ресурсов. Эти права могут быть эксклюзивными, когда ресурс принадлежит только этому процессу. Некоторые из ресурсов могут разделяться, т. е. одновременно принадлежать двум и более процессам, в этом случае мы говорим о разделяемых ресурсах.
Возможно два варианта выделения ресурсов процессу:
- Предварительная декларация использования тех или иных ресурсов (до начала выполнения процесса в систему передается перечень ресурсов, которые будут использованы процессом);
- Динамическое пополнение списка принадлежащих процессу ресурсов по ходу выполнения процесса при непосредственном обращении к ресурсу.
Реальная схема зависит от конкретной ОС. На практике возможно использование комбинации этих вариантов. Для простоты изложения будем считать, что модельная ОС имеет возможность предварительной декларации ресурсов, которые будут использованы процессом.
[править] Требования к ОС
Любая ОС должна удовлетворять следующим свойствам:
- надежность. Количество ошибок должно быть минимизировано
- защита. Предусмотрение защиты информации и ресурсов от несанкционированного доступа
- эффективность. Удовлетворение критериям эффективности
- предсказуемость. Известны заранее проблемы и последствия различных действий, устойчивость к форс-мажору
[править] Типовая структура ОС
Ядро – резидентная часть ОС, работающая в режиме супервизора. В ядре размещаются программы обработки прерываний и драйверы наиболее «ответственных» устройств. Это могут быть и физические, и виртуальные устройства. Например, в ядре могут располагаться драйверы файловой системы, ОЗУ. Обычно ядро работает в режиме физической адресации.
Следующие уровни структуры – динамически подгружаемые драйверы физических и виртуальных устройств. Это драйверы, добавление которых в систему возможно «на ходу» без перекомпоновки программ ОС. Они могут являться резидентными и нерезидентными, а также могут работать как в режиме супервизора, так и в пользовательском режиме.
Системный вызов — обращение к ОС за предоставление той или иной функции (возможности, услуги, сервиса).
Можно выделить следующие основные логические функции ОС:
- Управление процессами
- Управление ОП
- Планирование
- Управление устройствами и файловой системой
Виды структур ОС:
- Системы с монолитным ядром
- Многослойные системы
- Микроядерные системы
[править] Системы с монолитным ядром
Пример: классическая система Unix
Достоинства:
- При правильной разработке реализация наиболее эффективна
Недостатки:
- Внесение изменений требует перепрограммирования
[править] Многослойные системы
Структура многослойных систем представляет собой последовательность слоев, взаимодействующих посредством фиксированных интерфейсов. Функциональность каждого слоя фиксированна.
Достоинства:
- Система более технологична (ее проще модернизировать)
Недостатки:
- Неэффективность (т.к. любая сторуктуризация ведет к снижению эффективности)
- Нет возможности структурной модернизации слоев
- Модель не предполагает распределения функций слоев на многопроцессорных системах
[править] Микроядерные системы
Достоинства:
- Микроядерная система хорошо распараллеливается
Недостатки:
- Неэффективность
[править] Ссылки
См. также про ядро ОС в Википедии