Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы / OSSO.docx
Скачиваний:
47
Добавлен:
20.05.2015
Размер:
88.15 Кб
Скачать

По дисциплине «Операционные системы, среды и оболочки»

Назначение и функции современных операционных систем [1, тема 1].

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

Отсюда две группы функций ОС, определяющих ее двухстороннее назначение:

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

  2. Повышение эффективности использования компьютера путем рационального управления его ресурсами.

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

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

Архитектура операционных систем [1, тема 1].

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

Есть ОС на ядре, а есть микроядерная.

  1. Архитектура операционной системы, основанная на ядре

При реализации этой архитектуры все программные модули ОС делятся на модули ядра и вспомогательные модули.

Ядро операционной системы образуют программные модули, решающие внутрисистемные задачи организации вычислительного процесса.

Кроме этого именно ядро содержит функции, образующие интерфейс прикладного программирования – API, через который приложения обращаются к операционной системе посредством системных вызовов.

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

Формат программного модуля ядра обычно отличается от формата приложений.

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

Рис. 1.3. Нечеткость границы между операционной системой и приложениями

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

Вычислительную систему, работающую под управлением операционной системы на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев:

  1. Микроядерная архитектура

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

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

  • по управлению процессами;

  • обработке прерываний;

  • управлению виртуальной памятью;

  • управлению устройствами ввода-вывода, связанными с загрузкой или чтением регистров устройств.

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

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

Очевидно, что для реализации микроядерной архитектуры необходимым условием является наличие в ОС удобного и эффективного способа вызова процедур одного процесса из другого. Поддержка такого механизма и является одной из главных задач микроядра (рис. 1.5).

Рис.1.5. Иллюстрация системного вызова в микроядерной архитектуре

Преимущества микроядерной архитектуры:

  • Высокая степень переносимости, обусловленная тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений и они все сгруппированы вместе.

  • Высокая расширяемость– добавление новой подсистемы требует разработки только нового приложения, что никак не затрагивает целостность микроядра.

  • Легкая конфигурируемостьОС – достаточно изменить файл с настройками начальной конфигурации системы или же остановить ненужные больше серверы (менеджеры ресурсов) в ходе работы системы обычными для остановки приложений средствами.

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

  • Возможна поддержка распределенных вычислений, так как используются механизмы, аналогичные сетевым: взаимодействие клиентов и серверов путем обмена сообщениями. Серверы микроядра могут работать как на одном, так и на разных компьютерах.

Недостаток микроядерной архитектуры:

  • Более низкая производительность, чем при классической архитектуре – системный вызов сопровождается не двумя переключениями режима (пользовательского и привилегированного), а четырьмя (рис. 1.5 и 1.6).

Соседние файлы в папке госы