2016-05-15
1
Architektura komputerów
i systemy operacyjne
Wykład
Systemy operacyjne
Systemy operacyjne
2016-05-15
2
Systemy operacyjne
System operacyjny
System operacyjny
Definicja (wg A. S. i P. B. G.):
System operacyjny jest programem, który
działa jako pośrednik pomiędzy
użytkownikiem komputera a sprzętem
komputerowym. Zadaniem systemu
operacyjnego jest tworzenie środowiska w
którym użytkownik może wykonywać
programy.
Systemy operacyjne
Sprzęt
komputerowy
U
1
U
2
U
3
U
4
U
n
System
operacyjny
Programy użytkowe
kompilator
Edytor
tekstu
Baza
danych
Użytkownicy
2016-05-15
3
Systemy operacyjne
Warstwowa budowa systemu operacyjnego
Warstwowa budowa systemu operacyjnego
jądro
powłoka
użytkownicy
programy
sprzęt
Systemy operacyjne
Składniki systemu
Składniki systemu
• jądro - komunikuje się z komputerem przez
sterowniki urządzeń i wykonuje kolejkowanie
zadań, obsługę pamięci
• powłoka - stanowi interpreter poleceń
systemu (komunikacja z użytkownikiem)
• programy - polecenia systemowe nie zawarte
w jądrze, programy narzędziowe, programy
użytkowe
2016-05-15
4
Systemy operacyjne
Zadania:
• zarządzanie zasobami komputera
, m.in. procesorem (a
dokładniej czasem procesora), pamięcią, urządzeniami
peryferyjnymi oraz przydzielanie zasobów procesom,
• koordynacja pracy ww. urządzeń
poprzez obsługę
przerwań oraz odpowiednie na nie reagowanie,
• ochrona danych i pamięci
– tak, aby jeden proces w
wyniku błędu lub zamierzonego działania nie mógł zniszczyć
lub pozyskać danych innego procesu,
• automatyzacja najczęściej wykonywanych funkcji
,
• ukrywanie skomplikowania sprzętu komputerowego
przez tworzenie abstrakcji, np.
– zbiory zapisanych klastrów na dysku widziane są jako
pliki o symbolicznych nazwach,
– symulacja równoległości wykonywania programów,
– jednolity sposób dostępu do urządzeń.
Systemy operacyjne
Systemy operacyjne:
Systemy operacyjne:
• jednozadaniowe (np. DOS)
• wielozadaniowe (np. UNIX)
• niewielozadaniowe ;-) (Windows)
• systemy operacyjne czasu rzeczywistego (RTOS)
2016-05-15
5
Systemy operacyjne
tekstowe
graficzne
Systemy operacyjne:
Systemy operacyjne:
Systemy operacyjne
System DOS
System DOS
• na komputery IBM PC
• jednozadaniowy
• bez wielodostępu (tylko z klawiatury)
• system wyszedł z użycia
2016-05-15
6
Systemy operacyjne
Systemy MS Windows
Systemy MS Windows
• na komputery IBM PC
• ciągle rozwijane (ale wymagają coraz
silniejszych komputerów)
• interfejs graficzny ułatwia pracę
• systemy wielozadaniowe, ale bez
wielodostępu chociaż...
• świadczą pewne usługi poprzez sieć
Systemy operacyjne
Systemy UNIX
Systemy UNIX
• Na wszystkie typy komputerów, od prostych
PC do superkomputerów
• systemy od początku wielodostępne i
wielozadaniowe
• łatwe w konfiguracji (pliki tekstowe)
• przeznaczone głównie do pracy zdalnej
• jasno określone prawa użytkowników
2016-05-15
7
Systemy operacyjne
Wielozadaniowość i wielodostęp
Wielozadaniowość i wielodostęp
• jednozadaniowość
- kolejne zadanie
wykonywane po zakończeniu poprzedniego
•
wielozadaniowość
- wykonywanie wielu
zadań w „tym samym” czasie.
W rzeczywistości zadania są wykonywane
kolejno w przydzielonych im przedziałach
czasowych (chyba że jest kilka procesorów)
• wielodostęp
- w tym samym czasie z jednego
komputera korzysta wielu użytkowników
Systemy operacyjne
Najbardziej popularne systemy
operacyjne:
• Microsoft Windows
• DOS
• Linux
• Unix
• MacOs
• FreeBSD
• BeOS
• OS/2
2016-05-15
8
Systemy operacyjne
Systemy operacyjne
RTOS – Real Time Operating System
• jest programem bazowym ułatwiającym tworzenie programu użytkowego
• musi gwarantować reakcję na określone zdarzenie w nieprzekraczalnym
czasie
Cele stosowania RTOS:
• przyśpieszenie tworzenia programu użytkowego
• zwiększenie niezawodności działania programu użytkowego
• ułatwienie zarządzania procesem tworzenia oprogramowania
RTOS w uproszczeniu zawiera dwa typy programów:
1. jądro RTOS (kernel) zarządzające podstawowymi zasobami systemu mikroproces.
(czas i pamięć) i realizujące funkcje usługowe dla programu użytkowego
2. biblioteki RTOS (library) zawierające często używane elementy w programie
użytkowym
2016-05-15
9
Systemy operacyjne
Elementy oprogramowania systemu
mikroprocesorowego opartego na systemie operacyjnym
czasu rzeczywistego
Systemy operacyjne
Mechanizmy jądra systemów operacyjnych czasu rzeczywistego:
1. mechanizmy przydziału czasu przez system operacyjny dla poszczególnych zadań
2. mechanizmy przydziału pamięci przez system operacyjny dla poszczególnych
zadań
3. mechanizmy wymiany informacji między zadaniami
4. mechanizmy dostępu do specyficznych układów peryferyjnych
2016-05-15
10
Systemy operacyjne
Mechanizmy przydziału czasu:
• obsługa priorytetowa zadań z wywłaszczaniem
Systemy operacyjne
Mechanizmy przydziału czasu:
• obsługa cykliczna zadań z wywłaszczaniem
2016-05-15
11
Systemy operacyjne
Mechanizmy wymiany informacji między zadaniami
• kolejki (queues) do wymiany informacji między zadaniami za pomocą komunikatów
• gniazda (sockets) do wymiany informacji między zadaniami a systemami
zewnętrznymi za pomocą standardowych protokołów
• semafory (semaphores) do synchronizacji pracy zadań
• sygnały (signals) do wymiany informacji między zdarzeniami zewnętrznymi a
zadaniami. M.in. do obsługi przerwań
• wspólna pamięć (shared memory) do korzystania ze wspólnych struktur danych
przez wiele zadań
Systemy operacyjne
System wielopoziomowy (foreground/background system)
2016-05-15
12
Systemy operacyjne
System wielozadaniowy (multiple task system)
Systemy operacyjne
Koniec