O powstawaniu Windows. Jak tworzono najpopularniejszy system na świecie: OSR2
Opracowanie produktu Chicago, wydanego pod nazwą Windows 95, było z wielu powodów przełomowe. Dziś pamiętamy z niego przede wszystkim menu Start, pasek zadań i eksploratora plików, które w dużej mierze zdefiniowały czego spodziewamy się po dzisiejszych pulpitach. Ale jego główne zalety były wtedy zgoła inne. Nowy interfejs użytkownika był niewątpliwie istotny, ale główne oczekiwane wtedy przez rynek cechy to 32-bitowy model programowania i odgórnie dyrygowana (preemptively scheduled) wielozadaniowość. Windows 95 dostarczył właśnie to.
Plany Microsoftu były oczywiście o wiele większe. Należały do zbioru absurdalnie rozbudowanych marzeń managementu owładniętego przekonaniem o omnipotencji. Na przykład szykowane komponenty PIM, docelowo przeznaczone do zintegrowania z Eksploratorem, zostały zmniejszone do rozmiarów Windows Messaging, a potem przeniesione do projektu Nashville. Obsługa podczerwieni musiała poczekać na dodatkowe instalatory, a gdzieś w tle dokonywano potężnego odwrotu w kwestii polityki obsługi internetu.
Windows 95 byłby jednak mocno wybrakowany nawet, gdyby założony projekt sfinalizowano w całości. Wynika to z tego, że sam projekt dość mocno się zestarzał i celował raczej w rzeczywistość roku 1993, a nie 1995. Podstawowa obsługa APM oraz Plug and Play nosiła znamiona nowoczesności, ale w swoim pudełkowym kształcie Windows 95 był miejscami dość mocno archaiczny. Nie nastąpił żaden rozwój na kilku istotnych polach, bo po prostu nie było o nich mowy w roku 1992, gdy rewidowano założenia dla następcy Windows 3.11. Chodzi tu przede wszystkim o następujące elementy:
Obsługa wschodnioeuropejskich układów klawiatury (!) Podczerwień ClearType System plików FAT32 (!!) Stos TCP/IP Ultra ATA DMA FireWire Programowalny kontroler przerwań dla PCI MMX i i686 IntelliPoint AGP USB
Ogólnoświatowa popularność Windows, zalew nowych urządzeń peryferyjnych, coraz pojemniejsze dyski twarde oraz nowoczesne chipsety typu Super-IO, montowane w komputerach odchodzących coraz mocniej od szyny ISA stanowiły połączenie, którego Windows 95 po prostu nie umiał obsłużyć. A jego następca jeszcze nie był gotowy.
Przedsięwzięte rozwiązania były różnorakie. Nie zniwelowano wszystkich problemów jednocześnie. Zastosowano kilka różnych podejść, w tym kilka złośliwych i ewidentnie zorientowanych na wyciąganie pieniędzy. Historia łatania Windows 95 jest bowiem bardzo długa i pokręcona.
Service Pack i suplement Plus
Mniej więcej pół roku po wydaniu Windows 95, opublikowano dodatek Service Pack 1, integrujący pakiet najpilniejszych łatek dla tego systemu. SP1 zawierał nowe sterowniki sprzętowe, aktualizacje sterowników do sieci lokalnych, nową wersję aplikacji Windows Messaging i obsługę klasy sterownika IR. Na tym etapie planem na aktualizacje 95 było wydawanie najdotkliwiej brakujących rzeczy za pomocą Service Packów, a większych funkcji – pakietami Plus. Obraz systemu Windows 95 ładowany do nowych komputerów PC został podmieniony z wersji OEM na wersję OSR1.
Płatny pakiet Plus oferował zaktualizowaną obsługę dynamicznej kompresji dysków, wygładzanie czcionek, kompozycje pulpitu, harmonogram zadań, kilka gier i pierwszą wersję Internet Explorera. W przeciwieństwie do obsługi podczerwieni i nowych sterowników, powyższe dodatki uznawano za całkowicie opcjonalne. W przypadku kolejnych funkcji, tak jasny podział stawał się coraz trudniejszy...
Wydanie paneuropejskie
Z pewnych zabawnych powodów, Windows 95 domyślnie nie posiadał sterowników dla układów klawiatury odpowiednich na Europy środkowowschodniej. Centrum Pobierania oferowało pliki funkcji do doinstalowania (wykorzstując w tym celu systemowe API, a nie instalator), dzięki którym oryginalna wersja mogła otrzymać np. polski układ, ale to nie rozwiązywało wszystkich problemów: większość systemowych czcionek nie zawierała "ogonków". Można więc było pisać z Altem, ale efektem były śmieci. Problem nie wystętpował, oczywiście, w wersjach narodowych, ale dopiero wydanie Pan European Edition umożliwiało dodanie polskiej klawiatury do dowolnego języka, bez śmieci. Kłopot zażegnała dopiero wersja Windows 98.
OSR2
Po wydaniu pakietu Service Pack 1 okazało się, że kolejnych braków nie należy już wypełniać poprzez formułę Service Pack. Powodów było kilka, acz nie pojawiały się one w oficjalnych obwieszczeniach. Były raczej wnioskami z Not Wydawniczych dołączanych do aktualizacji wydanych zamiast Service Packa 2. System plików FAT32, pozwalający używać dysków większych niż 2GB, wymagał sporych zmian w jądrze systemu, potencjalnie prowadząc do awarii podczas aktualizacji. "Z powodu kompatybilności", sterownika IFS dla FAT32 oraz plików PDR dostarczających obsługę Ultra DMA dla ATA nie wydano w postaci aktualizacji ani Service Packów.
Zamiast tego zdecydowano się na coś bardziej wyrachowanego. Powyższe funkcje zaimplementowano w nowym, zrewidowanym wydaniu Windows 95 o nazwie OSR2. System ten był niedostępny w sprzedaży detalicznej, możliwy do nabycia tylko z nowymi pecetami w komplecie, a jego płyta instalacyjna uniemożliwiała przeprowadzenie aktualizacji z oryginalnej, pudełkowej wersji 95. OSR2 był stabilniejszy od poprzednika i radził sobie z większym zbiorem nowego sprzętu. Był jednak cięższy.
Nowy sprzęt
Oficjalnym powodem wydania nowej, oddzielnej wersji systemu było to, że zmiany potrzebne do wdrożenia obsługi nowego sprzętu były zbyt poważne, by dostarczać je aktualizacjami. OSR2 różnił się od pierwowzoru dość znacząco. W praktyce powody mogły być inne. Microsoft wydał aktualizacje usuwające awarie na "szybkich" procesorach również dla OSR1 a także kilka innych aktualizacji dość mocno ingerujących w system i jakoś okazało się to możliwe.
Wydanie OSR2 jako oddzielnego systemu i związanie go z nowszym sprzętem, pozwoliło ukryć kilka kwestii. Po pierwsze, że wymagania sprzętowe Windows 95 to kłamstwo. Komputery sprzedawane z OSR2 musiały mieć fabrycznie czterokrotnie więcej RAM-u, niż rzekomo "minimalna" wartość z pudełka. Ponadto, nowy system testowano z nowym sprzętem, a licencja OEM pozwalała go testować tylko z nowym sprzętem. Windows 95 teoretycznie może działać na komputerze z procesorem 386 bez koprocesora i bez szyny PCI. OSR2 stosuje IRQ Steering i obsługuje nowy model sterownika sieciowego. Takie zabawki mogą po prostu nie działać na starych komputerach.
USBZatem zamiast testować aktualizacje na szerokiej gamie frustrująco starego i powolnego sprzętu, lepiej... zmusić użytkowników do zakupu nowego komputera i ofiarować im nowy system pod tą samą nazwą. Gdy OSR1 sprawiał problemy na nowym sprzęcie, OSR2 mógł sprawiać je na starym. Prędkość rozwoju elektroniki przytłoczyła bowiem inżynierów z Redmond. Dlatego wbrew "wiedzy powszechnej", OSR2 wcale nie obsługiwał np. USB.
Obsługa magistrali USB została dostarczona w OSR2, ale domyślnie nie jest zainstalowana. Tzw. Suplement USB znajdował się na płycie CD-ROM ze źródłem instalacyjnym i jego dokument Readme informował, że należy go instalować tylko na komputerach zaopatrzonych w kontroler USB. Teoretycznie to logiczne: po co instalować sterowniki USB na komputerze bez USB?
Suplement "Detroit" nie był jednak zwyczajnym sterownikiem USB. Jego formatem była pierwsza wersja WDM: uniwersalnego modelu sterownika opracowywanego dla systemu Windows NT 5.0. Aby taki sterownik mógł działać w Windows 95, należało wprowadzić obsługę kodu NT, co odbyło się za pomocą sterownika "Mini NT Executive 1.0". To on dostarczał obsługę WDM, a ona z kolei – magistrali PCI+, portu AGP i kontrolera USB. Aby Mini NT mogło działać, potrzebne było także przebudowanie jądra systemu w locie.
Implementacja WDM, Mini NT i USB była tak wczesna i niestabilna, że na płycie instalacyjnej zaraz obok niej znajdowała się aktualizacja do tejże. Wersje narodowe posiadały drugą wersję owej aktualizacji, a wschodnioazjatyckie zaopatrzono w trzecią. Obsługa USB po prostu nie była gotowa, ale na rynku zaczęły się pojawiać już pierwsze urządzenia. Ponieważ następcy Windows 95 jeszcze nie ukończono, posiłkowano się takim właśnie opcjonalnym suplementem.
Memphis i Nashville
Przeorientowanie się na internet sprawiło, że prace nad następcą Chicago postępowały powoli. Nie można sobie było dać spokoju i wydać "Windows 96" z obsługą całego wymienionego wyżej sprzętu, bo nie był na to jeszcze gotowy Internet Explorer. Ukończenie prac nad IE4 umożliwiło premierę Windows 98, gdzie obsługa nowego sprzętu, internetu i języków wschodnioeuropejskich była obecna. Jako, że nie trzeba już było zmuszać ludzi do kupowania nowych komputerów, aktualizacja Windows 98 do Wydania Drugiego była już odblokowana. Aczkolwiek początkowo miała być też bezpłatna...
Prace nad Windows 95 ukończono zatem w 1997 roku. Paneuropejska wersja OSR2 z dodatkiem Plus, Internet Explorerem 4.0 i Suplementem USB v3 została wydana w grudniu 1997, niecałe pół roku przed finalną kompilacją Windows 98. To właśnie ten system, a dokładniej jego Wydanie Drugie, uchodzi za "definitywną" wersję klasycznych Okien. O drodze do Memphis już wkrótce.