Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Компьютерное оборудование или программное обеспечение считается совместимым с ошибками, если оно точно воспроизводит даже нежелательную функцию [1] предыдущей версии. Эта фраза находится в файле жаргона . [2]

Аспектом обеспечения обратной совместимости со старой системой является то, что клиентские программы таких систем часто зависят не только от их указанных интерфейсов, но также от ошибок и непреднамеренного поведения. Это также должно быть сохранено новой заменой. Помимо значительно более высокой сложности, которую необходимо поддерживать в процессе естественной эволюции кода или интерфейса, это иногда может вызывать проблемы с производительностью или безопасностью, а несоответствия в поведении интерфейсов иногда могут приводить к новым ошибкам в используемом им программном обеспечении, создавая трудно разрешить разнонаправленные перекрестные зависимости между различными частями кода. [3]

Примеры можно найти в MS-DOS / PC DOS ; при работе на процессорах 286 или выше резидентный исполняемый загрузчик содержит код, специально разработанный для обнаружения и исправления некоторых широко распространенных приложений и загрузчиков заглушек (например, программ, связанных со старыми версиями расширителей DOS Microsoft EXEPACK или Rational Systems 386) путем исправления загруженной программы образ перед его запуском , [4] или там, где DOS исправляет Windows ( WINA20.386 ) [5] В процессе разработки DR-DOS также пришлось модифицировать, чтобы не только имитировать многие недокументированные особенности MS-DOS и PC DOS., но также и фактические ошибки в ядре и нескольких драйверах, чтобы некоторые другие драйверы и приложения работали в DR-DOS, когда они тестировались только на определенных версиях MS-DOS. [6] [4] [7]

Другой пример - Windows , которая традиционно имитировала множество старых системных ошибок, позволяя запускать старые низкоуровневые программы. В результате Wine , который позволяет запускать многие приложения Windows на других платформах, также должен поддерживать совместимость ошибок с Windows. [8]

В процессе разработки ее IBM PC совместимых , Compaq инженеры обнаружили , что Microsoft Flight Simulator не будет работать из - за того, что subLOGIC «s Брюс Артвик описывается как«ошибка в одном из Intel »чипов s», заставляя их , чтобы сделать их компьютер ошибку , совместимой с IBM PC. [9] Другой пример аппаратного обеспечения можно найти в конструкции адресной строки IBM Personal Computer / AT A20 для имитации поведения старых процессоров. [4] [7]

В Microsoft Excel всегда была преднамеренная ошибка високосного года , которая ошибочно рассматривала 29 февраля 1900 года как фактическую дату, чтобы гарантировать обратную совместимость с Lotus 1-2-3 . [10]

См. Также [ править ]

Ссылки [ править ]

  1. ^ "ошибка за ошибкой" . catb.org . То же, что и совместимость с ошибками, но с дополнительным подтекстом, требующим больших утомительных усилий для обеспечения репликации каждой (известной) ошибки.
  2. ^ "Совместимость с ошибками - www.jargon.net" . Проверено 3 февраля 2010 .
  3. ^ Понтин, Джейсон (1994-12-26). «Третья задержка Windows 95; требует доработки» . InfoWorld . InfoWorld Media Group, Inc. 16 (52): 18.
  4. ^ a b c Пол, Матиас Р. (2002-10-07). «Re: masm .com (PSP), связанная с проблемой» . alt.lang.asm . Архивировано 3 сентября 2017 года . Проверено 3 сентября 2017 .
  5. ^ Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Michels, Raymond J .; Кайл, Джим (1994) [ноябрь 1993]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено за счет включения MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс: Эддисон Уэсли . ISBN 0-201-63287-X.(xviii + 856 + vi страниц, 3,5-дюймовая дискета) Исправления: [1] [2]
  6. Пол, Матиас Р. (20 февраля 2002). «Нужна DOS 6.22 (не OEM)» . alt.msdos.programmer . Архивировано 9 сентября 2017 года . Проверено 14 октября 2006 .
  7. ^ a b Пол, Маттиас Р. (2002-02-02). «Treiber dynamic nachladen (Внутрисегментное смещение-перемещение с использованием TSR в HMA)» [Динамическая загрузка драйверов (перемещение внутрисегментного смещения для загрузки TSR в HMA)]. de.comp.os.msdos (на немецком языке). Архивировано 9 сентября 2017 года . Проверено 2 июля 2017 .(NB. Дает исчерпывающий обзор истории и «природы» HMA, а также неочевидных конструктивных ограничений, которые необходимо соблюдать при разработке расширений резидентной системы, которые будут загружены в HMA.)
  8. ^ "WineFeatures - Официальная винная вики" . Проверено 3 февраля 2010 .
  9. ^ Yakal, Kathy (январь 1985). «Брюс Артвик / Дизайнер Flight Simulator II» . Compute! S Gazette . п. 32 . Проверено 6 июля 2014 .
  10. ^ Excel ошибочно предполагает, что 1900 год - високосный . Проверено 1 мая 2019.