Rodzaje systemów operacyjnych.

Rodzaje systemów operacyjnych.

Wraz z rozwojem platform sprzętowych ewaluowały systemy operacyjne – dzisiaj można wyodrębnić kilka klasyfikacji OS na podstawie różnych kryteriów podziału. 

Podział ze względu na liczbę wykonywanych zadań.

  • Systemy wieloprogramowe. Są wstanie wykonywać tylko jedno zadanie zlecone przez użytkownika; przetworzenie kolejnego programu następuje po zakończeniu pierwszego.
  • Systemy wielozadaniowe. Umożliwiają wykonywanie kilku programów dzięki współdzieleniu mocy obliczeniowej mikroprocesora. Przełączanie miedzy poszczególnymi programami (procesami) jest planowane i następuje tak szybko, że użytkownik ma wrażenie ciągłego działania kilku aplikacji (ang.multitasking). W tego typu systemach wprowadzono pojecie pamięci wirtualnej, przez co tzw. pamięć logiczna mogła być większa od fizycznej (Windows, Linux).

Podział ze względu na sposób przetwarzania

  • System przetwarzania bezpośredniego. System interpretuje zadania użytkownika na bieżąco i realizuje  ja zaraz po zainicjowaniu. Istnieje bezpośrednia interakcja pomiędzy interfejsem a użytkownikiem (Windows, Linux)
  • System przetwarzania pośredniego. Podział zleceń zadania przez użytkownika a jego realizacją przez system operacyjny(systemy wsadowe) występuje opóźnienie.
    • Prosty system wsadowy. Dla systemu operacyjnego przygotowano ciąg operacji w postaci tzw. Wsadu. Za jego przygotowanie odpowiadał operator, który po konsultacji z użytkownikami przygotowywał ciąg poleceń zapisanych na karcie perforowanej lub taśmie magnetycznej, realizowanych następnie przez OS.
    • Złożony system wsadowy. Przypominał współczesne systemy wielozadaniowe, w których najczęściej wykonywane zadania SA przechowywane w pamięci a podczas obliczeń mogą być wykonywane operacje I/O dla innych zadań (ang. simultanoeous peripheral operations on-line) lub kolejne zadania zapisane w pamięci.

Podział systemów wieloprocesorowych.

  • Systemy wieloprocesorowe symetryczne SMP (ang. Symetric Multiprocessing.) Systemy operacyjne przeznaczone do komputerów wieloprocesorowych (wielordzeniowych) dzielących wspólną magistralę systemową, zegar, pamięć i urządzenia wejścia wyjścia. Umożliwiają zlecanie realizacji zadań systemu dwóm lub więcej mikroprocesorom. Zadania są dzielone symetrycznie pomiędzy wszystkie CPU, dzięki czemu wzrasta ogólna wydajność systemu komputerowego (rodzina Windows NT, Linux).
  • Systemy wieloprocesorowe asymetryczne AMP  (ang. Asynchronous Multiprocessing). Systemem zarządza główny procesor, a jednostki CPU mają zlecane inne, niezależne zadania. Przykładem pracy w układzie asymetrycznym mogą być mikroprocesory współpracujące z zewnętrznym koprocesorem, działające niezależnie, taktowanie inną częstotliwością zegara itd.

 Podział ze względu na liczbę obsługiwanych użytkowników.

  • Systemy jednoużytkownikowe. Umożliwiają użytkowanie na poziomie jednego użytkownika; brak jest mechanizmów uwierzytelniających czy zabezpieczających dostępu do plików i katalogów lub takie zabezpieczenia są nieskuteczne (MS-DOS, Windows (9x).
  • Systemy wieloużytkownikowe. Umożliwiają użytkowanie OS przez wielu użytkowników jednocześnie i niezależnie. System potrafi przechowywać profile swoich użytkowników w taki sposób, że inni klienci platformy nie mają dostępu do zawartych w nich danych (Windows NT, Linux).

Podział ze względu na interfejs użytkownika.

  • Systemy z interfejsem znakowym/tekstowym. Komunikacja użytkownika z systemem następuje poprzez wprowadzenie tekstowych komend z wiersza poleceń  (np. MS-DOS, Linux Bash, Windows Server Core).
  • Systemy z okienkowym interfejsem graficznym. Możliwe jest użytkowanie systemu z wykorzystaniem interfejsu graficznego opartego na symbolach (ikonach) oraz tzw. okienkach , określonego skrótem GUI (ang. Graphical User Interface) (Windows, X Windows). 

Inne rodzaje systemów operacyjnych.

System czasu rzeczywistego (ang. Real-Time Operating System – RTOS). To systemy operacyjne, których zadaniem jest reagowanie na zmiany zewnętrzne zachodzące w czasie rzeczywistym. Głównym kryterium są ramy czasowe, które warunkują działanie systemu.

Systemy operacyjne czasu rzeczywistego dzielą się na dwa rodzaje:

  • Twarde (rygorystyczne). Znany jest najgorszy (najdłuższy) czas odpowiedzi oraz wiadomo, ze nie zostanie on przekroczony. Gwarantuje to terminowe wypełnianie krytycznych zadań.
  • Miękkie (łagodne). Starają się odpowiedzieć najszybciej, jak to możliwe, ale nie wiadomo, jaki może być najgorszy czas odpowiedzi. Krytyczne zadania mają pierwszeństwo przed innymi, system nie gwarantuje jednak terminowego  wypełniania krytycznych zadań.

Systemy rozproszone (ang. Disdtributed systems). Umożliwiają zarządzanie wieloma niezależnymi komputerami połączonymi np. za pomocą wydajnej sieci komputerowej (tzw. klastrem).