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

 

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

Переносимость ОС может быть достигнута при соблюдении следующих правил:

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

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

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

 

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

 

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

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

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

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

- Вызовы функций прикладного программного интерфейса, API , которые содержит приложение, поддерживались данной ОС;

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

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

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

 

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