- •Глава 1
- •Глава 2
- •В.Г.Олифер, н.А.Олифер. Сетевые операционные системы. Учебное пособие.-сПб.:бхв-Петербург, 2006.-536с.
- •В.А.Шеховцов. Операційні системи. Підручник .-к.:Виканавча група внv. 2005. 576с.
- •Столлингс в.Операционные системы. М.: Вильямс, 2001. -672с.
- •Раздел 1 введение
- •1.1. Понятие операционной системы, ее назначение и функции
- •1.1.1. Понятие операционной системы
- •1.1.2. Назначение операционной системы
- •1.2. История развития операционных систем
- •1.3. Классификация современных операционных систем
- •1.4. Функциональные компоненты операционных систем
- •1.4.1. Управление процессами и потоками
- •1.4.2. Управление памятью
- •1.4.3. Управление вводом-выводом
- •1.4.4. Управление файлами и файловые системы
- •1.4.5. Сетевая поддержка
- •1.4.6. Безопасность данных
- •1.4.7. Интерфейс пользователя
- •Раздел 2
- •2.1. Базовые понятия архитектуры операционных систем
- •2.2. Реализация архитектуры операционных систем
- •2.2.1. Монолитные системы
- •2.2.2. Многоуровневые системы
- •2.2.3. Системы с микроядром
- •2.2.4. Концепция виртуальных машин
- •2.3. Операционная система и ее окружение
- •2.3.1. Взаимодействие ос и аппаратного обеспечения
- •2.3.2. Взаимодействие ос и выполняемого программой
- •2.4. Особенности архитектур
2.1. Базовые понятия архитектуры операционных систем
2.1.1. Механизмы и политика
В ОС прежде всего необходимо выделить набор фундаментальных возможностей, которые предоставляют ее компоненты; эти базовые возможности представляют механизм. С другой стороны, необходимо принимать решения относительно использования указанных возможностей; такие решения определяют политику.
Итак, механизм показывает, что реализовано компонентом, а политика - как это можно использовать.
Когда за реализацию механизма и политики отвечают разные компоненты (механизм отделен от политики), упрощается разработка системы и повышается ее гибкость. Компонентам, которые реализуют механизм, не должна быть доступная информация о причинах и целях его применении; все, что нужно от них, - это выполнять предназначенную им работу. Для таких компонентов используют термин «свободные от политики». Компоненты, ответственные за политику, должны оперировать свободными от нее компонентами как строительными блоками, для них недоступная информация о деталях реализации механизма.
Примером обособления механизма от политики есть управления вводом-выводом. Базовые механизмы доступа к периферийным устройствам реализуют драйверы. Политику использования этих механизмов задает программное обеспечение, которое осуществляет ввод-вывод.
2.1.2. Ядро системы. Привилегированный режим и режим пользователя
Базовые компоненты ОС, которые отвечают за важнейшие ее функции, по обыкновению находятся в памяти постоянно и выполняются в привилегированном режиме, называют ядром операционной системы.
Существующие на сегодня подходы к проектированию архитектуры ОС по-разному определяют функциональность ядра. К важнейшим функциям ОС, выполнение которых обычно возлагают на ядро, принадлежат:
-обработка прерываний,
-управление памятью,
-управление вводом-выводом.
К надежности и производительности ядра предъявляют повышенные требования.
Основным характерным признаком ядра является то, что оно выполняется в привилегированном режиме. Рассмотрим особенности этого режима.
Для обеспечения эффективного управления ресурсами компьютера ОС должна иметь определенные привилегии относительно прикладных программ. Надо, чтобы прикладные программы не вмешивались в работу ОС, и вместе с тем ОС должна иметь возможность вмешаться в работу любой программы, например для переключения процессора или решение конфликта в борьбе за ресурсы. Для реализации таких привилегий нужна аппаратная поддержка: процессор должен поддерживать по крайней мере два режима работы - привилегированный (защищенный режим, режим ядра) и режим пользователя В режиме пользователя недопустимые команды, которые являются критическими для работы системы (переключение задач, обращение к памяти за заданными границами, доступ к устройствам ввода-вывода и т.п.).
Рассмотрим, каким образом используются разные режимы процессора во время взаимодействия между ядром и прикладными программами.
После загрузки ядро включает процессор в привилегированный режим и получает полнейший контроль над компьютером. Каждое приложение запускается и выполняется в режиме пользователя, где оно не имеет доступа к ресурсам ядра и других программ. Когда нужно выполнить действие, реализованное в ядре, приложение делает системный вызов. Ядро перехватывает его, включает процессор в привилегированный режим, выполняет действие, переключает процессор назад в режим пользователя и возвращает результат приложения.
Системный вызов выполняется медленнее чем вызов функции, реализованной в режиме пользователя, потому что процессор дважды переключается между режимами. Для повышения производительности в некоторых ОС часть функциональности реализована в режиме пользователя, поэтому для доступа к ней системные вызовы использовать не нужно.
2.1.3. Системное программное обеспечение
Кроме ядра, важными составными частями работы ОС является также применение режима пользователя, которые выполняют системные функции. К такому системному программному обеспечению принадлежат:
-системные программы (утилиты), например: командный интерпретатор, программы резервного копирования и восстановление данных, средства диагностики и администрирование;
-системные библиотеки, в которых реализованные функции, которые используются в применениях пользователя.
Системное программное обеспечение может разрабатываться и поставляться отдельно от ОС. Например, может быть несколько реализаций командного интерпретатора, средств резервного копирования и т.п. Системные программы и библиотеки взаимодействуют с ядром тем же самым способом, что и прикладные программы.
