32 bity - koniec czy początek drogi?

Pojawienie się nowych 32-bitowych systemów operacyjnych (Windows NT, OS/2 2.1, Solaris, NextStep) dla procesorów intelowskich stanowi ważny krok w rozwoju systemów do zastosowań profesjonalnych. Spróbujmy odpowiedzieć na pytanie, dlaczego te systemy są takie ważne.

Pojawienie się nowych 32-bitowych systemów operacyjnych (Windows NT, OS/2 2.1, Solaris, NextStep) dla procesorów intelowskich stanowi ważny krok w rozwoju systemów do zastosowań profesjonalnych. Spróbujmy odpowiedzieć na pytanie, dlaczego te systemy są takie ważne.

Nowe systemy operacyjne są programami 32-bitowymi, korzystającymi w pełni z możliwości procesorów intelowskich 386 i lepszych. Mówi się o nich nawet "prawdziwe 32-bitowe systemy operacyjne". Najczęściej terminu tego używa się przy okazji pojawienia się systemu Windows NT. Można by sądzić, że wszystkie marzenia zawodowych informatyków nareszcie zostały zrealizowane. (Bo zwykli użytkownicy komputerów jeszcze długo nie będą odczuwali ani potrzeby ani nie będą mieli możliwości korzystania z nich na co dzień.) Powstaje więc pytanie: "Dlaczego system 32-bitowy jest taki ważny?" I następne pytanie, czy istotnie jest to już granica możliwości współczesnej techniki obliczeniowej?

Zapomina się często, że 32-bitowe systemy operacyjne znane są już od dłuższego czasu, gdyż są nimi np. systemy OS/2 2.1, NextStep, Solaris 2.x, SCO Unix, UnixWare czy IBM AIX dla procesorów Motoroli, SPARC, MIPS RISC R4000, IBM RISC Power i Intel. Ponadto sieciowe systemy operacyjne - Novell NetWare - także są 32-bitowe.

Co to właściwie znaczy 32 bity?

Fakt, że system operacyjny jest 32-bitowy jeszcze nic nie znaczy sam w sobie. Przy okazji promowania swoich systemów niektóre firmy używają dość ryzykownej analogii, że system 32-bitowy to jak samochód z 16 zaworami. Czy przeciętny użytkownik samochodu wie co to znaczy i co z tego dla niego wynika? Jest to raczej właściwość wewnętrzna, nie mająca -przynajmniej na pierwszy rzut oka - żadnego znaczenia użytkowego. W rzeczywistości jednak fakt, że system operacyjny jest 32-bitowy ma istotne znaczenie nawet dla zwykłego użytkownika komputera.

Jednym z zasadniczych atutów systemu 32-bitowego jest większa przestrzeń adresowa. System 16-bitowy, taki jak DOS, nie jest w stanie adresować więcej niż 64 kB pamięci. Aby ominąć to ograniczenie wymyślono pojęcie segmentu, dającego adres 20-bitowy, co pozwala zaadresować do 1 MB pamięci. Poza tym przedziałem jedynie sztuczki programowe, takie jak sterowniki EMS i XMS, dawały szanse wykorzystania większej pamięci.

System 32-bitowy jest w stanie adresować do 4 GB pamięci. Tak więc aplikacje, przetwarzające wielkie obiekty, takie jak obrazy, duże bazy danych, multimedia czy CAD, są w stanie bezpośrednio korzystać z zasobów komputera. Z punktu widzenia programisty, zyskiem z "32-bitowości" jest bezpośrednie adresowanie pamięci, bez wyliczania adresu przy użyciu rejestrów segmentów. Aplikacje mogą działać szybciej. Oczywiście, szybciej pod warunkiem, że są dobrze napisane. Jeżeli w programie korzysta się z dużej liczby obliczeń 32-bitowych, to zysk jest tym większy. Przykładami takich programów są aplikacje graficzne, programy do obliczeń inżynierskich i naukowych.

Jakie zyski dla użytkownika?

Użytkownicy nie przejdą na system 32-bitowy tylko dlatego, że jest on 32-bitowy. Uczynią to dopiero wtedy, gdy zauważą jego istotne zalety. Systemy takie są bardziej stabilne. Właściwość ta wynika z dwóch cech współczesnych systemów operacyjnych: wielozadaniowości wywłaszczeniowej i wielowątkowości. Nie są one związane z samym faktem, że system jest 32-bitowy, ale można je zrealizować dopiero w takim systemie.

W systemach 16-bitowych można zrealizować tylko wielozadaniowość kooperacyjną: jeżeli jakaś aplikacja pracuje, to może jedynie dobrowolnie oddać zasoby komputera do innej aplikacji. Możliwe jest więc całkowite zablokowanie komputera przez źle zaprojektowany program; w efekcie trzeba będzie uruchomić system na nowo, tracąc wszystko to co inne aplikacje przetwarzały.

Wielozadaniowość w systemach 32-bitowych jest wywłaszczeniowa (pre-emptive): system operacyjny wymusza przekazanie zasobów komputera do innych aplikacji, po upływie zadanego czasu. Na dodatek, każda aplikacja jest kompletnie odizolowana od pozostałych: jeśli nawet zablokuje się, czy uszkodzi zawartość własnego obszaru pamięci, to nie wpłynie w żaden sposób na inne programy.

