background image

Pojęcie systemu 
operacyjnego

background image

Co będziesz umiał

definicje SO, jądra, mikrojądra, 
systemu komputerowego, maszyny 
wirtualnej, 

rodzaje zasobów komputerowych

funkcje SO

struktury SO

Ewolucja systemów operacyjnych

background image

System operacyjny

(Silberschatz i inni) System operacyjny jest 
programem, który działa jako pośrednik 
między użytkownikiem komputera, a 
sprzętem komputerowym

(Deitel) System operacyjny to zespół 
programów, które samodzielnie umożliwiają 
wszechstronne wykorzystanie sprzętu 
komputerowego

background image

System operacyjny

(Milenković) System operacyjny to 
zorganizowany zbiór programowych 
rozszerzeń sprzętu, zawierający 
procedury kontrolne dla pracy 
komputera i dostarczający otoczenia 
dla wykonywanych programów

background image

System operacyjny

(Błażewicz i inni) System operacyjny 
to zbiór programów pośredniczących 
między sprzętem a użytkownikiem, 
dokonujących dynamicznego 
rozdziału dostępnych zasobów 
pomiędzy istniejące procesy w sposób 
zapewniający ich poprawne oraz 
efektywne wykonanie

background image

System operacyjny

 Systemem operacyjnym nazywamy 

zorganizowany zbiór programów 
pośredniczących między sprzętem 
komputerowym a jego użytkownikiem, 
który dokonuje dynamicznego 
rozdziału dostępnych zasobów 
pomiędzy istniejące procesy w sposób 
zapewniający ich poprawne oraz 
efektywne, w sensie przyjętego 
kryterium, wykorzystanie.

background image

System komputerowy

System komputerowy to sprzęt 
komputerowy oraz system operacyjny 
+ dodatkowe oprogramowanie, 
traktowane jako całość służąca do 
ściśle określonych celów.

np.: komputerowy system obsługi 
transakcji bankowych

background image

Funkcje systemu operacyjnego

Główne grupy funkcji systemu 
operacyjnego obejmują:

nadzorowanie uruchamianych 
programów użytkownika,

kontrolę zapisu, odczytu oraz innych 
operacji na danych,

zarządzanie dostępnymi zasobami, ze 
szczególnym uwzględnieniem procesora 
(procesorów).

background image

Funkcje systemu operacyjnego

Bardziej szczegółowy podział funkcji SO:

sterowanie procesami:

tworzenie nowych procesów

zabijanie istniejących procesów

przydział istniejących procesów do 
procesora/procesorów

przełączanie procesów

synchronizacja procesów, komunikacja między 
procesami

background image

Funkcje systemu operacyjnego

Bardziej szczegółowy podział funkcji SO:

zarządzanie pamięcią

przydział przestrzeni adresowej do procesów

zarządzanie stronami (segmentami) pamięci 
wirtualnej

obsługa przydziału bloków pamięci zewnętrznej

zrzucanie obrazu procesów do pamięci 
zewnętrznej

background image

Funkcje systemu operacyjnego

Bardziej szczegółowy podział funkcji 
SO:

przetwarzanie plików,

obsługę operacji I/O,

buforowanie, obsługa przerwań

przydział urządzeń I/O do procesów

współdzielenie i ochronę danych,

specyfikację interfejsu użytkownika.

background image

Skład oprogramowania typowego 
SO

polecenia do zarządzania pamięcią,

polecenia do zarządzania procesami,

polecenia do zarządzania plikami,

polecenia ogólnego przeznaczenia 
(formatowanie dysków, diagnostyka 
systemu itp.),

background image

Skład oprogramowania typowego 
SO

interpretery i kompilatory języków 

programowania,

programy wspomagające tworzenie 

oprogramowania,

narzędzia do administracji systemem 

(zakładanie kont użytkowników, 

archiwizacja danych itp.),

inne (gry, obsługa grafiki, muzyki itp.)

background image

Zasoby w SO

Zasobem w systemie operacyjnym 
nazywamy każdy rodzaj sprzętu 
komputerowego lub danych, 
niezbędny do prawidłowego 
rozpoczęcia, wykonywania oraz 
zakończenia istniejących procesów.

background image

Główne zasoby w SO

procesor (procesory),

pamięć (operacyjna, zewnętrzna),

urządzenia wejścia/wyjścia,

dane.

background image

Zasoby w SO

Zasób jest nieodnawialny, jeśli jest 
zużywany przez wykorzystujący go proces.

Zasób jest nieprzywłaszczalny, jeśli nie 
jest możliwe zawieszenie jego 
wykorzystywania przez aktywny proces.

 Zasób jest niepodzielny, jeśli 
wykorzystywać go może w danej chwili 
tylko jeden proces.

background image

Przykłady zasobów w SO

zasoby odnawialne – pamięć operacyjna, 

urządzenia I/O

zasoby nieodnawialne – energia 

elektryczna, pamięć dyskowa

zasoby nieprzywłaszczalne – urządzenia I/O

zasoby przywłaszczalne – procesor, pamięć 

operacyjna

zasoby niepodzielne – urządzenia I/O 

