Trzydzieści lat temu rozpoczęto prace nad Windows. Czy potrzebujemy następcy?

Trzydzieści lat temu rozpoczęto prace nad Windows. Czy potrzebujemy następcy?05.11.2018 01:08
Trzydzieści lat temu rozpoczęto prace nad Windows (depositphotos)

Na przełomie października i listopada 1988, do siedziby Microsoftu przyjechał Dave Cutler, zatrudniony w sierpniu i wynajęty do rozpoczęcia prac nad systemem operacyjnym nowej generacji. Ten osobliwy nabytek od samego początku nie pasował do klimatu firmy-właściciela MS-DOS. Członkowie zespołu Cutlera – bo zażądał on zatrudnienia również swoich znajomych z legendarnej firmy Digital – uparcie odmawiali integracji z procedurami, priorytetami i duchem nowego pracodawcy. Przez długi czas wydawało się, że cokolwiek stworzy Cutler, będzie drastycznie odmienne od wszystkich pozostałych produktów, „płacących rachunki za prąd” w Microsofcie: MS-DOS, Windows, Word i Excel oraz Xenix. Od niektórych z kolei miało być odmienne z założenia. Przede wszystkim mowa tu o OS/2.

Dlaczego Microsoft w ogóle rozpoczął prace nad nowym systemem? Bo nie miał żadnego w ofercie na przyszłość. Co prawda siedział na górze pieniędzy generowanych ze sprzedaży malutkiego MS-DOS, ten system jednak był zbyt ograniczony, by budować na nim dalej. Nie dało się go rozbudowywać, ponieważ jego wady i ograniczenia były jednocześnie decyzjami projektowymi i filarami, o które był oparty jego model programowania. Windows był z kolei niczym ponad kolejną aplikację na system DOS i nie przekonywał ludzi jako środowisko pracy. A system „nowej generacji”, czyli OS/2 okazał się być daleki od przyszłościowego. Ostatni kandydat, Xenix, co prawda działał na pecetach, ale jego uniksowa natura wykluczała go z roli produktu konsumenckiego.

1993 HAL-PC OS/2 NT Shootout (Uncut)

Windows na przyszłość

