Z czym kojarzy się Microsoft? Windows, pakiet Office, Xbox, Internet Explorer – odpowie niemal każdy. Ci bardziej świadomi wspomną o Azure, Exchange, MS-SQL, Active Directory, urządzeniach Surface, a może nawet o smartfonach z serii Lumia. Pojedyncze osoby będą wiedzieć, że Microsoft pod rządami Satyi Nadelli jest jedną z najważniejszych organizacji biorących udział w rozwoju Linuksa. Ale Microsoft jako twórca systemu operacyjnego opartego o Uniksa? Nieprawdopodobne, a jednak. Oto Xenix – dawno zapomniany uniksowy system operacyjny od twórców Windowsa, któremu w szalonych czasach początków informatyki udało się nawet na chwilę zdominować rynek. 

Era herosów 

Lata siedemdziesiąte i początek osiemdziesiątych można w historii informatyki nazwać erą herosów. Wtedy właśnie powstały technologie, które do dziś leżą u podstaw nowoczesnego, cyfrowego świata. Język programowania C, przy użyciu którego powstały i powstawać będą miriady linijek kodu najpopularniejszego oprogramowania na świecie. Alto, stworzony w laboratoriach Xerox PARC przełomowy komputer, któremu zawdzięczamy interfejsy graficzne z ikonkami, pojęcie pulpitu, myszy komputerowej, sieci Ethernet. No i oczywiście Unix – system operacyjny, który dał światu m.in. pojęcie hierarchicznego systemu plików. Jego potomkowie, tacy jak systemy BSD i macOS od Apple, pozostają w użyciu do dziś. Od Uniksa pochodzi także Linux – nie w prostej linii wprawdzie, ale z ogromnym podobieństwem do swojego wzorca.

Unix oś czasu. Xenix - Unix od Microsoftu.

Sam Unix przez dziesięciolecia doczekał się dziesiątek różnych wariacji mniej lub bardziej spokrewnionych z protoplastą. Sam Unix – ten oryginalny, powstały w laboratoriach Bell Labs – był jednak, w przeciwieństwie do zdecydowanej większości swoich potomków, oprogramowaniem własnościowym. Z uwagi na prawne regulacje narzucone przez Bell Systems (spółkę-matkę Bell Labs), Unix nie mógł być sprzedawany bezpośrednio konsumentom. Zamiast tego był on licencjonowany innym podmiotom, którzy po wprowadzeniu większych lub mniejszych zmian odsprzedawali go dalej.

Jednym z takich podmiotów była młodziutka wówczas firma Microsoft, której oficjele zgodnie uważali, że Unix jest przyszłością komputerów. Jak czas pokazał – zupełnie słusznie.

Xenix – Unix według Microsoftu

W 1978 roku Microsoft odkupił od telekomunikacyjnego giganta AT&T (właściciela Bell Systems) licencję na Siódmą Wersję Uniksa, czyli Unix Version 7. Już dwa lata później Microsoft ogłosił, że zamierza udostępniać go na rynku 16-bitowych mikrokomputerów. Wykorzystanie oryginalnej nazwy Unix nie było możliwe ze względu na obwarowania licencyjne – stąd właśnie zdecydowano, aby Uniksa w mikrosoftowym wydaniu nazwać Xenix. Ten system operacyjny, podobnie jak Unix od Bell Labs, również nie był sprzedawany bezpośrednio konsumentom, lecz licencjonowany OEM-om.

TRS-80, mikrokomputer. Xenix - uniksowy system operacyjny od Microsoftu.
TRS-80. Przykład mikrokomputera.

Udostępnienie Xenixa sprawiło, że dedykowany dużym środowiskom i pracy z wykorzystaniem wielu kont system operacyjny Unix trafił po raz pierwszy na mikrokomputery.

Pokaż kotku, co masz w kodku 

Jak mówili przedstawiciele Microsoftu, Xenix w pierwotnej wersji z 1980 był systemem bardzo bliskim oryginalnemu wydaniu siódmej wersji Uniksa. Od tego czasu Xenix zaczął być rozbudowywany poprzez dodawanie własnych poprawek i ulepszeń. Rozpoczęto prace nad przeniesieniem systemu na inne architektury procesorów, w tym 8086 od Intela oraz 6800 Motoroli. Celem Microsoftu było dostarczenie wraz z Xenixem całego środowiska, w tym kompilatora języka BASIC, od którego przecież zaczęła się kilkudziesięcioletnia historia dzisiejszego giganta. Standardowa powłoka Uniksa zastąpiona została własnym pomysłem Microsoftu w postaci powłoki opartej o menu zamiast jedynie możliwości wpisywania komend. Dzięki oprogramowaniu o wdzięcznej nazwie micnet możliwe stało się tworzenie dosyć ograniczonych sieci lokalnych poprzez port RS-232, a także obsługa poczty elektronicznej. Do Xenixa wszczepiono niektóre elementy przeniesione z systemów uniksowych z nowo powstałej rodziny BSD – do grona tego zalicza się m.in. słynny i używany po dziś dzień edytor tekstu vi, a także towarzyszące biblioteki termcap i curses.

Xenix

