Systemy operacyjne istnieją od pierwszej generacji komputerów i z czasem ewoluują. W tym rozdziale omówimy niektóre z ważnych typów systemów operacyjnych, które są najczęściej używane.
System operacyjny wsadowy
Użytkownicy wsadowego systemu operacyjnego nie wchodzą w bezpośrednią interakcję z komputerem. Każdy użytkownik przygotowuje swoje zadanie na urządzeniu off-line, takim jak karty dziurkowane, i przekazuje je operatorowi komputera. Aby przyspieszyć przetwarzanie, zadania o podobnych potrzebach są łączone w partie i uruchamiane jako grupa. Programiści pozostawiają swoje programy u operatora, a operator następnie sortuje programy o podobnych wymaganiach w partie.
Problemy z systemami wsadowymi są następujące –
- Brak interakcji między użytkownikiem a zadaniem.
- CPU jest często bezczynny, ponieważ szybkość mechanicznych urządzeń wejścia/wyjścia jest wolniejsza niż CPU.
- Trudno zapewnić pożądany priorytet.
Systemy operacyjne z podziałem czasu
Współdzielenie czasu jest techniką, która umożliwia wielu osobom, znajdującym się na różnych terminalach, korzystanie z określonego systemu komputerowego w tym samym czasie. Time-sharing lub multitasking jest logicznym rozszerzeniem multiprogramowania. Czas procesora, który jest dzielony między wielu użytkowników jednocześnie, jest określany jako współdzielenie czasu.
Główna różnica między wieloprogramowymi systemami wsadowymi a systemami współdzielenia czasu polega na tym, że w przypadku wieloprogramowych systemów wsadowych celem jest maksymalizacja wykorzystania procesora, podczas gdy w systemach współdzielenia czasu celem jest minimalizacja czasu odpowiedzi.
Wielokrotne zadania są wykonywane przez procesor poprzez przełączanie się między nimi, ale przełączenia występują tak często. Tak więc, użytkownik może otrzymać natychmiastową odpowiedź. Na przykład, w przetwarzaniu transakcji, procesor wykonuje każdy program użytkownika w krótkim wybuchu lub kwantu obliczeń. To znaczy, jeśli n użytkowników jest obecnych, to każdy użytkownik może otrzymać kwant czasu. Kiedy użytkownik przesyła polecenie, czas odpowiedzi jest w kilka sekund co najwyżej.
System operacyjny wykorzystuje planowanie CPU i multiprogramowanie, aby zapewnić każdemu użytkownikowi niewielką część czasu. Systemy komputerowe, które zostały zaprojektowane głównie jako systemy wsadowe, zostały zmodyfikowane do systemów współdzielenia czasu.
Zalety systemów operacyjnych współdzielenia czasu są następujące –
- Zapewnia przewagę szybkiej odpowiedzi.
- Unika powielania oprogramowania.
- Zmniejsza czas bezczynności procesora.
Wady systemów operacyjnych z podziałem czasu są następujące –
- Problem niezawodności.
- Kwestia bezpieczeństwa i integralności programów i danych użytkownika.
- Problem komunikacji danych.
Dystrybuowany system operacyjny
Systemy rozproszone wykorzystują wiele procesorów centralnych do obsługi wielu aplikacji czasu rzeczywistego i wielu użytkowników. Zadania przetwarzania danych są odpowiednio rozdzielane między procesory.
Procesory komunikują się ze sobą za pomocą różnych linii komunikacyjnych (takich jak szybkie magistrale lub linie telefoniczne). Są one określane jako systemy luźno sprzężone lub systemy rozproszone. Procesory w systemie rozproszonym mogą różnić się pod względem wielkości i funkcji. Procesory te są określane jako miejsca, węzły, komputery i tak dalej.
Zalety systemów rozproszonych są następujące –
- Dzięki możliwości współdzielenia zasobów użytkownik w jednym miejscu może korzystać z zasobów dostępnych w innym miejscu.
- Przyspieszenie wymiany danych między sobą za pośrednictwem poczty elektronicznej.
- Jeśli jedno miejsce ulegnie awarii w systemie rozproszonym, pozostałe miejsca mogą potencjalnie kontynuować działanie.
- Lepsza obsługa klientów.
- Zmniejszenie obciążenia komputera głównego.
- Zmniejszenie opóźnień w przetwarzaniu danych.
Sieciowy system operacyjny
Sieciowy system operacyjny działa na serwerze i zapewnia serwerowi możliwość zarządzania danymi, użytkownikami, grupami, zabezpieczeniami, aplikacjami i innymi funkcjami sieciowymi. Podstawowym celem sieciowego systemu operacyjnego jest umożliwienie dostępu do wspólnych plików i drukarek wielu komputerom w sieci, zazwyczaj w sieci lokalnej (LAN), sieci prywatnej lub innych sieciach.
Przykłady sieciowych systemów operacyjnych obejmują Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare i BSD.
Zalety sieciowych systemów operacyjnych są następujące –
- Scentralizowane serwery są wysoce stabilne.
- Bezpieczeństwo jest zarządzane przez serwer.
- Uaktualnienia do nowych technologii i sprzętu mogą być łatwo zintegrowane z systemem.
- Zdalny dostęp do serwerów jest możliwy z różnych lokalizacji i typów systemów.
Wady sieciowych systemów operacyjnych są następujące –
- Wysoki koszt zakupu i eksploatacji serwera.
- Zależność od centralnej lokalizacji dla większości operacji.
- Wymagana jest regularna konserwacja i aktualizacje.
System operacyjny czasu rzeczywistego
System czasu rzeczywistego jest definiowany jako system przetwarzania danych, w którym przedział czasu wymagany do przetwarzania i reagowania na dane wejściowe jest tak mały, że kontroluje środowisko. Czas potrzebny systemowi do odpowiedzi na wejście i wyświetlenia wymaganych zaktualizowanych informacji jest określany jako czas odpowiedzi. Więc w tej metodzie, czas odpowiedzi jest bardzo mało w porównaniu do przetwarzania online.
Systemy czasu rzeczywistego są używane, gdy istnieją sztywne wymagania czasowe na działanie procesora lub przepływu danych i systemów czasu rzeczywistego mogą być używane jako urządzenie sterujące w dedykowanej aplikacji. System operacyjny czasu rzeczywistego musi mieć dobrze zdefiniowane, stałe ograniczenia czasowe, w przeciwnym razie system zawiedzie. Na przykład eksperymenty naukowe, systemy obrazowania medycznego, przemysłowe systemy sterowania, systemy broni, roboty, systemy kontroli ruchu lotniczego itp.
Są dwa rodzaje systemów operacyjnych czasu rzeczywistego.
Twarde systemy czasu rzeczywistego
Twarde systemy czasu rzeczywistego gwarantują, że krytyczne zadania są wykonywane na czas. W twardych systemach czasu rzeczywistego pamięć wtórna jest ograniczona lub nie ma jej wcale, a dane są przechowywane w pamięci ROM. W tych systemach pamięć wirtualna prawie nigdy nie występuje.
Miękkie systemy czasu rzeczywistego
Miękkie systemy czasu rzeczywistego są mniej restrykcyjne. Krytyczne zadanie czasu rzeczywistego otrzymuje priorytet nad innymi zadaniami i zachowuje ten priorytet aż do zakończenia. Miękkie systemy czasu rzeczywistego mają ograniczoną użyteczność niż twarde systemy czasu rzeczywistego. Na przykład multimedia, rzeczywistość wirtualna, zaawansowane projekty naukowe, takie jak eksploracja podmorska i łaziki planetarne itp.
.