Literatura
Literatura
• Pozycja podstawowa
– Silberschatz A., Galvin P.B., Podstawy system
ó
w operacyjnych,
WNT
• Pozycje uzupełniające
– Lister A.M., Eager R.D. Wprowadzenie do system
ó
w
operacyjnych, WNT 1994
– Coulouris G., Dollimore J., Kindberg T. Systemy rozproszone. Podstawy i
projektowanie, WNT
– Gruźlewski, Wiess Programowanie współbieżne w zadaniach i
przykładach, WNT
– Wiele pozycji dot. architektury systemów UNIX, Windows in.
OPROGRAMOWANIE KOMPUTERÓW
Oprogramowanie
podstawowe
(np. systemy operacyjne)
Oprogramowanie
użytkowe
(np. edytory tekstów,
arkusze kalkulacyjne,
bazy danych itp)
(systemowe)
Poj
Poj
ę
ę
cie systemu operacyjnego
cie systemu operacyjnego
•
System operacyjny to program, który działa jako pośrednik między
użytkownikiem komputera, a sprzętem komputerowym
użytkownik 3
użytkownik n
. . .
użytkownik 2
użytkownik 1
kompilator
assembler
Edytor tekstu
System bazy
danych
System operacyjny
sprzęt
komputerowy
Programy użytkowe
System operacyjny a sprz
System operacyjny a sprz
ę
ę
t komputerowy
t komputerowy
• Architektura systemu operacyjnego w znacznym stopniu zależy
od właściwości sprzętu komputerowego, na którym będzie on
uruchamiany
• Wiele współczesnych urządzeń komputerowych
konstruowanych jest z myślą o udostępnieniu efektywnych
sposobów realizacji typowych zadań systemu operacyjnego
Jednostka
centralna
Kontroler
dysku
Kontroler
urządzenia 1
Kontroler
urządzenia 2
Kontroler pamięci
operacyjnej
Pamięć
operacyjna
Podstawowe zadania systemu operacyjnego
Podstawowe zadania systemu operacyjnego
• Podstawowe zadania systemu operacyjnego:
– Podział zasobów
– Tworzenie wygodnego w użyciu środowiska wirtualnego
• Środowisko wirtualne pozwala na łatwiejsze skorzystanie
z następujących zasobów i mechanizmów: wejście-
wyjście, pamięć operacyjna, system plików, ochrona
zasobów i obsługa błędów, współdziałanie programów,
sterowanie programami
Praca systemu operacyjnego
Praca systemu operacyjnego
•
Przy uruchomieniu komputera uruchamiany jest program rozruchowy
(bootstrap), powodujący:
– ustawienie początkowych wartości systemu komputerowego takich jak:
rejestry CPU, urządzeń i wektorów przerwań
– wprowadzenie do pamięci jądra systemu operacyjnego
– uruchomienie procesu oczekującego na wystąpienie jakiegoś zdarzenia
•
Jeśli nie ma żadnych zadań ani nie czekają na obsługę żadne
urządzenia wejścia-wyjścia bądź wymagające odpowiedzi polecenia
użytkowników, system operacyjny oczekuje na zdarzenie. Mówimy, że
jest on sterowany zdarzeniami.
•
Zdarzenia są sygnalizowane za pomocą przerwań sprzętowych lub
programowych.
•
Spowodowanie przerwania programowego jest często konsekwencją
wywołania specjalnej operacji nazywanej wywołaniem systemowym
lub funkcją systemową (system call).
Sk
Sk
ł
ł
adowe system
adowe system
ó
ó
w operacyjnych
w operacyjnych
SKŁADOWE SYSTEMU OPERACYJNEGO
Zarządzanie
procesami
Zarządzanie
pamięcią
operacyjną
Zarządzanie
plikami
System
ochrony
Zarządzanie
systemem
wejścia-wyjścia
Zarządzanie
pamięcią
pomocniczą
System
interpretacji
poleceń
Praca
sieciowa
Us
Us
ł
ł
ugi systemu operacyjnego
ugi systemu operacyjnego
• Typowe usługi systemu operacyjnego:
– Wykonanie programu
– Operacje wejścia/wyjścia
– Manipulowanie systemem plików
– Komunikacja między procesami
– Kontrola błędów
– Przydzielanie zasobów
– Ochrona
• Oprogramowanie korzysta z mechanizmów s.o. za pomocą
funkcji systemowych
Rodzaje system
Rodzaje system
ó
ó
w operacyjnych
w operacyjnych
• Podział ze względu na zastosowanie:
– Systemy dla indywidualnego użytkownika
– Serwery informacji i baz danych
– Systemy ogólnego przeznaczenia – systemy wsadowe i
interaktywne
– Systemy czasu rzeczywistego (sterowania procesami)
– Systemy równoległe
– Systemy rozproszone
Współcześnie opracowano wiele systemów operacyjnych dla
różnych komputerów i do różnych zastosowań. Wiele zasad ich
budowy i działania ma charakter uniwersalny i mogą być
omawiane niezależnie od konkretnych rozwiązań
Struktury system
Struktury system
ó
ó
w operacyjnych
w operacyjnych
• Struktura jednolita
• Struktura warstwowa
• Struktura typu klient-serwer
Programy użytkowe
Rezydujące programy systemowe
Programy obsługi urządzeń
z poziomu MS-DOS
Programy obsługi urządzeń w pamięci ROM BIOS
(użytkownicy)
shell’e i polecenia
kompilatory i interpretery
biblioteki systemowe
interfejs funkcji systemowych z jądrem
sygnały
obsługa terminali
system znakowego
wejścia-wyjścia
programy obsługi
terminali
system plików
wymiana
system blokowego
wejścia-wyjścia
programy obsługi
dysków i taśm
planowanie
przydziału
procesora
wymiana stron
pamięć wirtualna
interfejs jądra ze sprzętem
sterowniki
terminali
terminale
sterowniki
urządzeń
dyski i taśmy
sterowniki pamięci
pamięć fizyczna