W sercu komputera
- Przemysław Gamdzyk,
- 14.02.2000
Zmienia się rola systemów operacyjnych. Najważniejsze staje się nie to, jaki system funkcjonuje na pojedynczym komputerze, ale jakie zastosowano rozwiązania kontroli komunikacji między komputerami a urządzeniami znajdującymi się w sieciach rozległych i Internecie.
Zmienia się rola systemów operacyjnych. Najważniejsze staje się nie to, jaki system funkcjonuje na pojedynczym komputerze, ale jakie zastosowano rozwiązania kontroli komunikacji między komputerami a urządzeniami znajdującymi się w sieciach rozległych i Internecie.
Systemy operacyjne były jedną z najważniejszych dziedzin informatyki w pionierskich czasach jej rozwoju. Historia tych systemów liczy już kilkadziesiąt lat. Nadal, podobnie jak przed laty, pozostają koniecznym elementem potrzebnym do działania aplikacji. Wiele wskazuje jednak, że w niedalekiej przyszłości nie będzie to główna ich funkcja.
Kto ma OS, ten ma władzę
Tradycyjny system operacyjny jest programem, który jako warstwa pośrednia znajduje się między sprzętem a aplikacjami. Dlatego jego wewnętrzna struktura i działanie mają ogromny wpływ nie tylko na wydajność całego systemu komputerowego, ale wręcz decydują, jakie aplikacje można uruchomić na danym komputerze.
Systemy wykorzystywane do zarządzania aplikacjami nie będą aż tak istotne, jak rozwiązania potrzebne do zarządzania wymianą informacji (rozmów, faksów, listów elektronicznych, danych multimedialnych). Dotychczas ogromną władzę nad rynkiem informatycznym zyskiwał ten producent oprogramowania, który zdołał wylansować własny system operacyjny jako obowiązujący standard. Obecnie władza może przejść w ręce tych, którzy zdołają przekonać do używania ich systemów operacyjnych przyszłości, którymi będą rozproszone systemy zarządzania komunikacją w sieciach rozległych. W sieciach mają znajdować się zarówno komputery, jak i inne urządzenia. Będą one komunikować się ze sobą w dużej mierze przez sieci bezprzewodowe, coraz ważniejsze medium dostępu do sieci komputerowych. Obsługa sieci, która w pewnym momencie pojawiła się jako dodatkowy element w systemach operacyjnych, staje się zatem coraz ważniejsza.
W tym kontekście kryterium kwalifikacji, czym jest system operacyjny, ulega istotnemu rozmyciu. "Dawniej systemy operacyjne były dziedziną łatwą do wydzielenia. Dzisiaj jest już to niemożliwe, prace badawcze prowadzone są jedynie w wycinkowych obszarach" - uważa prof. Zbigniew Huzar z Wydziału Informatyki i Zarządzania Politechniki Wrocławskiej.
Analitycy rynkowi takich firm, jak Gartner Group, przewidują, że wielką rolę odegrają rozproszone systemy operacyjne, np. Jini Sun Microsystems. Jednak dzisiaj są to rozwiązania niedojrzałe. "Jest to na pewno obszar, który stwarza szerokie perspektywy dalszych badań naukowych" - mówi prof. Krzysztof Zieliński z Akademii Górniczo-Hutniczej w Krakowie.
Jeden dla wszystkich
Nadal będą rozwijane klasyczne systemy, działające na pojedynczych komputerach czy urządzeniach, lecz wątpliwe, by udało się stworzyć system skalowalny, który mógłby działać na wszystkich - począwszy od wydajnych serwerów, skończywszy na urządzeniach naręcznych. "Jeden system to marzenie producentów, którym wystarczyłoby wówczas tworzenie jednej wersji oprogramowania. Użytkownikowi jest natomiast wszystko jedno, byleby potrzebne urządzenie działało" - uważa Krzysztof Nałęcki, dyrektor Centrum Komputerowego Politechniki Śląskiej.
Odbywa się coraz dalej idąca standaryzacja interfejsu użytkownika. Następuje zmiana relacji między aplikacją a interfejsem. Aplikacja znajduje się na jednym komputerze, interfejs graficzny - na innym, przy czym wygląd interfejsu jest uzależniony od możliwości urządzenia (system jest u nadawcy, prezentacja - u użytkownika). "Coraz powszechniejsze będzie wykorzystanie idei przeglądarki jako sekwencyjnego uniwersalnego Çokna na światČ, gdzie zawsze jest możliwość ruchu naprzód lub wstecz" - mówi dr Marcin Sikorski z Politechniki Gdańskiej.
Systemy uczonych
Miejscem, w którym funkcjonują różnorodne systemy operacyjne, są urządzenia wbudowane (embedded systems). W przeciwieństwie do dużych znanych systemów operacyjnych są to rozwiązania charakteryzujące się wysoką niezawodnością. Rozbudowa złożoności klasycznych systemów operacyjnych na ogół nie szła w parze z poprawą ich wydajności. W efekcie nadal pozostał obszar do usprawniania efektywności tych systemów.
W kilkudziesięciu uczelniach wyższych, głównie w USA, gdzie istnieją duże wydziały informatyki, prowadzone są prace nad rozwojem technologii potrzebnych do budowy systemów operacyjnych. Najbardziej innowacyjne i najważniejsze badania w tej dziedzinie prowadzone są na Massachusetts Institute of Technology. Opracowano tam koncepcję tzw. exokernela, polegającą na zerwaniu z przyjętym do tej pory założeniem potrzeby tworzenia w systemie operacyjnym kolejnych klas abstrakcji skutecznie izolujących aplikację od fizycznego sprzętu. W systemach powstałych na bazie koncepcji exokernela warstwa pośrednia została zredukowana do uproszczonych prymitywnych odwołań do zasobów sprzętowych, które są wykorzystywane przez aplikacje. Aplikacje korzystają z "bibliotek systemu operacyjnego", dzięki czemu w pewnym sensie każda aplikacja dysponuje własnym systemem operacyjnym wyższego poziomu. Autorzy tego rozwiązania twierdzą, że dzięki temu można uzyskać nawet 10-krotny wzrost wydajności aplikacji.
U nas nie ma mądrych
"Ta tematyka tak jakby ostatnio obumarła w Polsce" - przyznaje prof. Zdzisław Szyjewski, prezes Polskiego Towarzystwa Informatycznego, zapytany o prowadzone w Polsce badania naukowe nad systemami operacyjnymi. Naukowcy, którzy zostali wskazani nam przez Komitet Badań Naukowych, jako osoby, które mogłyby prowadzić badania w tym zakresie, twierdzą, że już kilka lat temu przestali zajmować się tą dziedziną. "Systemy operacyjne to dziedzina w dużej mierze naukowo już domknięta" - mówi prof. Krzysztof Zieliński. Inni z kolei twierdzą, że jest ona co najwyżej "średnio naukowa".
"Teoria systemów operacyjnych jest w pewnym sensie czysta i chyba nie warto się nią zajmować. Ważniejsze problemy dzisiaj stanowią zagadnienia efektywnej administracji systemami informatycznymi przy lawinowym tempie wzrostu ich liczby i złożoności" - uważa Krzysztof Nałęcki.
--------------------------------------------------------------------------------
Nie tylko Windows
Informacje o mniej znanych systemach operacyjnych można znaleźć w Internecie pod adresami:
http://dir.yahoo.com/Computers_and_Internet/Software/Operating_systems
http://www.500mhz.net/ndx.html
orazhttp://www.cs.arizona.edu/people/bridges/oses.html.
Wiele z tych systemów to jedynie prace projektowe, które nigdy nie osiągnęły etapu gotowego produktu. Serwis informacyjny poświęcony systemom z obszaru Open Source jest dostępny pod adresemhttp://www.beopen.com.
Aegis
http://www.pdos.lcs.mit.edu/exo.html
System opracowany na wydziale systemów operacyjnych MIT. Oparty na technologii exokernel.
Amoeba
http://www.cs.vu.nl/pub/amoeba
Za pomocą tego systemu można przekształcić zestaw stacji roboczych w system rozproszony. Od pięciu lat system ten jest wykorzystywany nie tylko w instytucjach akademickich.
BeOS
Alternatywny system operacyjny stworzony do obsługi zastosowań mediów cyfrowych na zwykłej platformie PC. Zwiększanie liczby procesorów prowadzi do liniowego wzrostu wydajności systemu. Aplikacje działają we własnych przestrzeniach adresowych, awaria jednej nie ma więc wpływu na pracę drugiej. BeOS zapewnia pełną obsługę Internetu.
ChorusOS
System ChorusOS jest alternatywą dla mikrojądra Mach. Jako system czasu rzeczywistego służy do obsługi urządzeń telekomunikacyjnych. Technologia należy obecnie do firmy Sun (będąc uzupełnieniem możliwości Solarisa).
eCos
http://sourceware.cygnus.com/ecos
Wbudowany system operacyjny, o dużych możliwościach konfiguracyjnych, rozpowszechniany na zasadach Open Source. Przeznaczony do obsługi programów w urządzeniach elektroniki konsumenckiej, telekomunikacji, motoryzacji i in. System opracowała firma Red Hat przy współpracy producentów mikroprocesorów. Jest on zintegrowany z narzędziami GNUPro.
EROS
Extremely Reliable OS (EROS) to mały, bezpieczny system czasu rzeczywistego, który charakteryzuje się tym, że we wskazanych odstępach czasu zachowuje kopie wszystkich działań podjętych przez użytkownika.
Freedows
Freedows to system operacyjny tworzony przez wielu programistów z całego świata. Będzie umożliwiał emulację różnych systemów operacyjnych, w tym MS Windows, Linuxa czy Mac OS.
HURD
http://www.gnu.org/software/hurd/hurd.html
Projekt GNU mający na celu wymianę jądra unixowego. W efekcie ma powstać zbiór serwerów funkcjonujących na bazie mikrojądra Mach.
JavaOS
Zaprojektowany przez Sunsoft jako odrębny system operacyjny. Przeznaczony głównie na rynek systemów wbudowanych. System integruje technologie PersonalJava oraz jądro ChorusOS i oprogramowanie innych firm.
JOS
JOS to bezpłatny system operacyjny, oparty na języku Java, którego możliwości mogą być dynamicznie rozbudowywane podczas wykonywania aplikacji.
Minix
http://www.cs.vu.nl/~ast/minix.html
Klon systemu Unix z dostępnym bezpłatnie kodem źródłowym.
Nemesis
http://www.cl.cam.ac.uk/Research/SRG/netos/nemesis
Projekt naukowy budowy całkowicie nowego systemu, mającego umożliwiać optymalne funkcjonowanie aplikacji zależnych od czasu, które powinny udostępniać obsługę różnych poziomów jakości (QoS) - np. przy transmisjach multimedialnych. System umożliwia skwantyfikowany i gwarantowany dostęp do wszystkich zasobów (od czasu procesora po przepustowość pasma sieci).
OS-9
Produkt firmy Microware jest systemem czasu rzeczywistego, przeznaczonym do sterowania pracą mikroprocesorów w urządzeniach wbudowanych.
Projekt NOW
Network of Workstations (NOW) to projekt realizowany na wydziale Computer Science Uniwersytetu w Berkeley. Celem projektu jest łączenie mocy obliczeniowych klastrów serwerów powiązanych szybkimi łączami.
Projekt Opal
http://www.cs.washington.edu/homes/levy/opal
Celem projektu Opal, realizowanego w Uniwersytecie w Waszyngtonie, jest poszukiwanie nowej struktury systemu operacyjnego dostosowanej do wymogów złożonych aplikacji np. CAD/CAM, gdzie pewna liczba współpracujących ze sobą aplikacji korzysta ze wspólnej bazy obiektów.
QNX
System operacyjny czasu rzeczywistego - wyjątkowo zwarty, skalowalny, rozszerzalny i szybki. Stosowany w symulatorach.
Scout
http://www.cs.arizona.edu/scout
System opracowany w Uniwersytecie w Arizonie, przeznaczony dla komputerów sieciowych. Zbudowany wg koncepcji abstrakcyjnej ścieżki dostępu w sieci do właściwego systemu operacyjnego. Ścieżka ta określa konfigurację danego urządzenia sieciowego. Funkcje tego systemu mogą być rozbudowywane przez zastosowanie specjalnego języka programowania.
SPIN
http://www.cs.washington.edu/research/projects/spin/www
System operacyjny opracowany w Uniwersytecie w Waszyngtonie, który zaciera różnicę pomiędzy jądrem a aplikacją poprzez automatyczną konsolidację (link editing of) kodu.
The Choices
http://choices.cs.uiuc.edu/choices
System w pełni obiektowy, napisany w C++. Jego architektura jest oparta na hierarchii obiektów.
V2 OS
System opracowany przez International Lab for the Unstable Media w Rotterdamie, tworzony z jedną myślą: musi być najszybszy.
(oprac. raj)