O powstawaniu Windows. Jak tworzono najpopularniejszy system na świecie: Cairo

O powstawaniu Windows. Jak tworzono najpopularniejszy system na świecie: Cairo15.06.2020 07:10
Cairo (fot. Abdulmomn Kadhim, Pixabay)

Microsoft, mimo deficytu technicznego, opracował metodę na zarabianie pieniędzy z wykorzystaniem Windows. Przyjazne środowisko o niskich wymaganiach sprzętowych, mimo braku stabilności i ślepej uliczki rozwoju, stało się hitem. Ciężar następcy, w postaci systemu NT okazał się zbyt wysoki, a zgodność sprzętowa zbyt słaba, by nowoczesny system operacyjny trafił do mainstreamu. Rezultatem było powstanie Windows 95, definiującego w kolektywnej wyobraźni kształt pulpitu komputera osobistego.

Mniej znanym faktem jest to, że pulpit Windows 95: pasek zadań, przycisk startowy i eksplorator, nie pochodzą z zespołu "przyjaznego systemu domowego". Znalazły się w systemie tylko dlatego, że badania użyteczności wykazały, że interfejs Windows 3.1 jest nieużywalny do wielozadaniowości. Koncepcję paska zadań opracował zespół Cairo. Jeżeli NT miało zdobyć świat, Cairo miał urządzić go według nowego porządku. Choć Windows NT 3.1 nie okazał się szałowym produktem, pracowano nad jego zaawansowaną wersją równolegle z Windows 95.

Jeszcze lepszy NTPoczątkowo, Cairo miał zostać wydany jako Windows NT 4.0, ale większość jego składników nie zdążyła ze swoją gotowością do tej wersji. Cairo rozwijano razem z Windows NT: był to zbiór technologii działających "nad" podstawowym systemem. Dlatego pierwsze wersje Cairo istniały jeszcze zanim Windows NT 3.1 trafił na rynek i stanowiły (tajną) nakładkę na NT. Programiści NT pracowali w metaforycznym bunkrze, ale zespół Cairo pracował w bunkrze znajdujacym się pod bunkrem NT. Zespół ten nosił miano Działu ds. Zaawansowanych Systemów i zajmował się prawdopodobnie najbardziej algorytmicznie skomplikowanym produktem w Microsofcie, wyprzedając nawet SQL Server.

(fot. ReflectiaX, BetaArchive)
(fot. ReflectiaX, BetaArchive)

Nad czym dokładnie pracowano w Zaawansowanych Systemach? Ogólnie mówiąc, nad obiektową warstwą programistyczną dla danych. Microsoft opracował strukturę podstawowych komponentów budulcowych w dokumentach, zwaną OLE. Zalety owego rozwiązania uznano za wystarczająco interesujące, by rozszerzyć je na programowalny model składników całego systemu, a nie tylko dokumentów. W ten sposób powstało OLE 2.0 i architektura COM, bardzo ważna cecha Windows NT. OLE 1.0 stworzono na potrzeby Windows 3.0 i pakietu Office, OLE 2.0 i COM miało celować szerzej.

Zaawansowane Systemy pracowały nad tym, by system NT korzystał z COM i wyprowadzał przez niego swoje funkcje. Poza tym, opracowywano środowisko pracy z dokumentami i oprogramowaniem, pozwalające operować na danych, a nie na plikach. Wszystkie dokumenty powinny być w takim modelu obiektami OLE (stąd kryptonim "CairOLE"), a przynajmniej zawierać obiektowe cechy. Dokumenty te byłyby indeksowane do centralnej bazy danych. Nie byłoby różnicy między wołaniem elementu OCX i jakiejś "metody" dokumentu.

(fot. ReflectiaX, BetaArchive)
(fot. ReflectiaX, BetaArchive)

Obiektowy system plików

Aby komputery z 1993 roku nie ugięły się pod ciężarem indeksowania, potrzebne było wspomaganie ze strony systemu plików. Na tę potrzebę stworzono system OFS, przeznaczony do łatwego przechowywania danych OLE/COM wraz z plikami i umożliwiający tworzenie wirtualnych folderów/widoków, gdzie akt wyszukiwania byłby jednym ze sposobów wyświetlania dokumentów (koncepcja zrealizowana potem w WinFS). Cairo implementowało bazę danych, OLE, OFS i indekser jako sterowniki i komponenty opcjonalne systemu Windows NT. W czasie wielu lat rozwoju, zbudowano szereg wersji NT będących w praktyce kompilacjami Cairo: wyłączając składniki opcjonalne otrzymywało się "zwykłe" NT.

Pracownicy Zaawansowanych Systemów wiedzieli, z jak ambitnym zadaniem się mierzą. Dlatego też uznawali się za czarnoksiężników, strzegących tajemnej wiedzy i władających magicznymi narzędziami, niezrozumiałymi dla reszty świata. Gdzie są efekty ich pracy, skoro Cairo nigdy nie został wydany (Windows NT 4.0 nosi nazwę kodową Cairo, ale nie zawiera większości składników opracowywanych dla projektu)? Cóż, wszędzie.