W 1982 roku do rozwoju systemu swój wkład zaczęła wnosić spółka SCO, dotychczas jedynie licencjobiorca produktu Microsoftu. Współpraca pozwoliła wspólnymi siłami przenieść Xenixa na komputer Apple Lisa oparty o Motorlę 6800 oraz inne popularne wówczas architektury.

Xenix stał się najpopularniejszą dystrybucją Uniksa na rynku.

IBM 

Odniesienie tego niespodziewanego sukcesu bynajmniej nie sprawiło, że Microsoft i współpracujące SCO osiedli na laurach. O ile druga wersja systemu wciąż oparta była o siódmą wersję Uniksa, tak Xenix 3.0 z 1984 roku miał u podstaw System III, czyli najnowszą wówczas iterację systemu Unix. Jądro systemu rozrosło się do imponujących dziesięciu tysięcy linijek kodu – oczywiście imponujących jak na tamte czasy, bo dzisiejszy Linux składa się z trzydziestu milionów (!) takich linijek.

Wielu może przypomnieć sobie, że Microsoft w tym czasie miał przecież jeszcze jeden system operacyjny… MS-DOS! Dlaczego więc spółka bawiła się w jakieś Uniksy? Odpowiedź jest prosta: Microsoft już wtedy był świadom rażących ograniczeń DOS-a, takich jak brak poprawnej wielozadaniowości, czy obsługi wielu użytkowników. DOS miał być więc prostym systemem do prostych zadań, a do tych bardziej zaawansowanych Microsoft oferował znacznie bardziej zaawansowany uniksowy system we własnym wydaniu. Rozpoczęto nawet prace nad tym, by DOS-a oraz Xenixa uczynić kompatybilnymi poprzez utworzenie czegoś, co potocznie nazywano XEDOS – ograniczonego systemu dla jednego użytkownika z kompatybilnością z DOS-owym oprogramowaniem. Wręcz niezwykłe jest więc, że mając tę świadomość w połowie lat 80., MS-DOS trzymany był na respiratorze aż do wcale nie tak dawnych czasów Windowsa Millenium!

Na horyzoncie pojawiało się jednak zagrożenie dla światłych planów rozwoju Xenixa i dalszego podboju świata przez ten system. Był to IBM, z którym współpraca opłacała się Microsoftowi znacznie bardziej, niż samodzielne starania. Do tego doszedł upadek Bell System oraz rozpoczęcie sprzedaży przez AT&T najnowszego wydania Uniksa o nazwie System V. Microsoft zrozumiał, że z jest zbyt mały do konkurowania z AT&T i zdecydował się porzucić rozwój Xenixa, by postawić na opracowywany z IBM system OS/2, do pracy nad którym zaprzęgnięto zespół pracujący dotąd nad Uniksem według Microsoftu oraz najlepszych deweloperów MS-DOS, a następnie rozwój dobrze znanych systemów (początkowo nakładek na MS-DOS) z rodziny Windows. Ale to już historia wszystkim znana.

Epilog, czyli Xenix w rękach SCO 

Po upewnieniu się, że dawny partner nie zamierza się już więcej interesować Xenixem, spółka SCO rozpoczęła samodzielne prace nad systemem. W 1987 roku Xenix został przeniesiony na rewolucyjną 32-bitową platformę Intel 386, a następnie fundamenty systemu przeszczepiono z System V (zamiast poprzedniego System III), co umożliwiło dodanie obsługi protokołu TCP/IP oraz SCSI.

Ostatnią wersją prawdziwego Xenixa okazała się być ta oznaczona jako SCO XENIX/386 z 1991 roku. Na zgliszczach tego systemu operacyjnego zbudowany został dalece bardziej zaawansowany SCO UNIX oparty o System V.3, przemianowany następnie na SCO OpenServer i pod tą nazwą wprowadzony w XXI wiek. OpenServer, u którego podstaw stał Xenix, ostatecznie odszedł do krainy wiecznych obliczeń w 2006 roku wraz z bankructwem SCO.

Co działo się w Microsofcie po oficjalnym zakończeniu projektu? Co ciekawe, jeszcze przez kilka następnych lat Xenix był wykorzystywany na stacjach roboczych i to pomimo prac nad OS/2. Wewnętrzna firmowa poczta elektroniczna była obsługiwana przez maszyny działające w oparciu o Xenixa aż do lat 1995-1996, gdy ostatecznie przemigrowano je na serwery Exchange.

W ramach podsumowania, przytoczyć warto wypowiedź Billa Gatesa o Uniksie od Microsoftu: 

Microsoft musiał na chwilę się zatrzymać i spojrzeć w przeszłość, by stwierdzić, że najlepszym dla nas rozwiązaniem jest rozpoczęcie wszystkiego od zera: stworzyć nowy system, skupić się na zaimplementowaniu najlepszych wzorców z Uniksa i Windowsa, a także udostępnić serwer plików, który mógłby zapewnić wydajność na tamtą chwilę unikalną dla Netware od Novella. 

I tak oto skończyła się przygoda Microsoftu z Uniksem. Przygoda, która dziś rozpoczyna się na nowo poprzez Azure i Windows Subsystem for Linux. Ale to już temat na inny wpis.