Oprogramowanie pozagrobowe: długa śmierć MS‑DOS
31.10.2016 | aktual.: 31.10.2016 17:29
Przez całą swoją „karierę akademicką”, od początku (pierwszy rok studiów) aż do jej schyłku (prowadzenie zajęć ze studentami), byłem napromieniowywany bezkrytycznie powtarzanymi bzdurami z zakresu, powiedzmy, informatyki użytkowej. Mimo, że lista jest niezwykle długa, wyróżnia się na niej jeden punkt, wyznawany przez szczególnie groźną grupę ludzi przekonanych o własnej kompetencji. Otóż dziesiątki razy mogłem usłyszeć, że Windows jest oparty o system MS‑DOS.
Uruchom ponownie w trybie MS‑DOS
Należę do pokolenia, w którym to stwierdzenie jeszcze było prawdą. Komputery w mojej szkole podstawowej na przełomie wieków dziarsko pracowały pod kontrolą systemu Windows 95. Były to przepiękne stacje robocze Compaq Presario 433. MS‑DOS straszył mnie też w domu. Domowy pecet z Pentium III fabrycznie przychodził z Windows Millennium, w roku 2001, pod spodem tego systemu czaił się właśnie DOS, nieudolnie ukrywany. Więc byłbym to w stanie zrozumieć, gdybym usłyszał o zależności od DOS‑a właśnie w tamtych latach. Byłem jednak głęboko zdumiony, słysząc to, wypowiadane niczym prawda objawiona, w roku 2009. Oraz 2016! Z nieznanych powodów, skądś bierze się, w dalszym ciągu, przekonanie o wszechobecności DOS‑a. Wynika to zapewne z faktu, że ów system uparcie nie chciał umrzeć. Dlaczego?
Jest to całkiem częste (w pewnych kręgach) pytanie. I rozczarowująco często odpowiedź na nie brzmi „bo był świetny” lub, co gorsza, „był wystarczający”. MS‑DOS nie był bowiem ani świetny, ani wystarczający. I nie jest to pusta gadka mądrali 30 lat później: o słabościach platformy rozprawiano już dwa lata po wprowadzeniu na rynek. I były to dyskusje dotyczące fundamentalnych, rażących błędów i ograniczeń projektowych. Tym razem podaruję sobie opis samych początków systemu PC‑DOS, jak i drogi do stworzenia oryginalnego IBM PC, acz jest to historia niewątpliwie pasjonująca. Zajmę się nieco mniejszym jej wycinkiem.
DEC‑20 Downlink to Boca Raton
IBM PC to produkt o tak niejasnych zaletach, że gdy zaczniemy ich uważnie szukać, możemy nie znaleźć żadnej, zwłaszcza myśląc dzisiejszymi kategoriami. Popełniono w nim bowiem niemal każdy możliwy błąd projektowy, a jednocześnie niemal niemożliwe było uniknięcie któregokolwiek z nich. System był niemal w całości napisany w języku 8088 ASM, więc był kompletnie nieprzenośny – ale na ową platformę i tak nie istniał porządny kompilator, zresztą inwestycja np. w C byłaby kompletnie nieuzasadniona. Samo środowisko, ze swoim błędnie, kildallowsko rozumianym „BIOSem” (io.sys) oferowało tak mało API, że programistom wygodniej i tak było odwoływać się bezpośrednio do sprzętu (zbrodnicza tendencja!). Wreszcie, MS‑DOS wiernie odwzorowywał katastrofalny błąd w projekcie pamięci IBM 5150, pilnując sztucznej granicy 640KB. W konsekwencji, pamięć RAM nie była traktowana liniowo, a jej obsługa stawała się kosmicznie skomplikowana. Powyżej 640KB pamięci, ale poniżej jednego megabajta, i z wyłączeniem obszarów zarezerwowanych dla sprzętu, znajdował się górny obszar pamięci… który mógł być podzielony na jednorodne bloki UMB, do których zazwyczaj ładowało się np. sterownik CD‑ROM w postaci ODDZIELNEGO PROGRAMU. Ale to wszystko poniżej obszaru pamięci wysokiej, czyli 64KB (tylko!) powyżej jednego megabajta, do którego dostęp oferował oddzielny sterownik HIMEM.SYS, który trzeba było załadować do pamięci konwencjonalnej, a następnie przenieść do górnego obszaru pamięci przez opcjonalny parametr w CONFIG.SYS… A to wszystko wymagało oddzielnego kontrolera, w postaci np. EMM386.EXE, który zarządzał obsługą tego rejonu… oraz pamięci rozszerzonej, czyli obszarów powyżej jednego megabajta, który był dzielony na bloki rozmiarów arbitralnego okna pamięci, które następnie poruszało się (jedno!) po tym obszarze, aby zaoferować do niego dostęp… a konfigurację do plików CONFIG.SYS i AUTOEXEC.BAT zapisywał inny automat MEMMAKER… I tak dalej, i tak dalej! To wszystko trzeba było wiedzieć, chcąc użyć obszaru pamięci dziesięciokrotnie mniejszego, niż objętość potrzebna do obsługi jednej pustej karty w Google Chrome.
Nie wolno też zapomnieć, że opisywany system był jednoużytkownikowy, domyślnie nie obsługiwał sieci (trzeba było załadować sterownik do sprzętu, a następnie przenieść go do górnego obszaru pamięci, żeby zrobić miejsce na redirector połączeń, który następnie oferował miejsce na program do obsługi protokołów… i tak dalej i tak dalej), miał nieodporny na awarie system plików, na siłę wzbogacony o obsługę dysków twardych, wywiedzioną z obsługi dyskietek magnetycznych. No i przede wszystkim był jednozadaniowy (istniały programy rezydentne, ale opis ich obsługi wymagałby kolejnej jeszcze litanii z podróżami po obszarach pamięci).
DOS5 i wielkie plany
Wszystkie owe idiotyzmy bardzo prędko okazały się paraliżującą przeszkodą, co wyszło na jaw podczas niezwykle przeciągających się prac nad interfejsem graficznym dla MS‑DOS, czyli pierwszej wersji Windows. Gdy wydano wreszcie, po dwóch latach opóźnień i niezwykle kreatywnych prób ominięcia ograniczeń MS‑DOS, wersję 1.01, zapanowała najwyraźniej atmosfera niewyrażonego głośno „nigdy więcej”. Niemniej, Microsoft zdołał ściągnąć uwagę producentów oprogramowania, zainteresowanych współpracą z MS i dostępem do nowych i/lub niewydanych jeszcze technologii firmy. Zachowały się służbowe notatki z takich posiedzeń i oferują one wgląd w pierwsze próby istotnego remontu MS‑DOS.
Plan był taki: wraz z ewolucyjną wersją 3.0, miała być równolegle tworzona wersja 4.0, zawierająca wielozadaniowość, rozszerzone API dla sprzętu i dynamiczne ładowanie modułów do pamięci. Jednocześnie przygotowywano się do prawdziwie przełomowej wersji 5.0, z obsługą pamięci wirtualnej, wątków i przede wszystkim trybu chronionego, który pozwoliłby pozbyć się wędrówek po RAMie i wprowadzić prawdziwie liniowy model pamięci. Co ciekawe, każdy z owych punktów w jakiś sposób zrealizowano, a mimo to przez cały ten czas istniała „tradycyjna” linia MS‑DOS, która mimo swojego nieziemskiego niewydarzenia, dotrwała aż do roku 2000 (a w skamieniałej formie, przedstawiającej się jako „Windows Millennium” lub „MS‑DOS Version 8.0” istnieje do dziś, w pliku DISKCOPY.DLL). Jak to możliwe? Jak zwykle, powody są zabawne.
Krótka powtórka – kiedy wydano system MS‑DOS 4.0? Chętnych do odpowiedzi będzie zapewne niewielu, ale kilka osób może się odezwać, sugerując opcje „1989”, „listopad 1988” oraz, co bardziej cwani, „nigdy” (wszak wydano wersję 4.01). Wszystkie owe odpowiedzi są jednak błędne. I na wiele lat historia zupełnie o tym zapomniała, aż pewni dociekliwi i pamiętliwi badacze wyciągnęli z szuflad kilka malutkich wzmianek w prasie. MS‑DOS 4.0 został pierwszy raz wydany pod koniec roku 1985 (aż 3 lata wcześniej!). Był dziwnym, acz na swój sposób przełomowym tworem. Oferował zarządzanie sesją, czyli wstęp do wielozadaniowości, przeglądarkę procesów oraz redirector sieciowy. Niestety, zniknął w mrokach dziejów już wkrótce później. Był o tego stopnia nieobecny w rynkowej świadomości, że dział marketingu stwierdził wręcz „być może nie powinniśmy byli nazywać go wersją 4.0”. Była to nieudolna próba „damage control”, mająca na celu przekonanie, że pierwszy MS‑DOS 4.0 był odpryskiem, a nie główną linią. To jednak nieprawda – owa wersja miała być naturalnym, kolejnym etapem rozwoju DOS‑a. Niestety, na klęskę owego projektu złożyło się bardzo wiele czynników.
Przede wszystkim, Microsoft nie sprzedawał systemów operacyjnych jako produktu detalicznego. Nie dało się przyjść do sklepu i powiedzieć „poproszę DOS’a”. System był licencjonowany dostawcom sprzętu, którzy poza samym oprogramowaniem dostawali pakiet adaptacyjny (OAK), pozwalający na dostosowanie fundamentów systemu do ewentualnych różnic sprzętowych. Pęd do zgodności z IBM PC był jednak tak silny, że zestawy OAK były używane głównie do nakładania „brandingu” na banery informacyjne programów oraz, ewentualnie, do dodania własnych aplikacji użytkowych. Oznacza to, że aby dało się sprzedać nową wersję MS‑DOS, najpierw musi ją zamówić jakiś sprzedawca sprzętu. Tymczasem nic takiego się nie stało.
Sklep OEM
Popularność nowych produktów Microsoftu, jak Windows, Xenix i kompilatory, uśpiła czujność decydentów w firmie, chwilowo przekonanych, że znajdują się w pozycji pozwalającej na dyktowanie warunków. Jednakże skala uzależnienia od dostawców sprzętu była wciąż zbyt wysoka i brak zainteresowania z ich strony kończył się odłożeniem produktu na półkę. W ciągu 4 lat nastąpiła tak głęboka standaryzacja na systemie MS‑DOS, że jego wersja czwarta, o nieco odmiennym API, wzbudziła wstręt: konieczność przepisania binariów, nawet skromna, była nie do zaakceptowania dla wielu dostawców specjalistycznego oprogramowania, które cudem działało na dotychczasowym sprzęcie i którego dotknięcie sprawiłoby, że się zawali. Nowe funkcje, w postaci wielozadaniowości, wymagały z kolei więcej pamięci, która była koszmarnie droga. Decydowano się na słabszy sprzęt, który z powodzeniem mógł działać pod kontrolą słabszego systemu.
Przede wszystkim jednak, systemu MS‑DOS 4.0, zwanego od tego czasu „Multitasking DOS” nie chciał główny klient Microsoftu, czyli IBM. System ów bowiem… działał w trybie rzeczywistym, więc obsługa pamięci była w dalszym ciągu równie skomplikowana. IBM chciał systemu odpornego na przyszłość, więc działającego w trybie chronionym procesora. DOS czwarty został więc odrzucony, a Microsoft wespół z IBM rozpoczęli wspólną(!) pracę nad wersją piątą, pracującą w trybie chronionym. Po wielozadaniowego DOSa 4, nieopatrznie zareklamowanego jako d ostępna oferta, zgłosiło się jednak dwóch chętnych. Był to Goupil i ICL, dwóch europejskich producentów. Microsoft musiał wywiązać się z obietnicy i dostarczył system 4.0 do Europy. Dla jednego z nich powstała nawet wersja 4.1. Oryginalne nośniki wersji 4.0 zaginęły, a ich zawartość ujrzała światło dzienne, po wielu latach zapomnienia, dopiero w 2013 roku. Wersja 4.1 istnieje, aczkolwiek posiadacz jedynej znanej kopii nie odpowiada na błagania sceny abandonware, co czyni oryginalny system MS‑DOS 4.1 z roku 1987, wydaniem mitycznym. Oczywiście, obietnice wydania złączonego produktu DOS4 + Windows nigdy nie uległy spełnieniu, a na znanej kopii wielozadaniowego DOS‑a nie da się uruchomić żadnej wersji Windows. Microsoft przez następne trzy lata rozwijał wersję 3.x swojego systemu, którego najpopularniejszą dystrybucją był wariant autorstwa firmy Compaq (używany wewnętrznie w Microsofcie).
New Executable
Zamieciony pod dywan Multitasking DOS dogorywał gdzieś w szpargałach w Bellevue i Redmond, podczas gdy Microsoft walczył z IBM o powstanie prawdziwego, zmodernizowanego systemu MS‑DOS, a więc wersji piątej. System rodził się w wielkich bólach i kosztem szalonych nakładów pracy (i funduszy). Przez pierwsze kilka lat o nowym produkcie nie było wiadomo nic, nie udostępniono bowiem żadnego próbnego kodu. Uważny obserwator widział jednak, że DOS5 będzie naturalną konsekwencją wszystkich dojrzewających projektów wewnątrz firmy. Nowy obraz pliku wykonywalnego, stworzony najpierw dla Windows 1.0, a następnie rozwinięty w MS‑DOS 4, zwany NE był rozwijany dalej, czego dowodem było przypadkowe opublikowanie programu w owym formacie w SDK do Windows 1.03. Program ten (EXEHDR) był już niezgodny z klasycznym MS‑DOS, ale nie działał też na żadnej przyszłej wersji owego systemu. Szalone prace modernizacyjno-remontowe prowadziły zatem do wielu wewnętrznych niezgodności. Premiera systemu DOS5, zaopatrzonego w opcjonalne środowisko Windows, przesuwała się coraz mocniej w przyszłość. Jednocześnie, Microsoft zbierał cięgi za braki i niekonsekwencje w API środowiska Windows, w swoich niepopularnych wersjach 1.0 i 2.11. Gdy próbowano zdobyć więcej „mocy przerobowych” na ich poprawę, IBM tupnął nogą i stwierdził, że wszelkie modernizacje zostaną włączone do środowiska graficznego nowej generacji, które obowiązkowo będzie wymagało DOS‑a 5, więc należy go pilnie skończyć. Na zespół Windows nałożono więc kaganiec.
Piąty DOS niemiłosiernie puchł, jednocześnie wcale nie oferując przełomowej technologii. Prędko okazało się, że tryb chroniony wymusza złamanie zgodności z poprzednią wersją systemu. Wyciekła kopia systemu z roku 1986 (odkryta w 2015!) wskazuje na to, że IBM usiłował ratować sprawę, nazywając „DOS5” wewnętrzną sesję, możliwą do odpalenia wewnątrz nowego systemu, zwanego Advanced DOS (lub ADOS). Lub CP‑DOS, ewentualnie CP/DOS. W wielu miejscach system przedstawia się również jako Multitasking DOS (głównie w pozostałościach po wersji czwartej, czyli mocno przerobionym menedżerze pamięci) lub 286DOS. Miało być zatem możliwe uruchomienia „pudełka” z semi-klasycznym DOSem (DOS5), wewnątrz nowej, przełomowej platformy, na której nazwę nikt nie umiał się zdecydować. Na Windows w takim pudełku nie byłoby miejsca, więc nowe środowisko graficzne musiało być oparte na nowej platformie w całości. Siłą rzeczy nie mógł to być Windows. A więc premiera nowego środowiska graficznego odsuwała się jeszcze bardziej.
Cała para szła w nowy projekt, ale już było widać, że pęka w szwach. Napisano go, znowu!, w ASM, a więc zależnie od procesora. Tym razem był to procesor 286. Niestety, przyszłościową platformą, zabezpieczającą przed ryzykiem przerabiania wszystkiego od zera co 3 lata, był dopiero układ 386, zaprezentowany w 1985 roku jako rewolucyjny 32‑bitowy procesor, ze znacznymi ułatwieniami w liniowej obsłudze pamięci. Oparcie nowego systemu o 32‑bitowy procesor sprawiłoby, że harmonijnie rozwijający się projekt o korzeniach w MS‑DOS stałby się stabilną platformą rozwoju środowiska PC. Świat wyglądałby dziś zupełnie inaczej. Można więc powiedzieć, że oparcie nowego produktu o procesor-ślepą uliczkę było samobójstwem… gdyby nie to, że oprogramowania opartego o 386 zwyczajnie nikt by nie kupił. Gigantyczne koszty stworzenia takiego produktu nie zwróciłyby się, ponieważ nikt nie posiadał tak horrendalnie drogiego układu. Oparcie nowego DOSa, którego nazwą miało być okropne „OS/2”, o układ 286 było ponownie tyleż samobójcze, co nieuniknione.
OS/2 dla PS/2
Pierwszą wersję „nowego DOSa” ukończono w roku 1987. Była niezgodna z oryginalnym DOSem. Wymagała nowego sprzętu. Nie posiadała środowiska graficznego. Zestaw SDK wymagał uczenia się API na nowo i kosztował 10 tysięcy dolarów! Ale za to produkt działał w trybie chronionym. Rewelacja. OS/2 zdobył wielu entuzjastów, ale świat dalej pracował na klasycznym MS‑DOS. Technologia, która miała umrzeć 3 lata wcześniej, w dalszym ciągu miała się świetnie. Tymczasem w ofercie dalej nie było środowiska graficznego… Windows w owym czasie nie mógł swobodnie korzystać z pamięci (wyjaśniliśmy już, dlaczego). Dlatego potrzebne było stworzenie bazy, która obsługuję pamięć w przezroczysty sposób, co pozwoli zwolnić Windows z obowiązku martwienia się o upychanie swoich struktur danych. Owa „baza” okazała się jednak zbyt odmienna, by Windows mógł na niej pracować. W konsekwencji, stworzono nowe środowisko wywiedzione z Windows, oparte na nowym OS/2. Przyjęło ono równie melodyjną nazwę „Presentation Manager” (1989) i ponieważ było na tyle odmienne od Windows, że wymagało pracy, by przeportować aplikacje, skorzystano z okazji, żeby uporządkować API. W konsekwencji otrzymano eleganckie i logiczne środowisko, niezgodne z poprzednim. Zapomniano bowiem, że niestety bardziej opłaca się sprzedawać kiepski produkt, który działa, niż dobry, którego zalety widać tylko w dokumentacji technicznej.
Windows powraca
Krótko mówiąc, całe zamieszanie trwało po to, by umożliwić środowiskom nowej generacji pracę z większą ilością, najlepiej chronionej, pamięci. Gdy OS/2 obijał się o pasmo problemów, tworząc podwaliny pod nowoczesną inżynierię oprogramowania i listę praktyk zakazanych w biznesie, zespół Windows wpadł na pewien genialny pomysł. W zasadzie nie zespół Windows, tylko trzy osoby: Steve Wood, Aaron Reynolds i David Weise. Byli to ludzie, którzy mieli lat wcześniej stworzyć środowisko graficzne i przyszłościowe API dla komputera, który miał być maszyną do pisania w biurach. Dość powiedzieć, że mieli specyficzny zbiór umiejętności i niecodzienne spojrzenie na technikę. Niemalże z nudów (zespół Windows miał sprzątać i myć gary, bo poważna robota działa się u ludzi z OS/2), postanowili wziąć dotychczasowy stos Windows, będący z krwi i kości programem z trybu rzeczywistego (limit 640KB!), i męczyć do tak długo, aż przestanie się wywalać, gdy uruchomiony w trybie chronionym. Stało się coś strasznego. Udało im się rozwiązać ten problem, podczas gdy zespół w innym budynku od 4 lat pracował w tym celu nad zupełnie nowym systemem, który w efekcie okazał się niezgodny z poprzednim! Aby pogorszyć sytuację, zespół Windows dokonał większej ilości zakazanych rzeczy, jak model sterownika uniwersalnego VXD i obsługa 256 kolorów (OS/2 umiał wyświetlać 32). To była zbrodnia. Nie wolno było się przyznać, że istnieje produkt podważający ultradrogą inicjatywę kolegów z firmy i jej dużego, stuletniego partnera. Nawiasem mówiąc, gdy pamiętamy, jak niestabilne i chybotliwe były wersje Windows oparte o MS‑DOS, musimy mieć na uwadze, że „pod spodem” dzieje się coś, co specjaliści z IBM i cała branża określili jako zwyczajnie niemożliwe. Klasyczny Windows działa cudem. Cudem, utkanym z genialnych pomysłów wyjątkowych ludzi. Historia doprawdy znęcała się nad użytkownikami pecetów. Wychodzimy z tego i dopiero po 30 latach widać światełko w tunelu.
Microsoft wydał więc „prawdziwą” wersję 4.0 swojego klasycznego systemu MS‑DOS, przesuwając datę jego śmierci w bliżej nieokreśloną przyszłość. Coraz mocniej chciano wypisać się z prac nad OS/2, który był ślepą uliczką. Niestety, własne produkty serwerowe Microsoftu wykorzystywały OS/2, więc nie można się było jeszcze pokłócić. Dlatego zapadła decyzja: IBM pracuje nad OS/2 1. i 2.0, Microsoft sprzedaje klasyczny MS‑DOS i przypadkowo stworzony Windows 3.0, a jednocześnie pracuje nad OS/2 3.0, 32‑bitowym chronionym systemem operacyjnym z wymiennymi osobowościami. Będzie można na nim uruchamiać OS/2, Presentation Managera, klasycznego DOSa i Windows, jedna wersja połączy wszystko i skończą się wszelkie wątpliwości, w którą iść stronę. Nie bójcie się, że właśnie pod stołem wydajemy środowisko graficzne lepsze od obiecanej „platformy przyszłości”. Do 1992 roku sprzęt rozpędzi się na tyle, że będziemy mieli pojednawczego OS/2 3.0 i nic innego. Będzie to doprawdy nowa technologia (NT).
NT
IBM wyraził zgodę na taki podział prac, ale Windows 3.0 okazał się znacznie większym sukcesem, niż ktokolwiek podejrzewał. Dlatego kontynuowano nad nim pracę, równolegle z NT OS/2 3.0, lecz gdy ukończono pracę nad nowym systemem, Microsoft stwierdził, że OS/2 był porażką, platformą, która się nie przyjęła i nowy NT OS/2 będzie oferował osobowości, ale główną będzie Windows. Historię Windows NT już opisywałem tutaj. Niestety, „pierwszy” OS/2 3.0, czyli Windows NT (IBM oczywiście wydał własną wersję OS/2 3.0 lata później, podtrzymując tradycję wielu produktów o jednej nazwie) wymagał bardzo mocnego sprzętu. Zwykły domowy użytkownik nie mógł sobie pozwolić na taki wydatek, więc równolegle sprzedawano środowisko Windows, używające klasycznego MS‑DOS. W 1992 wydano Windows 3.1, zalecając uruchamianie go na klasycznym MS‑DOS 5.0 (bez żadnej wielozadaniowości, ciąg dalszy asemblerowego starocia, skazanego na wyginięcie 7 lat wcześniej). Rok 1993 miał dostarczyć, obiecany firmie Iris w 1986, produkt DOS+Windows, pod nazwą Chicago (Windows 93). Prace nad zmodernizowanym jądrem VMM klasycznego Windows, czyli podsystemu Cougar, przeciągnęły się o dwa lata, ale zakończyły premierą połączonego wreszcie produktu Windows 4.0 + DOS 7.0.
Wymagania sprzętowe NT nie chciały jednak maleć. Nowa odsłona NT, w postaci Cairo, ulegała opóźnieniom i w końcu ją anulowano. Windows NT 4.0, nawet w wydaniu Workstation, nie nadawał się do użytku domowego, a jego zgodność z MS‑DOS, w postaci osławionego „pudełka” z DOS‑em 5 (tak jest!) pozostawiała wiele do życzenia. Systemy domowe budowano więc w oparciu o Windows 95, którego kolejne wydania serwisowe wzbogacano o TCP/IP, nowy model sterownika, USB i wiele innych nowoczesnych technologii. W dalszym ciągu pod spodem operując na MS‑DOS, przeładowanym już niemal w każdej roli, pozostając niezmiennie podstawą.
Prace nad NT przypominały swoim znojem prace nad pierwszym OS/2, w konsekwencji czego nawet Windows 2000 nie zdołał wypełnić wszystkich wymagań projektowych. Dlatego Microsoft zdecydował się na kontynuowanie MS‑DOS aż do wersji 8.0, wbudowanej w system Windows Millennium w roku 2000, 16 lat po przyznaniu, że ów system jest przestarzałym przystankiem przesiadkowym, wielką tymczasową prowizorką, stosem błędów i wypaczeń oraz górą kodu ASM bez przyszłości.
Bilans owych opóźnień – co zabawne, niemożliwych do uniknięcia – był niezwykle wymowny. Obecność „teoretycznie przestarzałej” platformy, której satysfakcjonujący następca nie potrafił nadejść przez zbyt wiele lat, doprowadziła do uzależnienia od MS‑DOS absurdalnie dużej liczby urządzeń. Nie tylko w warsztatach samochodowych, sprzętach specjalistycznych z laboratoriów i biletomatach. DOS straszył subtalnie, w zabawnych miejscach. Partycje odzyskiwania na asusowych laptopach używały DOSa do 2009 roku. Vision Express miał DOSowy system kas jeszcze kilka lat temu. Amerykańskie wojsko używa DOS‑a do tej pory.
MS‑DOS wgryzł się w świadomość. Jego usunięcie było porównywalnie trudne z obecną batalią zabijania Windows XP. I podobnie, jak niektórzy geniusze twierdzą, że XP od Windows 8.1 różni się „kolorkami”, tak wielu Januszy Informatyki będzie postulować, że Windows dalej zależy od MS‑DOS. Mimo, że ostatni strzęp dowodu na to mogli zaobserwować ponad dekadę temu. Więc skąd te mądrości w 2016…?