Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

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

- прозрачность (незаметность работы) служебных программ;

- гарантированная надежность;

- максимальная скорость выполнения;

- минимальный машинный код;

- использование стандартных средств для связи с проблемными программами.

Кроме этого, современная операционная система должна обладать свойствами:

Расширяемости, совместимости, переносимости, безопасности, надежности и отказоустойчивости.

Расширяемость

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

Расширяемость может достигаться за счет:

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

- использования Объектов для представления системных ресурсов. Добавление новых объектов не разрушает существующие объекты и не требует изменений существующего кода;

- структурирования ОС по типу клиент-сервер с использованием Микроядерной технологии;

- использования средств вызова удаленных процедур (RPC). Новые программные процедуры могут быть добавлены в любую машину сети и немедленно поступить в распоряжение прикладных программ на других машинах сети.

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

Переносимость

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

- использовать язык высокого уровня. Большинство переносимых ОС написано на языке С потому, что он стандартизован и С-компиляторы широко доступны;

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

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

Совместимость

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

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

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

- поддержке вызовов API-функций новой ОС;

- соответствии внутренней структуры исполняемого файла правилам новой ОС.

Для достижения двоичной совместимости в случае различных архитектур кроме этих мер необходимы либо:

- эмуляция (довольно просто, но обычно очень медленно), либо

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

- система виртуальных машин (СВМ) (см. рис. 1.1).

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

Рис. 1.1 Вариант виртуальной машины

Первой реальной системой такого рода была система CP/CMS или VM/370, как ее называют сейчас, для семейства машин IBM/370.

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

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.