(drukarki, dyski)

zasoby podzielne – pamięć operacyjna

background image

SO jako warstwa maszyny 
wirtualnej

Na system operacyjny można także patrzeć 

jak na jedną z warstw tzw. maszyny 

wirtualnej.

Maszyna wirtualna to abstrakcyjny model 

komputera o innych własnościach aniżeli 

maszyna fizyczna; składają się na nią 

rozwiązania dotyczące obsługi urządzeń I/O, 

pamięci operacyjnej (wirtualnej), systemu 

plików, sterowania programami (procesami) 

oraz przyjęte metody ochrony danych.

background image

Warstwy maszyny wirtualnej

warstwa użytkownika

programy użytkownika

warstwa systemu operacyjnego

powłoka (interpreter poleceń)

w. oprogramowania systemowego

warstwa sprzętu

język maszynowy

mikroprogramowanie

sprzęt

background image

SO jako warstwa maszyny 
wirtualnej

Na poziomie każdej z warstw istnieje 

odrębny język, za pomocą którego 

użytkownik porozumiewa się z 

maszyną wirtualną

Przykład: na poziomie powłoki 

językiem są polecenia powłoki, na 

poziomie sprzętu – ciągi sygnałów 

elektrycznych o odpowiednich 

parametrach itp.

background image

SO jako warstwa maszyny 
wirtualnej

W SO lat 60-tych wprowadzono języki 

sterowania zadaniami (JCL, ang. Job 

Command Language), opisujące 

zadania (programy) na potrzeby SO

Języki JCL były skomplikowane, 

niechętnie stosowane przez 

użytkowników i stosunkowo szybko 

zarzucone.

background image

Przykład języka JCL

Przykład 1 (JCL systemu GEORGE 3 dla ICL 1900)

JOB FORTRAN, 77101, PBR
IN MT (PROGRAM TAPE)
LOAD #XFAM
IN/O (SOURCE)
ENTER 1
AT DELETED LO, GOTO 8
END
8 LOAD #
IN/O (DATA)
ENTER
AT HALTED

background image

Miary efektywności pracy SO

Znane są różne kryteria efektywności pracy 
SO, do najczęściej wykorzystywanych 
należą:

średni czas odpowiedzi (SO interaktywne),

niewykorzystany czas pracy procesora 
(utylizacja),

średni czas przepływu, tj. średni czas, jaki 
upływa między rozpoczęciem procesu, a jego 
zakończeniem (SO wsadowe)

background image

Struktury SO

Wyróżniamy następujące rodzaje struktur SO:

monolityczna (jednolita) - system operacyjny jest zbiorem 
usług, z których każda może wywołać inną;

warstwowa - system operacyjny jest podzielony na warstwy 
odpowiadające za poszczególne funkcje systemu; główne 
warstwy to w. jądra, w. powłoki, w. programów użytkownika

Odmianą budowy warstwowej jest tzw. budowa 
pierścieniowa

W SO warstwowych (pierścieniowych) najbardziej 
wewnętrzną warstwą jest jądro systemu.

background image

Jądro SO

Jądro systemu operacyjnego to 
najbardziej wewnętrzna warstwa 
systemu, odpowiedzialna za 
szeregowanie procesów, komunikację 
międzyprocesową oraz zarządzanie 
pamięcią.

background image

Funkcje jądra

zarządzanie procesami

zarządzanie pamięcią

obsługa urządzeń I/O

 inne (monitoring, accounting itp.)

Funkcje jądra dotyczą najbardziej 
podstawowych operacji, 
wywoływanych bardzo często 
przez procesy.

background image

Mikrojądro

Mikrojądro to mały rdzeń SO, będący 
podstawą do modularnych 
(modułowych) rozszerzeń.

background image

Struktury SO

Do innych typów struktur SO należą 
systemy:

maszyn wirtualnych - system operacyjny stwarza 
dla każdego użytkownika „wirtualny” komputer 
posiadający własną kopię systemu;

systemy z mikrojądrem - podstawowe usługi 
systemu operacyjnego są umieszczane w 
mikrojądrze, inne są implementowane jako 
procesy użytkownika (klienci). Klienci wysyłają 
żądania do serwera, zarządzającego daną 
funkcją za pomocą techniki „klient-serwer”.

background image

Struktury SO

Mikrojadro po raz pierwszy pojawiło się w 
SO Mach.

Typowe mikrojądro 1. generacji ma ok. 300 
kB kodu, 140 usług systemowych.

Typowe mikrojądro 2. generacji ma ok. 10 
kB kodu, jedynie kilka usług systemowych.

SO wykorzystujące mikrojądro bardzo 
często korzystają z tzw. techniki klient-
serwer.

background image

Klient-serwer

Technika „klient-serwer” polega na 
podziale oprogramowania 
systemowego na dwie 
współdziałające ze sobą części o 
nazwach „klient” oraz „serwer”.

background image

Zalety techniki klient-serwer

uproszczenie struktury SO

zwiększenie niezawodności SO,

zapewnienie jednolitego sposobu 
komunikacji między procesami,

