Една от най-интересните характеристики на Windows през годините винаги е била способносттa да поддържа сравнително стар софтуер. Изглежда обаче, че тази съвместимост стига доста по-далеч, отколкото повечето потребители биха предположили. Според публикация на технологичния блог Enlyth, най-старата открита досега графична програма, която може да работи под Windows 11 без промени по самия софтуер и без емулация, е CDPLAYER.EXE – приложение от предварителна версия на Windows NT 3.1, датиращо от 16 ноември 1992 г.
Първоначално технологичният ентусиаст Enlyth започва търсенето с друга програма – FREECELL.EXE, познатата игра FreeCell, която е част от средата Win32s. Тестовете показват, че версия на играта от 22 февруари 1993 г. продължава да работи безпроблемно под актуалната Windows 11. Win32s е разширение, създадено от Microsoft, което позволява на 16-битовите операционни системи Windows 3.1 и Windows 3.11 да изпълняват определени 32-битови приложения. Tова изглежда като впечатляващ резултат, но изследването не приключва дотук. След получена насока от технологичен форум Enlyth решава да разгледа по-ранни предварителни версии на Windows NT 3.1. Именно там открива Build 347 и файла CDPLAYER.EXE, свързан с дата 16 ноември 1992 г. Програмата се оказва по-стар кандидат от FreeCell и успява да се стартира под Windows 11. Причината е свързана с архитектурата на Windows и начина, по който приложенията комуникират с операционната система.
Въпреки че Windows 11 е съвременна операционна система, тя продължава да поддържа множество компоненти и програмни интерфейси от предишни поколения Windows. Именно тази приемственост позволява на някои приложения, създадени преди повече от три десетилетия, да функционират и днес. При ранните версии на Windows NT обаче ситуацията е била по-сложна. Първоначалните предварителни компилации са използвали различни версии на изпълнимия формат PE (Portable Executable), както и различни правила за извикване на системните функции. Някои от по-старите приложения се оказват несъвместими със съвременните версии на Windows именно заради тези различия.
CDPLAYER.EXE има важно предимство: вместо да разчита на собствена версия на определена библиотека за изпълнение на C програми, то използва системния файл crtdll.dll. Интересното е, че този компонент все още присъства в 64-битовите версии на Windows 11, включително в директорията SysWOW64. Това позволява на програмата от 1992 г. да използва необходимите системни функции и да се стартира на съвременен компютър. Разбира се, стартирането на приложението не означава непременно, че то може веднага да изпълнява основната си функция. CDPLAYER.EXE е създадена за възпроизвеждане на музикални компактдискове – технология, която през 90-те години е била изключително популярна.
Проблемът при теста на Enlyth е съвсем съвременен: компютърът няма физическо CD-ROM устройство. Решението идва под формата на малка допълнителна библиотека, наречена cdemu.dll. Тя позволява емулирането на CD устройство и предоставянето на тестови аудиоданни, така че старият плейър да може действително да възпроизвежда звук. Тук е важно да се направи едно уточнение: самото CDPLAYER.EXE работи без модификации и без емулатор на операционната система, но за демонстрацията на аудио възпроизвеждането е използван допълнителен компонент за симулиране на CD устройство. Така приложение, създадено във време, когато CD-ROM устройствата са били важна част от персоналните компютри, отново успява да изпълни предназначението си върху съвременна машина.

А какво става с още по-старите приложения от 1985 г.?
Изследването не спира с Windows NT и 1992 г. Enlyth решава да провери дали Windows 11 може да стартира и приложения от още по-ранните поколения на операционната система. За целта е използван проектът WineVDM (otvdm), който позволява изпълнението на 16-битови Windows приложения върху 64-битови системи.
Резултатът е особено интересен: успява да бъде стартирана REVERSI.EXE – версия на класическата настолна игра Reversi, разпространявана с Windows 1.01. Датата на програмата е 15 ноември 1985 г., което я прави приблизително на 41 години. Тук обаче има съществена разлика. За разлика от CDPLAYER.EXE, REVERSI.EXE не работи директно под Windows 11. Необходим е допълнителен слой за съвместимост, който осигурява поддръжката на 16-битовите приложения. Причината е, че 64-битовите версии на Windows не включват NTVDM (NT Virtual DOS Machine) – компонента, който в по-старите 32-битови версии позволяваше изпълнението на DOS и 16-битови Windows програми. Следователно, ако условието е програмата да работи без емулация и без промени, CDPLAYER.EXE от ноември 1992 г. остава победителят в експеримента.
Windows и обратната съвместимост – наследство, което продължава да изненадва
Този експеримент е интересна демонстрация на една от най-важните характеристики на платформата Windows – стремежа към запазване на съвместимостта със софтуер от предишни поколения.
За разлика от някои други операционни системи, при които преминаването към нова архитектура може да направи старите приложения неизползваеми, Microsoft традиционно запазва значителна част от програмните интерфейси и системните компоненти. Разбира се, това не означава, че всяка стара програма ще работи на Windows 11. Съвместимостта зависи от използваните API функции, архитектурата на приложението, необходимите библиотеки и наличието на съответните системни компоненти.
Но фактът, че приложение от ноември 1992 г. все още може да бъде стартирано директно върху съвременна операционна система, е впечатляващ пример за дългосрочната приемственост на Windows. А за любителите на компютърната история има и още една приятна подробност: с помощта на допълнителен софтуер дори игра от първата версия на Windows, появила се през 1985 г., може отново да оживее на компютър с Windows 11.
Снимка: Unsplash/Microsoft, Wikipedia
Виж още: Това е ракетата Big Iron: амбициозен план за 20 000 орбитални центъра за изкуствен интелект