O powstawaniu Windows. Jak tworzono najpopularniejszy system na świecie, część 1
Windows będzie obchodził w tym roku swoje 35 urodziny. Duża rodzina wielu systemów, często niekompatybilnych ze sobą, miała swój niepozorny początek jesienią 1985 roku, kiedy to wydano rozczarowujące środowisko Windows 1.01. Potrzeba było wielu lat, by system wzbogacił się w komponenty uznawane dziś za charakterystyczne dla Windowsów. Początkowe wersje nie zawierają niemal żadnych takich składników.
Z okazji nadchodzącej rocznicy będziemy przytaczać historię Windows w odcinkach. Zamiast skupiać się na ogólnikach związanych z wyglądem oraz sposobach uruchomienia systemu w maszynie wirtualnej, zajmiemy się rzadziej poruszanymi kwestiami. Przede wszystkim, będziemy dyskutować o wymaganiach sprzętowych, modelu programistycznym, wnętrznościach i najpopularniejszym oprogramowaniu dla danej wersji. Zaczynamy rzecz jasna od wersji 1.0.
Nieznane początki
Microsoft kombinował z graficznymi i semigraficznymi interfejsami już od 1981 roku, ale dopiero dwa lata później zadecydowano, że środowisko operacyjne z Redmond będzie czymś więcej, niż tylko alternatywą dla Visi On z interfejsem pierwszego Worda. Dlatego od pierwszej publicznej prezentacji do oficjalnego produktu minęło tak wiele czasu... a i tak oryginalną wersję przyszło prędko ściągać z półek, bo zawierała błąd w zarządzaniu pamięcią.
Bardzo mało składników Windows 1.0 ostało się u jego następców. Sporą część przeprojektowano, już w następnej wersji. Co się ostało? Na pewno nie sposób zarządzania oknami. Ten uległ drastycznej przebudowie. Żadna kolejna wersja Windows nie stosowała już kaflowych menedżerów okien. Ograniczenie to wynikało podobno z roszczeń patentowych w kwestii funkcji nakładania się okien.
Co czyni Okna Oknami?
Podstawowy "pomysł na Windows" to triada KERNEL + USER + GDI. Składniki USER oraz GDI zajmują się dostarczaniem zarządcy okien: numerują zasoby, przechwytują zdarzenia i przekazują komunikaty. GDI oferuje także programistyczne "płótna" na których mogą rysować programy wykorzystujące Windows API. W pierwszej wersji Windows, aplikacje te były programami trybu rzeczywistego. Głęboko na dnie stosu technologicznego dzisiejszych okienek znajdują się nowe, mocno rozszerzone składniki GDI oraz USER.
KERNEL zapewniał obsługę nowego formatu plików EXE, czyli NE. Nowe, segmentowe programy z obsługą zasobów, były potrzebne do namiastki abstrakcyjnej obsługi pamięci. Choć tryb chroniony nie wchodził jeszcze w grę, KERNEL wprowadzał "trochę" pamięci wirtualnej i umożliwiał częściowe ładowanie programu do pamięci (nie wszystkie zasoby musiały się od razu znajdować w pamięci RAM). Wyręczało to system MS-DOS w kwestii zarządzania pamięcią, ale dotyczyło to wyłącznie programów NE. Nie był to jeszcze pierwszy krok na drodze do całkowitego wywłaszczenia DOS-owej kontroli nad RAM-em, na rynku nie było też sprzętu, który to umożliwiał. Ale stanowiło to podgląd ambicji Microsoftu: stworzyć środowisko, które ominie bolesne ograniczenia MS-DOS.
Po co to wszystko?
Windows 1.0 był marną odpowiedzią na Macintosha i chłodno przyjętą nowością. Tak przyjęło się opisywać tę wersję w retrospekcjach. Niemożliwe jest jednak, by to sam upór sprawiał, że wkrótce potem wydano wersję 2.0 i kolejne, więc na przeklętą "Jedynkę" musiało istnieć jakieś zapotrzebowanie oraz powstać jakiś software. Był nim przede wszystkim Aldus PageMaker, aplikacja do składu publikacji. W owym czasie "tanie DTP" było zdominowane przez Maki. PageMaker był stosowany przede wszystkim na sprzęcie Apple, ale jego wersja na PC działała właśnie na Windows 1.0.
Swój zbiór oprogramowania wydała także firma Micrografx. Należały do niego między innymi programy In-A-Vision oraz Draw, graficzne edytory rastrowe i wektorowe. Widać tu pewien schemat. Oprogramowanie naukowo-techniczne działało głównie na komputerach z systemem UNIX, gry wykorzystywały czysty MS-DOS (pamięć!), a oprogramowanie biurowe nie potrzebowało wtedy dedykowanego środowiska graficznego. Zwłaszcza, gdy miało działać na najtańszym sprzęcie będącym na wyposażeniu biur. Tymczasem programy dla Windows ważyły więcej, a do ich stworzenia było potrzebne (płatne i drogie!) SDK oraz najnowszy kompilator, najlepiej autorstwa Microsoftu.
Dlatego w czasie powstania pierwszej wersji Windows i przy ograniczeniach platformy PC z czasów sprzed procesorów 286 i 386, jedynie programy graficzne miały racje bytu jako natywne programy Windows. A skoro rynek był zdominowany przez Apple... Stąd też słabością wersji 1.01 nie był tylko jej interfejs i ciężkość. Mało było z niej pożytku. Aby się rozwinąć, platforma musiała stać się bardziej uniwersalna. Na to przyszło poczekać.