Совместимость операционных систем
Автор работы: Пользователь скрыл имя, 14 Апреля 2014 в 05:57, доклад
Краткое описание
Необходимо различать совместимость на двоичном уровне и совместимость на уровне исходных текстов. Приложения обычно хранятся в ОС в виде исполняемых файлов, содержащих двоичные образы кодов и данных. Двоичная совместимость достигается в том случае, когда можно взять исполняемую программу и запустить ее на выполнение в среде другой ОС.
Вложенные файлы: 1 файл
Совместимость операционных
систем
Совместимость операционных
систем
- Совместимость – возможность
операционной системы выполнять приложения,
написанные для других ОС.
- Выделяют
- Двоичная совместимость – на уровне кодов (программные
модули могут быть просто перенесены и
запущены)
- Совместимость исходных
текстов – приложения могут быть перекомпилированы в новый исполняемый модуль для ОС.
- Совместимость на
уровне кодов может быть достигнута с
помощью эмуляции двоичного кода.
- Необходимо различать совместимость
на двоичном уровне и совместимость на
уровне исходных текстов. Приложения обычно
хранятся в ОС в виде исполняемых файлов,
содержащих двоичные образы кодов и данных.
Двоичная совместимость достигается в
том случае, когда можно взять исполняемую
программу и запустить ее на выполнение
в среде другой ОС.
- Совместимость на уровне исходных текстов
требует наличия соответствующего компилятора
в составе программного обеспечения компьютера,
на котором предполагается выполнять
данное приложение, а также совместимости
на уровне библиотек и системных вызовов.
При этом необходима перекомпиляция имеющихся
исходных текстов в новый исполняемый
модуль.
- Совместимость на уровне исходных текстов
важна в основном для разработчиков приложений,
в распоряжении которых эти исходные тексты
всегда имеются. Но для конечных пользователей
практическое значение имеет только двоичная
совместимость, так как только в этом случае
они могут использовать один и тот же коммерческий
продукт, поставляемый в виде двоичного
исполняемого кода, в различных операционных
средах и на различных машинах. Для пользователя,
купившего в свое время пакет (например, Lotus 1-2-3) для MS-DOS, важно, чтобы он мог запускать этот полюбившийся ему пакет без каких-либо изменений и на своей новой машине, работающей под управлением, например, Windows NT.
- Гораздо
сложнее достичь двоичной совместимости
операционным системам, предназначенным
для выполнения на процессорах, имеющих
разные архитектуры. Помимо соблюдения
приведенных выше условий необходимо
организовать эмуляцию двоичного кода.
- Пусть, например, требуется выполнить
DOS-программу для IBM PC-совместимого компьютера
на компьютере Macintosh. Компьютер Macintosh построен на основе процессора Motorola 680x0, а компьютер IBM PC — на основе процессора Intel 80x86. Процессор Motorola имеет архитектуру (систему команд, состав регистров и т. п.), отличную от архитектуры процессора Intel, поэтому ему непонятен двоичный код DOS-программы, содержащей инструкции этого процессора. Для того чтобы компьютер Macintosh смог интерпретировать машинные инструкции, которые ему изначально непонятны, на нем должно быть установлено специальное программное обеспечение — эмулятор.
- Эмулятор должен последовательно выбирать
каждую двоичную инструкцию процессора Intel, программным способом дешифрировать ее, чтобы определить, какие действия она задает, а затем выполнять эквивалентную подпрограмму, написанную в инструкциях процессора Motorola. Так как к тому же у процессора Motorola нет в точности таких же регистров, флагов и внутреннего арифметико-логического устройства, как в Intel, он должен также имитировать (эмулировать) все эти элементы с использованием своих регистров или памяти. Состояние эмулируемых регистров и флагов после выполнения каждой команды должно быть абсолютно таким же, как и в реальном процессоре Intel.
- Это простая, но очень медленная работа,
так как одна команда процессора Intel исполняется значительно быстрее, чем эмулирующая его последовательность команд процессора Motorola.
- Обладает
ли новая ОС двоичной совместимостью или
совместимостью исходных текстов с существующими
операционными системами, зависит от многих
факторов. Самый главный из них — архитектура
процессора, на котором работает новая
ОС. Если процессор использует тот же набор
команд (возможно, с некоторыми добавлениями)
и тот же диапазон адресов, тогда двоичная
совместимость может быть достигнута
довольно просто. Для этого достаточно
соблюдения следующих условий:
- вызовы функций API, которые содержит
приложение, должны поддерживаться данной
ОС;
- внутренняя структура исполняемого
файла приложения должна соответствовать
структуре исполняемых файлов данной
ОС.
Информация о работе Совместимость операционных систем