Zgodność błędów — Bug compatibility

Mówi się, że sprzęt lub oprogramowanie komputerowe są kompatybilne z błędami, jeśli dokładnie odtwarzają nawet niepożądaną funkcję poprzedniej wersji. Fraza znajduje się w Jargon File .

Aspektem zachowania kompatybilności wstecznej ze starszym systemem jest to, że programy klienckie takich systemów często zależą nie tylko od ich określonych interfejsów, ale także od błędów i niezamierzonego zachowania. To również musi zostać zachowane przez nowszą wymianę. Oprócz znacznie większej złożoności, którą należy zachować podczas naturalnej ewolucji kodu lub interfejsu, może to czasami powodować problemy z wydajnością lub bezpieczeństwem, a niespójności w zachowaniu interfejsów mogą czasami prowadzić do nowych błędów w korzystającym z niego oprogramowaniu, tworząc trudne do rozwiązania wielokierunkowych zależności krzyżowych między różnymi fragmentami kodu.

Przykłady można znaleźć w MS-DOS / PC DOS ; gdy działa na procesorach 286 lub wyższych, rezydentny program ładujący zawiera kod specjalnie zaprojektowany do wykrywania i naprawiania pewnych szeroko rozpowszechnionych aplikacji i programów ładujących (takich jak programy połączone ze starszymi wersjami EXEPACK firmy Microsoft lub 386 rozszerzeń DOS firmy Rational Systems ) poprzez łatanie załadowanego programu obraz przed wykonaniem, lub gdzie DOS łata Windows ( WINA20.386 ) W trakcie rozwoju DR-DOS musiał zostać zmodyfikowany, aby nie tylko emulować wiele nieudokumentowanych osobliwości MS-DOS i PC DOS , ale także rzeczywiste błędy w jądra i kilku sterowników, aby niektóre inne sterowniki i aplikacje działały w DR-DOS, gdy były testowane tylko na określonych wersjach MS-DOS.

Innym przykładem jest Windows , który tradycyjnie emulował wiele starych błędów systemowych, aby umożliwić uruchamianie starszych programów niskiego poziomu. W rezultacie Wine , które umożliwia uruchamianie wielu aplikacji Windows na innych platformach, musi również zachować zgodność błędów z Windows.

W trakcie rozwoju jego kompatybilny z IBM PC , Compaq znaleźć inżynierowie że Microsoft Flight Simulator nie będzie działać z powodu tego, co subLOGIC „s Bruce Artwick opisany jako„błąd w jednym z Intel ”chipy s”, zmuszając ich, aby ich komputer bug zgodny z komputer IBM. Inny przykład sprzętowy można znaleźć w projekcie linii adresowej IBM Personal Computer/AT A20, aby emulować zachowanie starszych procesorów.

Microsoft Excel zawsze zawierał celowy błąd roku przestępnego , który błędnie traktuje 29 lutego 1900 jako faktyczną datę, aby zapewnić wsteczną zgodność z Lotus 1-2-3 .

Emulatory, takie jak higan Neara dla Super Nintendo Entertainment System, zostały wykonane z taką dokładnością, że nawet błędy występujące w niektórych grach, takich jak platformówka Speedy Gonzales: Los Gatos Bandidos, musiały być obsługiwane w dokładnie taki sam sposób, jak na prawdziwym sprzęcie. , co pozwala na prawidłowe rozegranie gry.

Zobacz też

Bibliografia