Systemy operacyjne komputerów
1.Definicja
2.Funkcje
3.Budowa
4.Podziały systemów operacyjnych
5.Przykladowe systemy operacyjne
1.Definicja
System operacyjny – Zestaw podstawowych programów i narzędzi do zarządzania sprzętem
komputerowym, urządzaniami przenośnymi, komputerami wbudowanymi itp.
Schemat warstw logicznych obrazujący relacje pomiędzy elementami systemu komputerowego
[źródło:http://pl.wikipedia.org/wiki/System_operacyjny]
2.Funkcje
2.1 Zarządzanie sprzętem.
2.2 Kontrola, obsługa zadań.
◦
Wielozadaniowość
▪
kontrola przydzielanie pamięci – semafory, mutexy, blokowanie przerwań,
▪
synchronizacja zadań – zmienne warunkowe, sygnały, przerwania, zdarzenia, spinlocki,
▪
komunikacja między procesami – potoki, pamięć współdzielona, kolejki, gniazdka,
▪
przydzielanie czasu procesora – scheduler.
◦
Wielodostępność
◦
Wieloprocesorowość
3.Budowa
Warstwowa budowa systemu operacyjnego
[ źródło: http://einformatyka.cba.pl/systemy-operacyjne-opis-zadania-podzial-budowa]
[ źródło: http://einformatyka.cba.pl/systemy-operacyjne-opis-zadania-podzial-budowa]
Konstrukcje jąder sys. operacyjnych:
•
monolityczne - wszystkie zadania są wykonywane przez jądro, będące jednym, dużym
programem działającym w trybie jądra. Zaletą tej techniki jest prostota,
stabilność[potrzebne źródło], łatwość komunikacji pomiędzy różnymi członami jądra (jedna
przestrzeń adresowa).(np. Linux)
Jądro monolityczne
[źródło: http://jedrzej.ulasiewicz.staff.iiar.pwr.wroc.pl/SystemyCzasuRzeczywistego/wyklad/Architektura-Neutrino-1.pdf]
•
mikrojądro - w tej technice z monolitycznego jądra zostaje tylko jego podstawowa część, a
części odpowiedzialne za bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych
bloków albo realizowane jako zwykłe procesy w trybie użytkownika.(np. QNX)
Jądro monolityczne
[źródło: http://jedrzej.ulasiewicz.staff.iiar.pwr.wroc.pl/SystemyCzasuRzeczywistego/wyklad/Architektura-Neutrino-1.pdf]
•
hybrydowe – połączenie jądra monolitycznego i mikrojądra. (np. Windows)
•
nanokernel – jeszcze mniejszy od mikrojądra,
•
exokernel - architektura będąca odmianą nanojądra. Cechą wyróżniającą jest możliwość
zarządzania zasobami systemu przez nieuprzywilejowanego użytkownika, a rola jądra
sprowadza się do zabezpieczania zasobów. (np. XOK)
[źródło: http://pl.wikipedia.org/wiki/J%C4%85dro_systemu_operacyjnego]
4.Podziały systemów operacyjnych
CZASU RZECZYWISTEGO
OTWARTE
można uruchomić na dowolnej maszynie
danego rodzaju
SPRZĘTOWE
programowe rozwiązania, które są
integrowane z wybraną architekturą
procesora.
Z WYWŁASZCZANIEM
scheduler może wstrzymać aktualnie
wykonywane zadanie (proces lub wątek), aby
umożliwić działanie innemu.
WIELOZADANIOWE
WIELODOSTĘDNE
możliwość pracy wielu użytkowników w tym
samym czasie.
TEKSTOWE
CZASU NIEDETERMINISTYCZNEGO
WBUDOWANE
napisane indywidualnie na dane urządzenie oraz brak w
nich konfiguracji.
PROGRAMOWE
BEZ WYWŁASZCZANIA
zadania jawnie informują scheduler, w którym
momencie chcą umożliwić przejście do innych zadań
JEDNOZADANIOWE
JEDNODOSTĘPNE
GRAFICZNE
5.Przykladowe systemy operacyjne
http://pl.wikipedia.org/wiki/Systemy_operacyjne#Systemy_operacyjne