Kryteria podziału i rodzaje systemów operacyjnych

Lekcja: Kryteria podziału i rodzaje systemów operacyjnych

Cel lekcji

Na tej lekcji uczniowie zapoznają się z różnymi kryteriami podziału systemów operacyjnych oraz poznają ich główne rodzaje. Będzie to wprowadzenie do klasyfikacji systemów operacyjnych w zależności od ich funkcji, architektury, sposobu działania oraz zastosowania.


1. Wprowadzenie do kryteriów podziału systemów operacyjnych

System operacyjny można klasyfikować według różnych kryteriów, w zależności od sposobu zarządzania zasobami, obsługi użytkowników, struktury czy specyficznych funkcji. Zrozumienie tych kryteriów pozwala na łatwiejsze zrozumienie różnic pomiędzy różnymi rodzajami systemów operacyjnych.

1.1. Kryteria podziału systemów operacyjnych

1. Według liczby użytkowników:

  • Systemy jednoosobowe (single-user):
    Te systemy pozwalają na jednoczesną pracę tylko jednego użytkownika. Typowym przykładem są niektóre wersje systemu DOS. Użytkownik może jednocześnie uruchomić wiele aplikacji, ale system nie obsługuje innych użytkowników w tym samym czasie.

  • Systemy wieloosobowe (multi-user):
    Te systemy pozwalają na jednoczesną pracę wielu użytkowników na jednym komputerze. Każdy użytkownik ma dostęp do zasobów systemu w sposób izolowany od innych użytkowników. Przykłady to systemy serwerowe takie jak Unix, Linux i Windows Server.

2. Według liczby zadań:

  • Systemy jednoprogramowe (single-tasking):
    Te systemy mogą wykonywać tylko jedno zadanie na raz. Przykładem jest oryginalny MS-DOS, który potrafił wykonywać tylko jeden program w danym momencie.

  • Systemy wielozadaniowe (multi-tasking):
    Pozwalają na jednoczesne wykonywanie wielu zadań. Procesor dzieli swój czas między różne zadania, często dając wrażenie, że wiele procesów jest wykonywanych równocześnie. Przykładem jest Windows, macOS oraz większość nowoczesnych systemów operacyjnych.

3. Według struktury:

  • Systemy monolityczne:
    Cały system operacyjny działa w jednym dużym module, który zawiera wszystkie funkcje. Jądro takiego systemu odpowiada za zarządzanie wszystkimi zasobami. Przykładem jest tradycyjny Unix.

  • Systemy warstwowe:
    System operacyjny jest podzielony na warstwy, z których każda pełni określoną funkcję. Każda warstwa komunikuje się z warstwą znajdującą się bezpośrednio poniżej niej. Przykładem jest architektura systemów operacyjnych takich jak Linux.

  • Systemy mikrokernelowe:
    Jądro systemu jest ograniczone do niezbędnych funkcji (zarządzanie procesami, pamięcią, komunikacją między procesami), a reszta usług systemowych działa w przestrzeni użytkownika. Takie podejście stosowane jest w systemach, takich jak QNX czy Minix.

4. Według czasu odpowiedzi:

  • Systemy czasu rzeczywistego (real-time systems):
    Te systemy muszą reagować na zdarzenia w określonym czasie, często natychmiast. Stosowane są w systemach kontrolujących pracę maszyn przemysłowych, medycznych czy w sterowaniu ruchem powietrznym. Podzielone są na dwa typy:

  • Twarde systemy czasu rzeczywistego: Gdzie każde zadanie musi zostać zakończone w określonym czasie, w przeciwnym wypadku może dojść do awarii systemu.

  • Miękkie systemy czasu rzeczywistego: Opóźnienia mogą być akceptowalne, choć wpływają na wydajność.

  • Systemy ogólnego przeznaczenia (general-purpose systems):
    Są to systemy nie wymagające natychmiastowych reakcji na zdarzenia. Są wykorzystywane w codziennym użytku komputerów osobistych (np. Windows, macOS, Linux).