Nikt już nie programuje bezpośrednio sięgając do OLE, zresztą w ogóle nikt nie pisze już pulpitowych aplikacji, dlatego Google już nieco mniej sobie radzi...
Nikt już nie programuje bezpośrednio sięgając do OLE, zresztą w ogóle nikt nie pisze już pulpitowych aplikacji, dlatego Google już nieco mniej sobie radzi...

Vaporware

Skoro nawet Chicago okazał się nadmiernym wyzwaniem, kalendarz wydawniczy Cairo także musiał się okazać nieubłagany. Nawet dla najzdolniejszych talentów w Redmond. Dlatego Cairo nie został wydany jako oddzielny system operacyjny, a jego komponenty zostały rozdysponowane po wielu pomniejszych zespołach. OLE, RPC i Win32 przestały być domeną "zaawansowanych systemów" i stopniowo mogła nad nimi zacząć pracować reszta firmy. A było tego sporo.

Władzę nad projektem NT, w tym Cairo, po wydaniu wersji 3.5 przejął Jim Allchin. Człowiek całkowicie pragmatyczny, podporządkowujący rozwój oprogramowania wyłącznie względom biznesowym. To za jego kadencji zadecydowano o zintegrowaniu podsystemu graficznego z jądrem i rozbiciu Cairo na podzespoły robocze. Zabawnym szczegółem jest to, że zarówno Cairo jak i Longhorn były rozwijane pod opieką Allchina i oba te projekty nie uległy finalizacji w swym zamierzonym kształcie.

Wśród super-ambitnych inicjatyw Cairo, według Dowodu 5542 w procesie Comes kontra Microsoft Corporation, w tajnym dokumencie z Redmond wymieniono następujące elementy:

  • Zadaniowy interfejs użytkownika (dostarczony w Windows NT 4.0)
  • Plug and Play (działający wyłącznie dla kart Sound Blaster, w pełnej formie dostarczony dopiero w Windows 2000)
  • Zgodność z MS-DOS 6.0 (niedostarczona nigdy)
  • APM i ACPI (również czekało dopiero do Windows 2000)
  • Obsługa pióra (wróciła dopiero w 2004 roku)
  • Antywirus. Nowa wersja MSAV z Windows 3.1, anulowana, na swoją kolej czekała do 2012 roku!
  • ODBC i OLE2 (gotowe później, dostarczane przez pakiet Office i Internet Explorer 3)
  • Usługa katalogowa X.500(!) (opracowana siedem lat później z ogromnymi problemami, dziś znana jako niezastąpione Active Directory)
  • DFS i replikacja obiektów (podstawowa w NT 4.0, pełna w Windows 2000)

OFS: konkrety

Całkowicie oddzielnym i olbrzymim zarazem tematem był obiektowy system plików OFS. To wzorcowy przykład feature creep, niemożliwego do zaimplementowania super-projektu z tysiącami funkcji, tworzonego z zamiarem jednorazowego dostarczenia jako monolit. Nigdy nie udaje się dostarczyć żadnego projektu tworzonego z wykorzystaniem takiego paradygmatu. Z czego składał się OFS?

  • Instalowalny system plików o wydajności wyższej, niż FAT (niegdy nieukończony)
  • Usługa indeksująca cechy OLE i zawartość plików, z możliwością tworzenia skomplikowanych kwerend: CIDAEMON (zaimplementowana częściowo jako Usługa Indeksowania(https://www.techrepublic.com/blog/windows-and-office/configure-windows-xps-indexing-service-the-right-way/), nieco pełniej jako Windows Search)
  • Mechanizm zapisu metadanych OLE w systemie plików (porzucony jako zbyt skomplikowany, wykorzystano bazę danych indeksu i zwykły system plików NTFS)
  • Funkcje partycjonowania w locie, woluminów logicznych, wieloterabajtowych partycji, odporności na uszkodzenia (wszystkie dostarczone w zwykłym NTFS na przestrzeni lat)
  • Celowy brak zgodności z POSIX i brak obsługi w najtańszych wersjach (to odbiłoby się czkawką)
  • Tworzenie widoków dynamicznych, widoków-jako-folder i metaplików (częściowo gotowe jako Biblioteki i Windows Search, dziś wyparte przez chmurowe indeksery)

Można dziś lamentować, że Cairo nie zostało wydane, ale gdyby rewolucyjny OFS naprawdę udało się ukończyć, o wiele trudniej byłoby dostosować system do znacznie mniej sztywnych niż OLE, różnorakich danych internetowych. Widać to dziś, gdy każde narzędzie ma swoją wyszukiwarkę i wiele z nich nie wpina się do Windows Search, nie wspominając o tym, jak wiele rzeczy robimy dziś w chmurze. OFS mógłby więc dość prędko i mocno stracić na znaczeniu.

Niemniej, konieczność czekania na Windows 2000 aż pięć lat i jego niekompletność w kwestii wersji domowej to dowód na to, że nie tylko OFS był składnikiem Cairo, którego nie dało się łatwo dostarczyć. Niech służy to za przypomnienie, jak ważnym produktem był Windows 2000, obchodzący w lutym swoje dwudzieste urodziny. O pracach nad nim już wkrótce.

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.