Informatyka dla gimnazjum/Typy systemów operacyjnych

Systemów operacyjnych jest naprawdę dużo. Można je podzielić wg budowy, filozofii, zastosowań.

Na początek, wyobraźmy sobie jakiś program zapisany na dysku. Jest to pojedynczy plik. Jeśli uruchomimy go kilka razy, to w pamięci operacyjnej będziemy mieli kilka działających kopii tego programu, tzw. procesów. Procesem nazywamy więc każdy egzemplarz programu działający w pamięci.

Dawno, dawno temu popularne (oczywiście jak na tamte czasy!) były systemy jednoprocesowe/dostępowe. Były one niezmiernie proste (a co za tym idzie szybkie), ale pozwalały na wykonywanie jednocześnie tylko jednego programu. Nie można było jednocześnie czytać poczty i przeglądać strony WWW.

Z czasem zostały wyparte niemal całkowicie przez systemy wieloprocesowe. Takimi są systemy z rodziny UNIX (w tym Linux, Free-, Net- i OpenBSD), Windows, MacOS, AmigaOS i wiele innych.

DLA ZAINTERESOWANYCH:
Także w pewnym sensie DOS jest systemem wieloprocesowym, jednak ten - chociaż dopuszcza kilka procesów w pamięci - wykonuje tylko jeden (inne "śpią").

Systemem wieloprocesowym nie jest jednak stary system CP/M. Upraszczało to w znaczącym stopniu jego budowę i czyniło go bardzo szybkim.

Kolejną cechą systemu operacyjnego jest jego wielodostępowość, tj. możliwość pracy wielu użytkowników jednocześnie (czyli od razu musi być wieloprocesowy) i/lub rozróżnianie określonych uprawnień różnych użytkowników. Takim systemem nie jest Windows 9x - nie dość, że pracować przy komputerze może tylko jeden użytkownik, to jeszcze ten jedyny użytkownik ma nieograniczone możliwości dostępu, a więc może usunąć pliki systemowe i nikt mu w tym nie przeszkodzi. Nie jest to możliwe np.: w Linuksie, gdzie pracując na zwykłym koncie użytkownika, możemy zniszczyć dane tylko w swoim prywatnym katalogu, ale gdy zabierzemy się za pliki systemowe system nie dopuści do niczego, na co nie pozwalają nasze uprawnienia. Na Linuksie może też pracować kilka osób jednocześnie. Tak samo w Windowsie 2000 i nowszych (xp, Vista, 7), gdzie istnieją konta użytkowników, a każdy ma inne uprawnienia. Dziwicie się pewnie, jak można pracować na jednym komputerze w kilka osób. Nie chodzi tu bynajmniej o podłączenie kilku klawiatur i monitorów do jednej jednostki centralnej. Mówiąc o pracy kilku użytkowników chodzi raczej o sytuację, w której wykonuje (oblicza) się procesy należące do różnych użytkowników, co niekoniecznie musi oznaczać wyświetlanie ich wyników.

DLA ZAINTERESOWANYCH:
Jeśli spotkaliście takie nazwy jak NX, Citrix, rdesktop, X-serwer to najprawdopodobniej mieliście do czynienia właśnie z pracą na silniejszym komputerze za pośrednictwem słabszego lub wyspecjalizowanego komputera nazywanego terminalem graficznym.

Posłużmy się przykładem. Taki układ działa często w kafejkach internetowych. Wiele z nich posiada jeden duży serwer oraz kilkanaście terminali na stanowiskach. Klient kafejki pracując na stanowisku tak naprawdę uruchamia programy na serwerze (dużej i potężnej maszynie), a na swojej maszynce ogląda tylko wyniki i wprowadza dane. Dzięki temu terminal może być słabą i wolną maszyną odpowiedzialną za wyświetlanie danych i przyjmowanie naszych poleceń. Byc może i w Waszej szkole istnieje jeden szybki komputer terminal-serwer, który udostenia swoje zasoby do pracy dla terminali graficznych. W takim przypadku program wykonuje się w rzeczywistości na tym silnym komputerze dając nam wrażenie pracy na szybszej maszynie, podczas gdy w rzeczywistości dane wprowadzamy poprzez klawiaturę, a odbieramy na monitorze słabszego komputera.

Podobny układ pracy możemy zaobserwować w laboratoriach wykonujących skomplikowane obliczenia. Znajduje się tam przeważnie duża maszyna obliczeniowa, a wyniki naukowcy oglądają na terminalach, których funkcję mogą pełnić zwykłe pecety.