5. Według obsługiwanych architektur komputerów:

  • Systemy jednozadaniowe (single-tasking) i wielozadaniowe (multi-tasking).
  • Systemy dla komputerów mainframe: Obsługują ogromne ilości danych oraz wielu użytkowników jednocześnie (np. IBM z/OS).
  • Systemy mobilne: Zaprojektowane specjalnie do obsługi urządzeń mobilnych, takich jak smartfony i tablety. Przykładami są Android i iOS.

2. Rodzaje systemów operacyjnych

Teraz, gdy zrozumieliśmy kryteria podziału, przyjrzymy się głównym rodzajom systemów operacyjnych:

2.1. Systemy wielozadaniowe czasu rzeczywistego (RTOS)

Systemy operacyjne, które muszą gwarantować wykonanie zadań w ściśle określonym czasie. Używane w miejscach, gdzie opóźnienia mogą prowadzić do awarii, np. w systemach medycznych, wojskowych lub kontroli lotów.

2.2. Systemy partycypacyjne (czasodzielne)

Takie systemy, jak Unix i Linux, obsługują wielu użytkowników i procesów jednocześnie, przydzielając każdemu z nich zasoby i czas procesora.

2.3. Systemy desktopowe (systemy ogólnego przeznaczenia)

Najpopularniejsze systemy, takie jak Windows, macOS czy Linux, które umożliwiają użytkownikom codzienne korzystanie z komputera do różnych zadań: pracy, rozrywki, programowania itp.

2.4. Systemy mobilne

Systemy operacyjne przeznaczone do pracy na urządzeniach mobilnych, takich jak smartfony i tablety. Głównymi przykładami są Android i iOS, które charakteryzują się zoptymalizowanym interfejsem i funkcjonalnościami przystosowanymi do pracy w środowisku mobilnym.

2.5. Systemy wbudowane (embedded systems)

Systemy operacyjne przeznaczone do sterowania konkretnym sprzętem i urządzeniami, takimi jak lodówki, samochody, systemy GPS. Przykładem może być system operacyjny VxWorks, wykorzystywany w urządzeniach przemysłowych.

2.6. Systemy serwerowe

Systemy operacyjne obsługujące serwery, takie jak Windows Server, Linux Server czy FreeBSD. Są one zoptymalizowane pod kątem wydajności, bezpieczeństwa i zarządzania wieloma użytkownikami.


3. Ćwiczenia w CMD

Ćwiczenie 1: Sprawdzenie obsługi wielozadaniowości

  1. Uruchom wiersz poleceń (CMD).
  2. Wpisz polecenie:
start notepad.exe &&  start calc.exe

W ten sposób uruchomisz dwa programy jednocześnie – system wielozadaniowy pozwala na równoczesną obsługę kilku aplikacji.


Ćwiczenie 2: Sprawdzanie użytkowników w systemie wieloużytkownikowym

  1. Otwórz wiersz poleceń.
  2. Wpisz polecenie:
net user

Wyświetli listę kont użytkowników w systemie.

Ćwiczenie 3: Wyświetlanie zainstalowanych sterowników urządzeń

  1. W wierszu poleceń wpisz polecenie:
driverquery

To polecenie wyświetli listę wszystkich sterowników zainstalowanych w systemie operacyjnym, co pokazuje, jak system operacyjny zarządza urządzeniami wejścia/wyjścia. Można również sprawdzić szczegóły dotyczące daty uruchomienia każdego sterownika oraz jego stanu.

Ćwiczenie 4: Sprawdzanie czasu pracy systemu

  1. Aby sprawdzić, jak długo system operacyjny działa od momentu ostatniego uruchomienia, wpisz:
net statistics workstation

System operacyjny rejestruje czas pracy, co może być użyteczne w diagnostyce wydajności systemu. Informację o czasie znajdziesz pod nagłówkiem „Statistics since”.