Istniała konieczność poprawienia OS/2 tak, by na pewno był on systemem gotowym na przyszłość. Dlaczego nie był? Po pierwsze, był pisany w językach niskopoziomowych, skutkiem czego zależał od sprzętu. Innymi słowy, jeżeli ktoś chciałby go zbudować i uruchomić na innym procesorze, niż Intel, konieczne byłoby przebudowanie niemal całości. Po drugie, nie wykorzystywał własności układu 386, nowego i nieużywanego jeszcze wtedy powszechnie układu, który ułatwiał korzystanie z dużej ilości pamięci i zapewniał jej ochronę. Głównym problemem DOSa było właśnie bardzo mało elastyczne zarządzanie pamięcią. OS/2, celując w zgodność z poprzednikiem, odziedziczył te same wady. Zachodziła potrzeba stworzenia systemu zdolnego do działania na różnych architekturach, widzącego pamięć jako obszar ciągły i odpornego na awarie (jedna aplikacja nie powinna być zdolna do „wyłożenia” całości. OS/2 nie był takim systemem. W ogóle nie było takiego systemu na rynku. To były cechy dla drogich sprzętów w wielkich szafach (mainframe), a nie dla komputerów osobistych. Te były bowiem zwyczajnie za słabe na takie fanaberie.

Cutler dostał jednoznaczne zadanie: wykorzystać swój talent i doświadczenie z projektów VMS i Mica by stworzyć przenośny, stabilny system z ochroną pamięci i trybami zgodności z poprzednikami. Miał on zastąpić obecną wersję OS/2 i wprowadzić architekturę nowej generacji (NT). Ten prosty rozkaz był niezwykle trudny w realizacji. Zwłaszcza, że Cutler chciał robić coś innego – budować komputery. System miał być skrojony na miarę takiego komputera, ale końcowym produktem miał być komplet: komputer z oprogramowaniem. Microsoft zamawiał coś nieco innego, ale szacunek dla estymy nowo zatrudnionego architekta sprawiał, że wyrażono zgodę na stworzenie prototypowego komputera osobistego opartego o egzotyczny układ MIPS. Rozwój NT OS/2 na układzie MIPS miał gwarantować przenośność: jeżeli wszystko pójdzie zgodnie z planem, to poprawnie zaimplementowany model przenośny pozwoli przebudować system pod procesor 386 bez większego wysiłku.

Mordercze wymagania NT, czyli co najmniej 24 megabajty pamięci
Mordercze wymagania NT, czyli co najmniej 24 megabajty pamięci

Prace postępowały powoli i w atmosferze wrzasków. Cutler był w tym bardzo podobny do Torvaldsa – jedynego innego człowieka, któremu udało się stworzyć kompletny system na pecety w latach 90tych. Nienawidził głupoty, widział ją wszędzie i zmuszał ludzi do pracy ponad siły. Projekt NT był przez to źródłem wielu wojen, łez i rozwodów. Zwłaszcza, że ciągle się rozszerzał: dodano do niego takie cechy, jak odporność na awarie oraz... bezpieczeństwo. Trudno w to być może niektórym uwierzyć. Wiele osób (niesłusznie) twierdzi, że Windows jest systemem dziurawym z założenia, ale w praktyce NT jest zdumiewająco konsekwentny w swoim modelu bezpieczeństwa. Są jednak ludzie, którzy o tym dobrze wiedzą. Ci z kolei mogą się zdziwić, że bezpieczeństwo jest w NT funkcją, którą „dodano”. Wszak zawsze się powtarza, że aby system był bezpieczny, należy go pod tym kątem projektować od początku...

Jednak największym wstrząsem dla NT była decyzja dodania drugiej „osobowości” do systemu. Okazało się bowiem, że inny zespół w Microsofcie potajemnie dokonał cudu: przeniósł Windows w tryb chroniony. Dzięki temu udało się osiągnąć więcej, niż oferował OS/2 i nie czekać na jego następcę nowej generacji. Wkrótce potem tak przygotowany Windows 3.0 rzucono na rynek, gdzie zjadł nie tylko konkurentów, ale i samego OS/2. Los podpowiadał, że należy postawić na Okienka i zapomnieć o nieudanym rewolucjoniście. Dlatego zażądano, by w NT ograniczyć obsługę OS/2 i skupić się na zapewnieniu zgodności z Windows. W ten sposób narodził się Windows NT, wydany po tytanicznej walce (zaimplementowaniu obsługi innego systemu w drugim!) w roku 1993.

Wersja próbna systemu NT z grudnia 1991
Wersja próbna systemu NT z grudnia 1991

Od NT OS/2 do Windows Server

NT zdobywało rynek powoli. Głównym graczem na rynku przez następne siedem lat pozostawał jednak klasyczny Windows, mniej bezpieczny i niestabilny, ale znacznie tańszy i żwawszy na kiepskich, domowych komputerach osobistych. Ale klasyczne Windowsy czekał nieunikniony kres. Ograniczenia techniczne nie pozwalały na obsługę wielu procesorów (oraz innych architektur), gigabajtów pamięci i wielu innych urządzeń. Bez NT w pogotowiu, Microsoft znalazłby się w tej samej sytuacji, co Apple, produkujący świetne komputery bez dobrego systemu. Próby stworzenia takowego zakończyły się parokrotnie spektakularną klęską w Cupertino. O powadze sytuacji niech świadczy fakt, że w Apple naprawdę zastanawiano się nad użyciem Windows NT jako głównego systemu na Maki...

Wiele rozwiązań technicznych NT zaprzepaszczono. Zintegrowanie serwera wyświetlania z jądrem, a następnie dopuszczenie jednej z osobowości do bezpośredniego dostępu do jądra obniżyło bezpieczeństwo i stabilność systemu, ale były to jedyne dostępne rozwiązania, gwarantujące obniżenie drakońskich wymagań sprzętowych. Rozwiązania, które zemściły się boleśnie i dekadę później utrudniły powstanie bezpulpitowego wariantu Windows Server Core. Stworzenie alternatywnego systemu operacyjnego okazało się jednak niemożliwe. Do tej pory nie powstała aż tak szeroko używana konkurencja. Zbiór powodów jest olbrzymi i dotyczy nie tylko ograniczeń technicznych, ale także zarządzania, psychologii i ekonomii. Powstaje zatem pytanie – czy NT przetrzyma dalszą próbę czasu?

Windows Phone, Windows RT i dzisiejszy Windows on ARM udowodniły, że przesadna początkowa dbałość o stworzenie przenośnego systemu opłaciła się. Fundamenty Windows można gładko przesuwać między architekturami, gwarantując przy tym wysoką zgodność wysokopoziomowego modelu programowania, co jest małym cudem biorąc pod uwagę, jak wielki jest tak naprawdę Windows 10. Chmura Azure oraz domeny Active Directory, standard w wielu przedsiębiorstwach, pokazują wiarygodność i wydajność NT na serwerach, w ramach systemu Windows Server. Istnieją również warianty IoT, umożliwiające uruchamianie Windowsów na sprzęcie typu Raspberry Pi.

Wersja próbna NT z grudnia 1991 (źródło: Virtually Fun)
Wersja próbna NT z grudnia 1991 (źródło: Virtually Fun)

NT uodporniło Microsoft na wiele niespodzianek. Jeżeli Intel ugrzęźnie w swoich próbach stworzenia nowych mikroarchitektur i wszyscy przejdziemy na ARM – w Redmond będą na to gotowi, bo NT buduje się na ARMach. Swoją drogą, Apple też będzie gotowy. Oni z kolei od początku budowali macOS na alternatywnych architekturach. Problem jest innej natury: mając doskonałe fundamenty, programiści z Redmond (zapewne skonfliktowani z marketingiem) nie potrafili stworzyć interesującej „nadbudowy” gotowej na nowe czasy.

Okna z widokiem na chmurę

Autor książki „Showstopper”, Pascal Zachary, w epilogu do najnowszego wydania owej biografii NT wspomniał, że stworzenie Windowsa nowej generacji było niewątpliwym osiągnięciem, ale Microsoft przez lata pozostawał głuchy na rewolucje czekające za rogiem, czyli internet i telefony komórkowe dla mas. W ten sposób osiągnięcia NT miały zostać „zmarnowane”, ponieważ cała praca z elektroniką (computing) miała zostać przeniesiona na urządzenia o zupełnie odmiennym ustroju i specyfice pracy. Pogląd ten, wyrażony zresztą przez dziennikarza, a nie inżyniera, jest chybiony. System NT jest bowiem doskonale przystosowany do pracy w sieciach rozległych dowolnego protokołu, a skalowalność i przenośność gwarantują poprawną pracę również na telefonach. Problem musi się zatem czaić gdzie indziej.

Porażka na rynku telefonów, serwerowe „zabetonowanie” na obszarze corporate/enterprise oraz rosnące niezadowolenie z jakości klienckiego Windows 10 (zupełnie zasłużone), mają swoje źródła w kompletnie innej kwestii, niż potencjalne braki w NT. Owszem, bazowy system mógłby być o wiele lepszy, ale to samo można powiedzieć o każdym innym. Faktem jest jednak, że jego architektura z powodzeniem wystarcza do wykorzystania we wszystkich scenariuszach oczekiwanych przez rynek. Klęska na wielu polach wynikała z podłego traktowania programistów. Dotyczy to przede wszystkim telefonów, ale serwerów także(!). Zmiana platformy programowania telefonów, z Windows Mobile na Windows Phone (CE), następnie na Windows Phone 8 i 8.1 (NT), by potem jeszcze raz wszystkich zdenerwować i wprowadzić UWP wraz z Windows 10 – to są zachowania mocno nadwyrężające cierpliwość. Jasnym było, że wszyscy poprzednicy UWP byli obarczeni wadami, które prędzej czy później sparaliżowałyby wyścig z Androidem i iOS, ale niezależnie od wymówek technicznych, końcowym efektem było zmuszanie programistów do ciągłej zmiany platformy. Konkurenci tymczasem konsekwentnie trwają przy modelu ściśle ewolucyjnym.

Dave Cutler (źródło: Wikimedia Commons)
Dave Cutler (źródło: Wikimedia Commons)

W kwestii serwerów, Microsoft oferuje obecnie swoją platformę Azure oraz domeny Active Directory dla firm. Model programowania aplikacji internetowych, hostowanych na serwerze IIS, jest realizowany za pomocą języków .NET. I właśnie ten nieszczęsny .NET jest źródłem niższej popularności stron ASP względem witryn PHP: przez wiele lat PHP działało na „byle systemie” i wymagało jedynie w miarę zazębionego zbioru bibliotek i serwerów. Z kolei .NET był wybredny. Wymagał Windowsów, najlepiej najnowszych. A projekty aplikacji internetowych wymagały środowiska Visual Studio. Tak skonstruowany model, płatny na każdym etapie, mały przenośny i wymyślający na nowo niemal wszystko, co już wymyślono, był esencją dawnego Microsoftu. I choć dzisiejszy .NET wygląda już zupełnie inaczej i wpisuje się we wszystkie powszechnie stosowane praktyki i wyznawane preferencje, świat okrzepł już ze swoim podziałem. Zapewne nie zmieni go nowy, lekki „dotnet”, z narzędziami wiersza poleceń, działaniem na lekkich edytorach z kolorowaniem składni i wersją na Linuksa. Decyzje o takim ukształtowaniu i licencjonowaniu .NET należało podjąć dwadzieścia lat temu. Wtedy jednak takie oprogramowanie było nie do pomyślenia w Redmond.

Z kolei problemy z gładkim dostarczaniem Windows 10 i jego jakością (continuous delivery), również niewynikające z wad NT, to efekt wysoce niedoskonałego procesu. Koncentracji na złych priorytetach i zwolnienia testerów. Więcej informacji na temat niedostosowania projektu Windows Insider to wymagań jakościowych można znaleźć w artykule "A może Microsoft aktualizuje Windows 10 zbyt często?". Wadliwość praktyk programowania i wdrażania doprowadziłaby do blamażu jakościowego i wizerunkowego niezależnie od tego, jaki system by dostarczano.

Jeżeli zatem Windows NT nie przetrwa próby czasu, to nastąpi to z zupełnie innych powodów niż braki techniczne. Ambitny projekt, z założenia odporny na przyszłość, pozostanie takowym. Rażąco błędne decyzje marketingowe, brak wizji oraz (ponownie!) konflikty ambicjonalne mogą jednak doprowadzić do stanu, w którym dorobek techniczny NT zostanie zmarnowany. Biorąc jednak pod uwagę skalę złożoności, raczej nie powstanie już następca Windowsów (podobnie jak nie zanosi się na powstanie nowego silnika przeglądarki internetowej). Bardziej prawdopodobnym jest, że Okienka zastąpi któryś z obecnych systemów. Tylko który?

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.