Что значит обратная совместимость

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

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

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

Делаем Карту слов лучше вместе

Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!

Спасибо! Я стал чуточку лучше понимать мир эмоций.

Вопрос: зашушукаться — это что-то нейтральное, положительное или отрицательное?

Совместимость (информатика) — Совместимость способность аппаратных или программных компонентов работать с заданной компьютерной системой, или способность двух приборов работать при соединении друг с другом. Касательно аппаратного обеспечения выделяют: Конструктивную… … Википедия

Обратная польская запись — Префиксная нотация Инфиксная нотация Постфиксная нотация … Википедия

Обратная польская нотация — (ОПН) (Обратная польская запись, Обратная бесскобочная запись (ОБЗ), Постфиксная нотация, Бесскобочная символика Лукашевича, Польская инверсная запись, Полиз) форма записи математических выражений, в которой операнды расположены перед знаками… … Википедия

ГОСТ Р 52459.25-2009: Совместимость технических средств электромагнитная. Технические средства радиосвязи. Часть 25. Частные требования к подвижным станциям CDMA 1х с расширенным спектром и вспомогательному оборудованию — Терминология ГОСТ Р 52459.25 2009: Совместимость технических средств электромагнитная. Технические средства радиосвязи. Часть 25. Частные требования к подвижным станциям CDMA 1х с расширенным спектром и вспомогательному оборудованию оригинал… … Словарь-справочник терминов нормативно-технической документации

ГОСТ Р 52459.26-2009: Совместимость технических средств электромагнитная. Технические средства радиосвязи. Часть 26. Частные требования к базовым станциям и ретрансляторам CDMA 1x с расширенным спектром и вспомогательному оборудованию — Терминология ГОСТ Р 52459.26 2009: Совместимость технических средств электромагнитная. Технические средства радиосвязи. Часть 26. Частные требования к базовым станциям и ретрансляторам CDMA 1x с расширенным спектром и вспомогательному… … Словарь-справочник терминов нормативно-технической документации

IEEE 802.11 — Сетевая карта Compaq WL200, отвечающая стандарту 802.11b … Википедия

Windows 7 — Windows 7 … Википедия

SuperCalc — 320px Загрузочный экран SuperCalc 5 Тип Электронная таблица Разработчик Sorcim, Computer Associates Операционная система CP/M, MS DOS, Apple DOS, Windows, VAX/VMS, S/360 Пер … Википедия

Системное программное обеспечение PlayStation 3 — Системное программное обеспечение PlayStation®3 это официальная обновляемая прошивка для PlayStation 3. Управление осуществляется графическим интерфейсом XMB. Данные обновления обычно имеют размер 100 192 Мбайт в зависимости от содержимых… … Википедия

… также известный как “Not a kernel guy”

Copyright © 2006 – 2019 License
Powered by Hugo and Hyde-X

Раньше я как-то не задумывался, что обеспечение совместимости новой версии операционной системы с существующими приложениями – сложная задача. Пока не столкнулся сам. Теперь, совсем немного поварившись в этом котле, я начал ближе к сердцу принимать истории, вроде тех, что рассказывает Raymond Chen.

Перед выходом Windows Vista, как, впрочем, и перед выходом предыдущих версий системы, было протестировано огромное количество приложений на совместимость с новой версией ОС. Помимо ошибок в самой операционной системе была обнаружена масса проблем с самими приложениями: начиная от странностей при проверке версии системы и заканчивая грубыми ошибками в коде приложений, которые не проявлялись ранее только по чистой случайности. Например, одно из приложений делало проверку на наличие запрещённых символов в пути и в список запрещённых (по мнению приложения) символов входили круглые скобки. В результате, оно отказывалось работать в каталоге “Program Files (x86)”, где по умолчанию устанавливаются все 32-х битные приложения на 64-х битной системе.

Ошибки обнаруженные в самой системе были исправлены. Не скажу, что абсолютно все, но, определённо, подавляющее большинство ошибок было исправлено. Осталась проблема, что делать с ошибками в самих приложениях. В Windows эта проблема решается с помощью механизма заплаток.

Функция CreateProcess стоит на переднем крае борьбы за совместимость. Как я уже говорил ранее, CreateProcess, помимо собственно запуска процесса, выполняет множество дополнительных задач. Так вот, во время создания процесса, CreateProcess проверяет, не входит ли запускаемое приложение в список “проблемных” приложений. Если это так, то в адресное пространство создаваемого процесса загружаются необходимые заплатки и лишь после выполнения “заплаточного” кода, управление передаётся приложению.

Как правило, заплатки перехватывают вызовы системных функций и имитируют поведение предыдущих версий системы. Самый простой пример – заплатка перехватывает вызовы функции GetVersion и GetVersionEx и возвращает Window XP SP2 в качестве версии системы. Для некоторых программ этого достаточно, чтобы привести их в чувство. Другие заплатки делают более сложные вещи: исправляют hard coded пути, корректно обрабатывают коды ошибок вроде ERROR_ACCESS_DENIED и т.д. Замечу, что хотя я использую слово “заплатки”, эти заплатки по большому счету не изменяют код приложения.

Список или вернее база “проблемных” приложений весьма обширна. В скомпилированном виде она занимает больше 2-х мегабайт в Windows XP SP2 и более 4-х мегабайт в Windows Vista (суммарный объем всех .sdb файлов в каталоге “%windir%AppPatch”). В базе указываются все признаки, по которым распознается приложение: информация о версии, размер и контрольная сумма файла, имена сопутствующих файлов и т.п. Там же указывается список заплаток применяемых для каждого приложения.

Зачем это всё нужно? Об этом хорошо написал Joel Spolsky в статье How Microsoft Lost the API War. Благодаря этим усилиям на Windows до сих пор можно запустить очень старые приложения, которые будут работать, как ни в чем не бывало. Пользователи могут рассчитывать, что переход на новую версию системы с большой вероятностью не повлечет за собой проблем с совместимостью. В конечном итоге это, по видимому, один из факторов, который привел к доминированию Windows на персональных компьютерах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *