Двоичная совместимость достигается в том случае, если можно взять исполняемую программу, работающую в среде одной ОС, и запустить ее на выполнение в среде другой ОС.
Совместимость на уровне исходных текстов требует наличия соответствующих компиляторов в составе программного обеспечения компьютера, на котором предполагается использовать данное приложение, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция исходных текстов программ в новые исполняемые модули.
тема 3 вопрос 8
Виды совместимости ос
4.10 Совместимость ОС.
Свойство ОС, характеризующее возможность выполнения в ОС приложений, написанных для
других ОС, называется совместимостью.
Существует два принципиально отличающихся вида совместимости, которые не следует путать:
совместимость на двоичном уровне
и
совместимость на уровне исходных текстов.
Приложения обычно хранятся в компьютере в виде исполняемых файлов, содержащих двоичные
образы кодов и данных.
Двоичная совместимость достигается в том случае, если можно взять исполняемую программу,
работающую в среде одной ОС, и запустить ее на выполнение в среде другой ОС.
Совместимость на уровне исходных текстов требует наличия соответствующих компиляторов в
составе программного обеспечения компьютера, на котором предполагается использовать данное
приложение, а также совместимости на уровне библиотек и системных вызовов. При этом
необходима перекомпиляция исходных текстов программ в новые исполняемые модули.
Таким образом, совместимость на уровне исходных текстов наиболее важное значение имеет для
разработчиков приложений, в распоряжении которых находятся эти исходные тексты. Для конечных
же пользователей практическое значение имеет только двоичная совместимость, так как только в
этом случае они могут без специальных навыков и умений использовать программный продукт,
поставляемый в виде двоичного исполняемого кода, в различных операционных средах и на разных
компьютерах. Для пользователя, купившего в свое время пакет программ для MSDOS, важно,
чтобы он мог запускать этот привычный ему пакет без какихлибо изменений или ограничений на
своей новой машине, работающей, например, под управлением Windows NT. Множественные
прикладные среды как раз и обеспечивают совместимость данной ОС с приложениями, написанными
для других ОС и процессоров, на двоичном уровне, а не на уровне исходных текстов.
Каким типом совместимости – двоичной или совместимостью исходных текстов обладает ОС,
зависит от многих факторов. Самый значительный из них – архитектура процессора, на котором
работает ОС. Только в том случае, если процессор использует тот же набор команд (возможно, даже
более расширенный, но ни в коем случае не уменьшенный) и тот же диапазон адресов, двоичная
совместимость может быть достигнута довольно просто. Достаточно соблюсти несколько
следующих условий:
вызовы функций API, которые содержит приложение, должны поддерживаться данной ОС;
внутренняя структура исполняемого файла приложения должна соответствовать структуре
исполняемых файлов данной ОС.
Несравнимо сложнее достигнуть двоичной совместимости операционным системам,
предназначенным для выполнения на процессорах, имеющих различающиеся архитектуры. Кроме
соблюдения приведенных выше условий, необходимо также организовать эмуляцию двоичного кода.