stworzenie podstaw dla przetwarzania 
rozproszonego,

łatwa rozszerzalność SO o nowe 
funkcje.

background image

Tryby pracy SO

SO może pracować w różnych trybach
które różnią się między sobą zbiorem usług 
dostępnych dla użytkownika.

Tryb pracy SO decyduje o tym, jakie usługi 
SO mogą zostać przez dany proces 
wywołane.

Wyróżniamy dwa główne tryby:

tryb użytkownika (ang. user mode) oraz

tryb jądra (ang. kernel mode).

background image

Tryby pracy SO

W trybie użytkownika proces nie 
dysponuje dostępem do wszystkich 
usług systemu.

Możliwości pracy systemu w różnych 
trybach określa architektura 
procesora (por. tryb 
rzeczywisty/chroniony w procesorach 
80286+ firmy Intel).

background image

Klasyfikacja SO

dla jednego użytkownika:

jednoprogramowe

wieloprogramowe,

dla wielu użytkowników,

sieciowe systemy operacyjne,

rozproszone systemy operacyjne,

systemy czasu rzeczywistego,

ogólnego przeznaczenia

wsadowe,

wielodostępne

systemy obsługi baz danych.

background image

Cechy współczesnych SO

architektura oparta o mikrojądro,

funkcje SO implementowane w 
technice „klientserwer”,

wielowątkowość,

wieloprzetwarzanie,

obliczenia rozproszone,

metodologia OOP (ang. Object 
Oriented Programming).

background image

Pokolenia SO

1. pokolenie (1945-1955)

Sprzęt: komputery lampowe, tablice 
połączeń

SO: brak SO, brak języka maszynowego

2. pokolenie (1955-1965)

Sprzęt: komputery tranzystorowe, systemy 
wsadowe, praca typu „off-line”

SO: systemy FMS, IBSYS (dla komputera 
7094)

background image

Pokolenia SO

Systemy operacyjne 2. pokolenia są 

nazywane monitorami, ponieważ ich główne 

zadanie polegało na monitorowaniu 

wykonywania podstawowych funkcji takich 

jak:

obsługa przerwań,

sterowanie pracą urządzeń I/O

szeregowanie zadań (programów)

interpretacja języka sterowania zadaniami (JCL)

obsługa programów użytkowych,

Wyżej wymienione funkcje były realizowane 

w bardzo podstawowym zakresie.

background image

Pokolenia SO

3. pokolenie (1965-1980)

Sprzęt: komputery na układach scalonych, 

kanały, przerwania, wieloprogramowość, podział 

czasu

systemy: OS/360 (1964), GEORGE 3 (ICL 1900), 

CTSS (1962): 32Kx32b, monitor 5K, przerwania 

co 0.2s

4. pokolenie (1980-do dzisiaj)

Sprzęt: komputery na układach VLSI, komputery 

typu PC, stacje robocze

SO: CP/M, MS-DOS, Windows 9x, OS/2, Windows 

NT, Windows XP

background image

Przykłady SO

Pierwsze znane systemy operacyjne:

system bez nazwy dla komputera EDVAC (koniec 
lat 40-tych),

system bez nazwy opracowany przez firmę 
General Motors dla komputera IBM 701 (połowa 
lat 50-tych).

Pierwszy system operacyjny o budowie 
warstwowej:

system THE (Dijkstra 1968) dla komputera 
Electrologica X8

background image

Przykłady SO

Pierwszy system operacyjny o budowie 

pierścieniowej:

system MULTICS (Corbato et al. 1965), będący 

prekursorem wielu rozwiązań przyjętych w innych 

SO (jądro, procesy, potoki, powłoka).

System operacyjny „maszyn wirtualnych”:

system VM/370 (1979), pochodzący od systemów 

OS/360, TSS/360 oraz CP/CMS dla komputerów 

rodziny IBM/360.

SO dla 1-go użytkownika (jednoprogramowe):

CP/M

MS-DOS,

background image

Przykłady SO

SO dla 1-go użytkownika 
(wieloprogramowe):

Windows NT,

OS/2,

Windows XP,

Windows Vista.

SO dla wielu użytkowników 
(wielodostępne):

Unix, Solaris, SunOS.

Linux i jego dystrybucje.

background image

SO sieciowe:

Novell NetWare

SO rozproszone:

Mach, Chorus, DCE

SO czasu rzeczywistego:

QNX, RSX-11, RMX-80

background image

SO sieciowy

(NOS – network operating system) 
pozwala wielu komputerom pracować 
we wspólnej sieci i zarządza 
rozmaitymi aspektami pracy 
sieciowej, jak udostępnianie plików 
czy drukowanie 

background image

SO rozproszony

zbiór niezależnych komputerów, 
sprawiająch na jego uzytkownikch 
wrażenie jednego, logicznie zwartego 
systemu 

background image

SO czasu rzeczywistego

spełnia wymagania narzucone przez 
czas działania. Najczęściej wymaga 
się od niego reakcji w określonym 
czasie

takie systemy sterują centralami 
telefonicznymi, systemem ABS w 
samochodzie

background image

Pytania


Document Outline