Wielowątkowość zaś polega na takim rozdzieleniu przetwarzania wewnątrz jednej aplikacji, że wątki wykonują się jednocześnie. Na przykład program arkusza obliczeniowego może jednocześnie drukować dokument, przeliczać arkusz i przeszukiwać zawartość plików.

Dla kogo systemy 32-bitowe?

Właściwe wykorzystanie zalet 32-bitowych systemów operacyjnych jest możliwe jedynie w dużych sieciach, gdzie wiele operacji wykonywanych jest jednocześnie, a odizolowanie użytkowników i programów jest warunkiem sine qua non ich poprawnego działania. Takie cele stawiali sobie zresztą już od lat producenci systemów Unix.

Powolne wymieranie dużych komputerów i związana z tym tendencja przechodzenia na systemy sieciowe (downsizing, rightsizing) oraz opracowywanie aplikacji typu klient/serwer, zastępujących dawne specjalistyczne programy, powoduje zwiększone zainteresowanie systemami 32-bitowymi. Obsługują one dobrze serwer, czyli tę część systemu komputerowego, która zajmuje się podawaniem danych dla stacji roboczych (klientów) w dziedzinie baz danych, obsługi protokółów komunikacyjnych czy sieci. Wielozadaniowość i wielowątkowość są absolutnie niezbędne do efektywnej, jednoczesnej obsługi wielu zapytań i intensywnego przetwarzania danych.

System na stole

Właściwie dla każdego użytkownika komputera ważniejsza jest dostępność programów użytkowych i wygoda użytkowania, niż wewnętrzne właściwości systemu. Tutaj znaczącą przewagę ma system Windows NT, wykorzystujący znany interfejs użytkowy Windows. Natomiast na razie liczba 32-bitowych aplikacji do niego nie jest duża, chociaż podstawowe programy (Excel, Word dla Windows, WordPerfect, Lotus Notes) zostały już przeniesione na wersję 32-bitową. Ponadto, ogromna liczba programów 16-bitowych działa bez żadnych zmian w Windows NT, co jest jego poważnym atutem. Obecnie liczba aplikacji dla OS/2 2.1 jest równie duża, działają pod nim wszystkie 16-bitowe programy z Windows 3.1, a nowe wykorzystują już cechy 32-bitowe.

Co dla twórców oprogramowania?

Wymagania sprzętowe systemów 32-bitowych są znacznie większe niż systemów 16-bitowych. Dotyczy to w jeszcze większej mierze sprzętu dla programisty. Sensowne minimum to komputer z szybkim procesorem 386DX, 486 lub Pentium, 16 MB pamięci i dysk 340 MB lub większy.

Opracowanie aplikacji dla systemów 32-bitowych będzie tym łatwiejsze im więcej wygodnych narzędzi pojawi się w sprzedaży. Już obecnie dostępne są ogromne programy do wizualnego przygotowania interfejsu użytkowego w nowych programach (32-bitowy Visual C++ dla Windows NT, zestaw PARTS firmy Digitalk dla OS/2 i in.). Nie zwalnia to niestety programisty od konieczności korzystania z ogromnej dokumentacji technicznej systemu operacyjnego i funkcji API, ale znacznie upraszcza pracę. Ponadto, kod 32-bitowy jest prostszy od kodu 16-bitowego, gdyż nie ma już potrzeby pamiętać o zawartości rejestrów segmentów, można korzystać z ciągłej przestrzeni adresowej, alokować dowolny rozmiar pamięci itp. W efekcie uzyskuje się większą szybkość programu.

Czy mają przyszłość systemy 64-bitowe?

Można by sądzić, że procesor 32-bitowy adresujący do 4 GB pamięci wystarczy w zupełności do wszystkich potrzeb. Należy oczywiście myśleć o zwiększaniu jego szybkości i tak postępują producenci, obiecując - już w momencie pojawienia się nowych procesorów - kolejny "upgrade".

Obecnie tylko dwóch producentów dostarcza procesory w pełni 64-bitowe. Są to MIPS Computer Systems (procesor R4000) i DEC (procesor Alpha AXP). Procesor Pentium jest wewnętrznie 64-bitowy, natomiast jego interfejs zewnętrzny jest 32-bitowy. Jeśli chodzi o systemy operacyjne, wykorzystujące możliwości procesorów 64-bitowych, dostępny jest jedynie unixopodobny OSF/1 firmy DEC.

Istnieje spora grupa użytkowników, dla których szansa korzystania ze względnie tanich komputerów 64-bitowych stwarza możliwość sukcesu zawodowego. Należą do nich naukowcy zajmujący się badaniami kosmicznymi, meteorologią, modelowaniem procesów fizycznych i zachodzących w żywym organizmie, obliczeń inżynierskich, a także twórcy realistycznych animacji i grafiki dla potrzeb przemysłu rozrywkowego.

Wydaje się więc, że jeśli nawet systemy 32-bitowe wystarczą dla potrzeb większości użytkowników jeszcze przez wiele lat, to przejście na systemy potężniejsze jest nieuchronne. Jedna "zabójcza" aplikacja spowoduje, że każdy zechce mieć system 64-bitowy.


TOP 200