Windows NT i Unix - jaka przyszłość systemów operacyjnych?

W świecie istnieje ponad 100 różnych wersji Unixa, ale jego przyszłość coraz bardziej zależy od zaakceptowania bądź odrzucenia przez użytkowników Windows NT.

W świecie istnieje ponad 100 różnych wersji Unixa, ale jego przyszłość coraz bardziej zależy od zaakceptowania bądź odrzucenia przez użytkowników Windows NT.

W świecie istnieje ponad 100 różnych wersji Unixa, poczynając od znaczącej wersji Berkeley Software Distribution (BSD), AT&T SVR3.2 (System V Release 3.2), AT&T SVR4.x, Mach i OSF/1. Większość z tych systemów nie jest ani źródłowo, ani binarnie zgodna z innymi wersjami; na dodatek, niektóre z nich działają jedynie na sprzęcie określonych producentów (na przykład BOS ţ Bull Operating System dla komputerów firmy Bull). Wszystko to powoduje, że Unix mimo, iż jest propagowany jako otwarty system operacyjny, nie zyskał poparcia wśród użytkowników komputerów osobistych. Poparcia choćby w znikomej części porównywalnego z popularnością środowiska Windows 3.x. Co gorsze, wielu użytkowników komputerów zaczyna wątpić w jego przyszłość, czy jest on istotnie systemem otwartym, jaki będzie kierunek jego rozwoju i czy w niedalekiej przyszłości nie stanie się czymś w rodzaju supersieci Novell? Wątpliwości są tym bardziej uzasadnione, że ten główny producent sieciowych systemów operacyjnych zakupił ostatnio Unix System Laboratories, ostatni "bastion" niekomercyjnego Unixa. Tak więc można oczekiwać, że w niedalekiej przyszłości pojawi się system operacyjny Novell System V, być może nie mający żadnego związku z oryginalnym Unixem. Czyżby oznaczało to śmierć Unixa?

Trochę historii

Wprawdzie w CW zamieściliśmy już artykuł na temat historii rozwoju Unixa, ale sądzę, że nie zaszkodzi krótkie jej przypomnienie. Korzenie systemu Unix dają się dość dokładnie usytuować w czasie i przestrzeni, co jest rzadkością w historii informatyki. W 1969 r. dwaj pracownicy Bell Systems Laboratories w celu ukończenia gry o nazwie Space Travel zmuszeni byli opracować system operacyjny na kompletnie nieoprogramowaną maszynę DEC PDP-7. Projekt rozrósł się na tyle, że w 1973 r. powstała pierwsza przenośna, bo napisana prawie w całości w języku wysokiego poziomu, to jest w C, wersja nowego systemu.

W latach 70. kolejne wersje tego systemu były rozprowadzane nieodpłatnie, głównie do instytucji naukowych. Uniwersytet Kalifornijski w Berkeley wykonał na tyle znaczną pracę w usprawnieniu systemu, że zaczął niezależną dystrybucję wersji zwanej BSD. Z tych dwóch głównych źródeł powstało wiele różnorodnych wersji systemu, przeznaczonych na duże komputery, minikomputery i komputery osobiste. Wkrótce pojawiła się ogromna różnorodność systemów określanych mianem Unix, chociaż coraz częściej mają one coraz mniej wspólnego ze sobą.

Próby standaryzacji

Nie będziemy pokazywać wszystkich prób standaryzacji systemu Unix, podejmowanych przez różne organizacje handlowe, międzynarodowe czy rządowe. Należy jednak wspomnieć o jednej z bardziej udanych prób stworzenia jednolitej wersji systemów komputerowych, podjętej przez X/Open, mającej na celu ułatwienie przenoszenia aplikacji między różnymi systemami operacyjnymi (czyli stworzenia tak zwanego systemu otwartego). Organizacja ta opracowała zestaw standardów przenośności X/Open Portability Guide (zwanych w skrócie XPG). Ostatnia wersja nosi oznaczenie XPG4 i definiuje różne aspekty korzystania z systemu komputerowego, od funkcji systemowych do protokołów komunikacyjnych.

Podobnie, podjęta przez rząd Stanów Zjednoczonych próba zdefiniowania standardów przenośności doprowadziła do opracowania norm POSIX, określających interfejs (napisany w języku C) między aplikacjami a systemem operacyjnym. Nigdzie jednak nie zostało powiedziane, że tym systemem ma być Unix.

Sun Microsystems opracował zestaw usług NFS (Network File System) dotyczących korzystania z zasobów sieciowych systemu komputerowego i włączył go do swych systemów operacyjnych. Istnieje coraz powszechniejsze wsparcie NFS przez producentów oprogramowania sieciowego, co spowodowało, że NFS stał się nieformalnym standardem komunikacyjnym.

Windows NT

Nie wyczerpawszy wszystkich tematów, dotyczących Unixa, przejdziemy do jego głównego konkurenta, to jest nie istniejącego jeszcze systemu Windows NT. Firma Microsoft uważa go za system operacyjny równie otwarty, jak jego główni konkurenci, jeśli nie bardziej. Ponieważ twórcą systemu jest tylko jedna firma, to nie istnieje(przynajmniej na razie) problem rozprzestrzeniania się różnych wersji, nawet jeśli działają na różnych procesorach. Obecnie Windows NT działa (przynajmniej w wersji beta) na procesorach Intela, MIPS R4x00 i DEC Alpha. Każda jego wersja zapewnia nie tylko przenośność kodu źródłowego, ale także częściową przenośność kodu binarnego, gdyż istnieją już emulatory wersji intelowskiej na pozostałych procesorach.

W Windows NT wbudowano wsparcie wielu wspomnianych wyżej standardów: POSIX.1, NFS dla procesorów Intela (opracowywany wspólnie przez SunSelect i Microsoft), protokołów komunikacyjnych TCP/IP i NETBIOS. W Windows NT wykorzystano także wiele rozwiązań z innych systemów operacyjnych, w celu uzyskania zgodności z normami międzynarodowymi.

Wiele firm wspierających do tej pory różne formalne lub nieformalne standardy programowe przenosi je do środowiska NT. Przykładowo, firma DEC aktywnie popierająca X Windows, opracowała już ich wersję działającą z NT.

Główni rywale Microsoft usiłują przekonać potencjalnych klientów, że Windows NT jest systemem zamkniętym. Ponieważ jednak termin "system otwarty" jest co najmniej niejednoznaczny, to zapewne żadna ze stron sporu nie będzie miała dosyć poważnych argumentów na poparcie swej tezy.

Porównanie Unixa i Windows NT

System operacyjny Windows NT ma potężne możliwości i wiele zaawansowanych cech, łączonych zwykle z możliwościami systemów typu Unix. W połączeniu z zaletami środowiska Windows nadaje mu to jednolite właściwości użytkowe, przenośność oprogramowania między różnymi platformami i istnienie ogromnej liczby dostępnych z półki, tanich aplikacji. Windows NT jest nowoczesnym 32-bitowym systemem operacyjnym. Zawiera najlepsze cechy systemów ze stacji roboczych i minikomputerów.

1. Zaawansowana wielozadaniowość. Oparta jest na aktywnym wywłaszczaniu zadań (preemptive multitasking), pracy wielowątkowej (multithreads) i asynchronicznym modelu obsługi wejść/wyjść. NT ma mechanizmy pozwalające na podział programu na części zwane wątkami, a następnie równoległe ich wykonywanie.

2. System solidny i bezpieczny. Pojęcie solidności (robustness) systemu wiąże się z ochroną aplikacji i samego systemu przed zniszczeniem przez inne działające aplikacje. I taki właśnie jest system Windows NT. Bezpieczeństwo jest związane z ochroną zasobów przez system haseł i kontrolę autentyczności użytkownika. Są to właściwości zbliżone do większości handlowych wersji Unixa, chociaż Windows NT zapewnia wyższy poziom ochrony zasobów.

3. Rozszerzalność. Przez dodanie sterowników urządzeń i protokołów możliwe jest poszerzenie cech funkcjonalnych systemu na żądanie, bez potrzeby startowania go na nowo. Modułowa struktura podsystemów chronionych pozwala na swobodne rozszerzanie ich możliwości. Na ogół nie jest to możliwe w żadnej wersji Unixa.

4. Symetryczna wieloprocesorowość. Tylko nieliczne wersje Unixa wspomagają użycie systemów wieloprocesorowych, a bardzo rzadko dają możliwości pełnego wykorzystania mocy obliczeniowej wszystkich procesorów. W Windows NT moc obliczeniowa każdego z procesorów może być użyta do przetwarzania różnych wątków programu. Wszystkie procesory są równorzędne, co jest szczególnie istotne np. w serwerach SQL baz danych. Pojedynczy procesor może obsługiwać pojedynczego klienta w modelu klient/serwer.

5. Zaawansowane możliwości obsługi sieci komputerowych. W Windows NT przewidziano możliwości zdalnego konfigurowania i zarządzania sieciami lokalnymi, zgodnie ze standardem SNMP (Simple Network Management Protocol) i zdalnego instalowania oprogramowania. W przyszłości, po pojawieniu się standardu zdalnego, obiektowego zarządzania aplikacjami rozproszonymi DME (Distributed Management Environment), przewiduje się opracowanie do niego API.

Wspólna platforma Unixowa

W celu przeciwdziałania monopolizacji rynku systemów operacyjnych przez system Windows NT i inne wersje Windows, najwięksi producenci sprzętu i oprogramowania ogłosili 17 marca br. inicjatywę stworzenia jednolitego, otwartego środowiska programowego COSE (Common Open Software Environment). Upraszczając, można tę inicjatywę określić, jako próbę stworzenia "Desktop Unixa".

Firmy przewidują przygotowanie specyfikacji wspólnego, jednolitego środowiska komputerowego CDE (Common Desktop Environment), prezentującego użytkownikom spójny wygląd i sposób posługiwania się, niezależnie od sprzętu, na którym program działa.

Środowisko posługiwać się będzie zestawem funkcji graficznych opartych na zestawie bibliotek, opracowanych przez X Consortium. Twórcy porozumienia przewidują także opracowanie wspólnej specyfikacji multimedialnej dla Interactive Multimedia Association w celu ujednolicenia tej ważnej dziedziny zastosowań współczesnych komputerów.

W dziedzinie właściwości sieciowych uczestnicy porozumienia przewidują korzystanie z funkcji DME (Distributed Management Environment) i włączenie najlepszych cech modeli klient/serwer z ich produktów.

Unix czy Windows NT?

Można śmiało założyć, że dla Windows NT (mimo, że samego systemu jeszcze nie ma), istnieje już wiele tanich aplikacji, działających na Windows 3.1. Dostępne są również narzędzia programowe (SDK Win32 i Win32s) przydatne zarówno do pisania aplikacji dla Windows 3.1, jak i przysszłego Windows NT.

Dodatkową zaletą NT jest wygodne w użyciu i powszechnie znane środowisko graficzne, ułatwiające migrację aplikacji z ograniczonych wersji 16-bitowych, do w pełni profesjonalnych wersji 32-bitowych NT.

Atutem Unixa jest duża baza istniejących "poważnych" aplikacji, zwłaszcza w dziedzinie baz danych, , przetwarzania sygnałów mowy, i in. Jest mało prawdopodobne, aby niektóre z tych aplikacji dały się łatwo przenieść do środowiska NT. Tak więc jeszcze długo pewne dziedziny będą wyłączną domeną systemu Unix. Nie ulega jednak wątpliwości, że są to raczej izolowane wyspy, niż powszechnie dostępna informatyka, której rozwój jest związany z komputerami PC.

Sądzę, że już dziś można powiedzieć, że zarówno Unix jak Windows NT muszą jeszcze długie lata koegzystować. Nie ulega jednak wątpliwości, że jeśli Unix nie stanie się systemem bardziej przyjaznym użytkownikowi, to musi przegrać rywalizację. Stąd zapewne obawa jego głównych zwolenników i próby stworzenia wspomnianego wyżej desktop Unixa.


TOP 200