Обратная совместимость (иногда известная как обратная совместимость ) — это свойство операционной системы , программного обеспечения, реального продукта или технологии , которое обеспечивает совместимость со старой устаревшей системой или с входными данными , разработанными для такой системы, особенно в сфере телекоммуникаций и вычислений . .
Модификацию системы таким образом, чтобы не обеспечить обратную совместимость, иногда называют «нарушением» обратной совместимости. [1] Такое нарушение обычно влечет за собой различные виды затрат, например стоимость переключения .
Дополнительной концепцией является прямая совместимость . Проект, совместимый с будущими версиями, обычно имеет план совместимости с будущими стандартами и продуктами. [2]
Простым примером обратной и прямой совместимости является появление FM-радио в стереорежиме . FM-радио изначально было моно , и только один аудиоканал был представлен одним сигналом . С появлением двухканального стерео FM-радио у многих слушателей были только моно FM-приемники. Прямая совместимость для моно-приемников со стереосигналами была достигнута путем отправки суммы левого и правого аудиоканалов в один сигнал и разницы в другой сигнал. Это позволяет моно FM-приемникам принимать и декодировать суммарный сигнал, игнорируя разностный сигнал, который необходим только для разделения аудиоканалов. Стерео FM-приемники могут принимать моносигнал и декодировать его без необходимости использования второго сигнала, а также разделять суммарный сигнал на левый и правый каналы, если принимаются как суммарный, так и разностный сигналы. Без требования обратной совместимости можно было бы выбрать более простой метод. [3]
Полная обратная совместимость особенно важна в компьютерных архитектурах набора команд , одной из наиболее успешных из которых является семейство микропроцессоров x86 . Их полная обратная совместимость восходит к 16-битным процессорам Intel 8086/8088 , представленным в 1978 году . -набор совместим с 8-битным процессором Intel 8080 по состоянию на 1974 год. Однако Zilog Z80 был полностью обратно совместим с Intel 8080.) Полностью обратно совместимые процессоры могут обрабатывать те же двоичные исполняемые программные инструкции , что и их предшественники, что позволяет использовать более нового процессора без необходимости приобретать новые приложения или операционные системы . [4] Аналогичным образом, успех стандарта цифровой связи Wi-Fi объясняется его широкой прямой и обратной совместимостью; он стал более популярным, чем другие стандарты, не имеющие обратной совместимости. [5]
В разработке программного обеспечения или обратная совместимость — это общее понятие взаимодействия между частями программного обеспечения, которое не вызывает никаких ошибок при вызове его функций через API . [6] Программное обеспечение считается стабильным, если его API , используемый для вызова функций, стабилен в разных версиях. [6] В операционных системах, обновленных до более новых версий, считается, что они обратно совместимы, если исполняемые файлы и другие файлы из предыдущих версий будут работать как обычно. [7]
В компиляторах обратная совместимость может означать способность компилятора более новой версии языка принимать исходный код программ или данных, которые работали в предыдущей версии. [8]
Формат данных считается обратно совместимым, если новая версия программы, которая может его открыть, открывает его без ошибок, как и его предшественник. [9]
У компании есть несколько стимулов для реализации обратной совместимости. Обратная совместимость может использоваться для сохранения старого программного обеспечения, которое в противном случае было бы потеряно, когда производитель решает прекратить поддержку старого оборудования. Классические видеоигры — распространенный пример, используемый при обсуждении ценности поддержки старых программ. Культурное влияние видеоигр во многом определяет их дальнейший успех, и некоторые считают, что игнорирование обратной совместимости приведет к исчезновению этих игр. [10] Обратная совместимость также выступает в качестве аргумента в пользу нового оборудования, поскольку существующая база игроков может более дешево перейти на последующие поколения консоли. Это также помогает восполнить недостаток контента при запуске новых систем, поскольку пользователи могут использовать библиотеку игр предыдущей консоли, пока разработчики переходят на новое оборудование. [11] Более того, исследования середины 1990-х годов показали, что даже потребители, которые никогда не играли в старые игры после покупки новой системы, считают обратную совместимость весьма желательной функцией, ценя простую возможность продолжать играть в существующую коллекцию игр, даже если они этого захотят. никогда не делать этого. [12] Обратная совместимость с оригинальными дисками с программным обеспечением PlayStation (PS) и периферийными устройствами считается ключевым аргументом в пользу PlayStation 2 (PS2) в первые месяцы ее появления на рынке. [13]
Несмотря на то, что Microsoft не включила обратную совместимость для некоторых игр на Xbox One при запуске, она постепенно в течение нескольких лет включала в свой жизненный цикл продукта. [14] Игроки провели более миллиарда часов за играми с обратной совместимостью на Xbox, а новейшее поколение консолей, таких как PlayStation 5 [15] и Xbox Series X/S, также поддерживает эту функцию. Во многом успех и реализация этой функции заключаются в том, что аппаратное обеспечение консолей нового поколения является одновременно мощным и достаточно похожим на устаревшие системы, поэтому старые игры можно разобрать и переконфигурировать для запуска на Xbox One. [16] Эта программа оказалась невероятно популярной среди игроков Xbox и идет вразрез с недавней тенденцией студийных ремастеров классических игр, что, по мнению некоторых, является важным сдвигом в стратегиях производителей консолей. [14]
Денежные затраты на поддержку старого программного обеспечения считаются большим недостатком использования обратной совместимости. [11] [12] Связанные с этим затраты на обратную совместимость заключаются в увеличении стоимости материалов , если для поддержки устаревших систем требуется аппаратное обеспечение; повышенная сложность продукта, что может привести к увеличению времени выхода на рынок , технологическим препятствиям и замедлению инноваций; и возросшие ожидания пользователей в отношении совместимости. [1] Из-за этого несколько производителей консолей отказались от обратной совместимости ближе к концу поколения консолей, чтобы снизить стоимость и ненадолго оживить продажи до появления нового оборудования. [17]
Можно обойти некоторые затраты на оборудование. В более ранних версиях PS2 ядро ЦП, идентичное ядру PS, служит двойному назначению: либо в качестве основного ЦП в режиме PS, либо в качестве основного ЦП в режиме PS2, либо в режиме повышения тактовой частоты для разгрузки ввода-вывода в режиме PS2. Однако такой подход может иметь неприятные последствия, как в случае с Super Nintendo Entertainment System (Super NES), которая предпочла своеобразный 65C816 более популярным 16-битным микропроцессорам на том основании, что он обеспечит легкую совместимость с оригинальной NES . но совместимость с NES в конечном итоге не оказалась работоспособной после того, как была разработана остальная часть архитектуры Super NES. [18]
Обратная совместимость создает риск того, что разработчики будут отдавать предпочтение разработке игр, совместимых как со старой, так и с новой системой, поскольку это дает им большую базу потенциальных покупателей, что приводит к нехватке программного обеспечения, использующего расширенные функции новой системы. [12]
С падением продаж физических игр и ростом количества цифровых витрин и загрузок некоторые полагают, что обратная совместимость скоро устареет. [17] Многие игровые студии переиздают и переиздают свои самые популярные игры, улучшая качество графики и добавляя новый контент. Эти ремастеры добились успеха, обратившись как к ностальгирующим игрокам, которые помнят, что наслаждались оригинальными версиями, так и к новичкам, у которых, возможно, не было оригинальной системы, на которой они были выпущены. Для большинства потребителей цифровые ремастеры более привлекательны, чем использование устаревшего оборудования. Для производителей консолей цифровые переиздания классических игр являются большой выгодой. Это не только устраняет финансовые недостатки поддержки старого оборудования, но и перекладывает все затраты на обновление программного обеспечения на разработчиков. Производитель получает новое дополнение к своей системе с распознаванием имени, и студии не приходится разрабатывать новую игру.
прямая совместимость.