MS‑DOS 4.0: opublikowano kod źródłowy (z niespodzianką)
Microsoft opublikował kod źródłowy i obrazy systemu MS-DOS 4.0. Choć są to wersje historyczne, ich wydanie obfituje w niespodzianki. Jedną z nich jest to, że pod czwartym numerem wersji kryją się tak naprawdę dwa różne produkty.
28.04.2024 08:04
To już kolejny raz, gdy Microsoft udostępnia źródła systemu MS-DOS, poprzednio opublikowano wersje 1.25 i 2.0. Wersja czwarta jest o tyle istotna, że powszechnie uchodzi za bardzo długo przygotowywaną (cztery lata po wersji 3.0 z 1984 roku), niezbyt stabilną (prędko wydano wersję 4.01) oraz niepotrzebnie rewolucyjną.
MS-DOS zatem nie przyjął się na rynku zbyt dobrze... ale to nic w porównaniu z "drugą" wersją 4.0, powstałą dwa lata wcześniej. Był to system o wiele bardziej zaawansowany, a jednocześnie znacznie mniej znany, bo prawie nikt go nie kupił.
W zagadkowym katalogu "4.0-ozzie" - nazwa wskazuje na autora przedsięwzięcia, był nim Ray Ozzie - zawiera wczesną wersję "drugiego DOS-a 4.0". Binarną postać produktu znanego pod nazwą Multitasking MS-DOS i obecnego chwilowo na rynku pod fatalną nazwą MS-DOS 4.0. Początkowym planem było wydanie kodu źródłowego właśnie tej wersji, ale jego odnalezienie w Microsoft Archives okazało się niemożliwe.
Dalsza część artykułu pod materiałem wideo
Znaleziono tylko "zwykłą" wersję 4.0, ale wczesny wariant Multitasking, choć jedynie w formie binarnej, był na tyle interesujący, że wklejono go obok, właśnie do katalogu "ozzie".
Multitasking DOS?
Multitasking DOS był próbą wprowadzenia wielozadaniowości i ochrony pamięci, zapewnianych częściowo przez architekturę procesora 286, ale całkowicie nieobecnych w architekturze iAPX-88, na bazie której powstały oryginalne pecety i ich pierwsze klony. Potrzebny był system zdolny zarówno do wielozadaniowości, jak i do uruchamiania starych aplikacji, nieprojektowanych pod jej kątem.
Zobacz także
W dokumentacji, Microsoft opisuje problem jajka i kury: nowoczesne aplikacje nie powstaną, dopóki nie będzie istniał nowoczesny system operacyjny, a ten nie powstaje... bo nikt nie chce pisać nowoczesnych aplikacji. Krokiem pośrednim na drodze do stworzenia takiego systemu miał być właśnie Multitasking DOS.
Microsoft bardzo bał się robić rewolucję. Do tego stopnia, że nowy system dalej chciał nazywać "MS-DOS" i kontynuować jego numerację. Doprowadziło to do potężnego chaosu nazewniczego, ale było to w Redmond uważane za koszt niższy niż podejrzenie niekompatybilności. Początkowo było jednak inaczej. W czerwcu 1984, nowy system nazwano Multitasking MS-DOS 1.0 i opisano jako wywiedziony z MS-DOS 2.x, z planem przejścia z bazą na MS-DOS 3.0.
Ale w październikowych dokumentach, nowy system był już nazywany MS-DOS 4.0 i sugerowany jako następca. Przekonywanie o kompatybilności zdało się jednak na nic i w momencie wydania produktu na rynek w 1986 roku, jeden z dyrektorów Microsoftu stwierdził "to będzie niszowy system i chyba nie powinniśmy byli go nazywać 4.0".
Niepotrzebna rewolucja
Niska wiara w produkt sprawiła, że niewielu dostawców sprzętu zgłosiło się po nowy system. Było to zdumiewające - rynek PC krzepł do tego stopnia, że zdawał się stać odporny na innowacje. Multitasking DOS sprzedano niewielu klientom i dwa lata później wydano wersję 4.0 ponownie, tym razem jako dość konserwatywną ewolucję DOS-a 3.30. Źródła tej właśnie wersji opublikowano na GitHubie. Rynek PC, owszem, zaczął odrzucać potencjalnie problematyczne zmiany, jak Multitasking DOS. Ale nie dlatego, że były za duże, a dlatego, że były za małe.
W toku prac nad wielozadaniowym DOS-em prędko okazało się, że aby naprawdę dostarczyć obietnice, jakie składano w opisie technicznym Multitasking MS-DOS 4.0, potrzebne są o wiele większe zmiany. Dlatego rozpoczęto projekt DOS 5.0, który miał być prawdziwym następcą, rozwijanym wraz z IBM. DOS 5.0 powstał w oparciu właśnie o Multitasking DOS, ale podobnie jak w przypadku wersji czwartej, istniały dwie wersje DOS-a 5.0.
Zobacz także
Pierwsza była ponownie konserwatywną kontynuacją, zdolną do działania nawet na najstarszym pececie, wydaną dopiero w 1991 roku. Druga została wydana aż cztery lata wcześniej - tym razem pod inną nazwą, wskutek doświadczeń z Multitasking DOS. Brzmiała ona OS/2.
Stare problemy, stare rozwiązania
Jak pokazują opublikowane właśnie dokumenty programu beta z 1984 roku, problemy jakie miał rozwiązać OS/2 były wyzwaniami stawianymi trzy lata wcześniej systemowi Multitasking DOS. OS/2 wzbudził więcej entuzjazmu niż jego wielozadaniowy protoplasta, był jednak drogi, momentami nieco niekompatybilny i w pierwszej wersji dość niekompletny.
W Microsofcie uznano go za ślepą uliczkę: zdecydowano się całkowicie przepisać go do C++ i pozostawić w nim API z oryginalnego OS/2, wraz ze zgodnością z Windows i MS-DOS. Z kolei wątki i wielozadaniowość zaimplementowano odmiennie, na bazie zwykłego DOS-a, w ramach rozwiązania VMM.
Przepisany do C++ OS/2 powstał, ale nigdy nie sprzedawano go pod taką nazwą. Zamiast tego użyto nazwy... Windows NT. W praktyce system ten oferował tylko ograniczoną zgodność z OS/2, skupiając się na innym API - tym, z którego korzystamy do dziś. IBM rozwijał OS/2 samodzielnie do 2001 roku, dziś jest on dostępny jako ArcaOS, zaopatrywany doraźnie w obsługę nowego sprzętu.
Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl