Базовые понятия архитектуры операционных систем 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Базовые понятия архитектуры операционных систем



2.1.1. Механизмы и политика

В ОС прежде всего необходимо выделить набор фундаментальных возможностей, которые предоставляют ее компоненты; эти базовые возможности представляют механизм. С другой стороны, необходимо принимать решения относительно использования указанных возможностей; такие решения определяют политику.

Итак, механизм показывает, что реализовано компонентом, а политика - как это можно использовать.

Когда за реализацию механизма и политики отвечают разные компоненты (механизм отделен от политики), упрощается разработка системы и повышается ее гибкость. Компонентам, которые реализуют механизм, не должна быть доступная информация о причинах и целях его применении; все, что нужно от них, - это выполнять предназначенную им работу. Для таких компонентов используют термин «свободные от политики». Компоненты, ответственные за политику, должны оперировать свободными от нее компонентами как строительными блоками, для них недоступная информация о деталях реализации механизма.

Примером обособления механизма от политики есть управления вводом-выводом. Базовые механизмы доступа к периферийным устройствам реализуют драйверы. Политику использования этих механизмов задает программное обеспечение, которое осуществляет ввод-вывод.

2.1.2. Ядро системы. Привилегированный режим и режим пользователя

Базовые компоненты ОС, которые отвечают за важнейшие ее функции, по обыкновению находятся в памяти постоянно и выполняются в привилегированном режиме, называют ядром операционной системы.

Существующие на сегодня подходы к проектированию архитектуры ОС по-разному определяют функциональность ядра. К важнейшим функциям ОС, выполнение которых обычно возлагают на ядро, принадлежат:

-обработка прерываний,

-управление памятью,

-управление вводом-выводом.

К надежности и производительности ядра предъявляют повышенные требования.

Основным характерным признаком ядра является то, что оно выполняется в привилегированном режиме. Рассмотрим особенности этого режима.

Для обеспечения эффективного управления ресурсами компьютера ОС должна иметь определенные привилегии относительно прикладных программ. Надо, чтобы прикладные программы не вмешивались в работу ОС, и вместе с тем ОС должна иметь возможность вмешаться в работу любой программы, например для переключения процессора или решение конфликта в борьбе за ресурсы. Для реализации таких привилегий нужна аппаратная поддержка: процессор должен поддерживать по крайней мере два режима работы - привилегированный (защищенный режим, режим ядра) и режим пользователя В режиме пользователя недопустимые команды, которые являются критическими для работы системы (переключение задач, обращение к памяти за заданными границами, доступ к устройствам ввода-вывода и т.п.).

Рассмотрим, каким образом используются разные режимы процессора во время взаимодействия между ядром и прикладными программами.

После загрузки ядро включает процессор в привилегированный режим и получает полнейший контроль над компьютером. Каждое приложение запускается и выполняется в режиме пользователя, где оно не имеет доступа к ресурсам ядра и других программ. Когда нужно выполнить действие, реализованное в ядре, приложение делает системный вызов. Ядро перехватывает его, включает процессор в привилегированный режим, выполняет действие, переключает процессор назад в режим пользователя и возвращает результат приложения.

Системный вызов выполняется медленнее чем вызов функции, реализованной в режиме пользователя, потому что процессор дважды переключается между режимами. Для повышения производительности в некоторых ОС часть функциональности реализована в режиме пользователя, поэтому для доступа к ней системные вызовы использовать не нужно.

 

2.1.3. Системное программное обеспечение

Кроме ядра, важными составными частями работы ОС является также применение режима пользователя, которые выполняют системные функции. К такому системному программному обеспечению принадлежат:

-системные программы (утилиты), например: командный интерпретатор, программы резервного копирования и восстановление данных, средства диагностики и администрирование;

-системные библиотеки, в которых реализованные функции, которые используются в применениях пользователя.

Системное программное обеспечение может разрабатываться и поставляться отдельно от ОС. Например, может быть несколько реализаций командного интерпретатора, средств резервного копирования и т.п. Системные программы и библиотеки взаимодействуют с ядром тем же самым способом, что и прикладные программы.



Поделиться:


Последнее изменение этой страницы: 2017-01-19; просмотров: 111; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.254.122 (0.006 с.)