Обратная совместимость

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

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

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

Обратная совместимость в программном обеспечении

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

Обратная совместимость в аппаратном обеспечении

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

Преимущества и недостатки обратной совместимости

Главным недостатком обратной совместимости является усложнение аппаратного или программного обеспечения. В случае с программным обеспечением это чаще всего приводит к увеличению размеров программного продукта, а в случае с аппаратным обеспечением это приводит к усложнению архитектуры, то есть строения, соответствующего элемента аппаратного обеспечения. В конечном итоге всё это приводит к увеличению стоимости производства и поддержки (часто после смены базовой технологии невозможно найти специалистов поддержки, владеющих обеими технологиями в достаточной степени).

Между тем отсутствие обратной совместимости вызывает ряд неудобств. Так, например, в операционных системах Windows 2000/XP эмулятор MS-DOS не обладает полной обратной совместимостью с реальной ОС MS-DOS, в отличие от Windows 9x (в состав которой входит не эмулятор, а «настоящая» MS-DOS, запускаемая до Windows и используемая для работы DOS-приложений). Вследствие этого во многих случаях предприятия вынуждены пользоваться более ранними версиями этой операционной системы, либо устанавливать полноценную MS-DOS на виртуальные компьютеры, поскольку используемое программное обеспечение требует полноценной ОС MS-DOS, а не урезанной в возможностях.

В ядре Linux применён эффективный механизм, удовлетворяющий обоим противоречивым требованиям. Поддержка (драйверы) устаревших устройств постепенно выносится из основного кода в динамически загружаемые модули. Это, с одной стороны, позволяет иметь самое современное ядро, при этом небольшое, не обременённое «атавизмами». С другой стороны, поддержка, к примеру, IDE- или даже MFM-диска возможна благодаря подгружаемым модулям. Причём это происходит без виртуализации, что означает, что всё ранее написанное ПО остаётся полностью функциональным.

См. также

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.