Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Программное обеспечение ЭВМ___.ppt
Скачиваний:
252
Добавлен:
31.05.2015
Размер:
4.98 Mб
Скачать

Переносимость операционной системы

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

Для обеспечения переносимости следуют следующим правилам:

Большая часть кода написана на языке, трансляторы которого существуют для всех планируемых платформ;

Объем машино-зависимых частей кода должен быть минимизирован;

Аппаратно-зависимый код должен быть изолирован в нескольких модулях

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

Переносимость операционной системы

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

Для обеспечения переносимости следуют следующим правилам:

Большая часть кода написана на языке, трансляторы которого существуют для всех планируемых платформ;

Объем машинно-зависимых частей кода должен быть минимизирован;

Аппаратно-зависимый код должен быть изолирован в нескольких модулях

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

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

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

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

Взаимодействие между обычными приложениями и серверами ОС осуществляется через механизм обращений. Клиентское приложение отправляет запрос к серверу ОС через микроядро ОС. Такой механизм обеспечивает защиту работы приложений.

Технология микроядра широко применяется в операционных системах реального времени: Neutrino OS, ОСРВ ДВК, ОС ЕС-9000

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

Приложения пользователей

Пользовательский

режим

Сервер

Сервер

Файловый

процессов

безопасности

сервер

Привилегированный

 

режим

Микроядро

 

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

Операционные системы, основанные на микроядерной архитектуре обладают рядом преимуществ, предъявляемых к современным ОС:

Переносимость (обусловлена малым числом модулей в

аппаратно-зависимом микроядре)

Расширяемость (добавление новых функций связано с включением новых серверов ОС)

Надежность (обусловлена изолированностью процессов)

Поддержка распределенных вычислений (используется механизм взаимодействия приложений аналогичный

взаимодействию в распределенных системах)

Недостаток

Производительность (обладают меньшей удельной

эффективостью)

Совместимость операционных систем

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

Выделяют

Двоичная совместимость – на уровне кодов

(программные модули могут быть просто перенесены и

запущены)

Совместимость исходных текстов – приложения

могут быть перекомпилированы в новый исполняемый

модуль для ОС.

Совместимость на уровне кодов может быть достигнута с помощью эмуляции двоичного

Часть II.3

Управление памятью в операционных системах

Управление памятью

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

Память распределяется между приложениями и модулями самой операционной системы.

Функции ОС по управлению оперативной памятью:

Отслеживание наличия свободной и занятой памяти;

Контроль доступа к адресным пространствам процессов;

Вытеснение кодов и данных из оперативной памяти на диск, когда размеров памяти недостаточно для размещения всех процессов, и возвращение их обратно;

Настройка адресов программы на конкретную область физической памяти;

Защита выделенных областей памяти процессов от взаимного вмешательства.

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

Физическая организация памяти

Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую) и вторичную (внешнюю) память.

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

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

Иерархия памяти