You are on page 1of 34

1.! Wprowadzenie i przegl"d.

2.! Struktury systemów komputerowych.


3.! Struktury systemów operacyjnych.
4.! Zarz"dzanie procesami.
5.! Zarz"dzanie zasobami pami#ci..
6.! Zarz"dzanie operacjami wej$cia-wyj$cia.
7.! Ochrona i bezpiecze%stwo.
8.! Przyk!ady konkretnych systemów:
!! Linux,
!! Windows NT/2000/XP/Vista/7,
!! FreeBSD (?)
!! Symbian OS (?)
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 2
1.! A. Silberschatz, P.B. Galvin, G. Gagne, „Podstawy systemów operacyjnych”, wydanie szóste,
WNT 2005; wydanie siódme, WNT 2006.
2.! A. Silberschatz, P.B. Galvin, G. Gagne, „Operating System Concepts”, 8th edition,Wiley 2010.
3.! A. Silberschatz, P.B. Galvin, G. Gagne, „Operating System Concepts with Java”, 6th
edition,Wiley 2004.
4.! A.S. Tanenbaum, ,,Systemy operacyjne", Helion 2010.
5.! A.S. Tanenbaum, „Modern operating systems”, 3rd edition,Pearson Prentice Hall 2009.
6.! A.S. Tanenbaum, A.S. Woodhull, „Operating system design and implementation”, the Minix
book,3rd edition,Pearson Prentice Hall 2006.
7.! W. Stallings, „Systemy operacyjne: struktura i zasady budowy”, Wydawnictwo Naukowe PWN
S.A., Warszawa 2006.
8.! U. Vahalia, „J!dro systemu UNIX – nowe horyzonty”, WNT 2001.
9.! D.P. Bovet, M. Cesati, „Linux kernel”.
10.! G. Coulouris, J. Dollimore, T. Kindberg, „Systemy rozproszone – podstawy i projektowanie”.
11.! M. Ben-Ari, „Podstawy programowania wspó"bie#nego i rozproszonego”.
12.! Z. Weiss, T. Gru&lewski, „Programowanie wspó"bie#ne i rozproszone”.
13.! Dokumentacja systemu Linux on-line: http://tldp.org/, http://www.man.poznan.pl/LDP/.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 3
U!ytkownik
1
U!ytkownik
2
U!ytkownik
3
… U!ytkownik
n

Kompilator Asembler Edytor tekstu … Baza danych

Programy systemowe i u!ytkowe

System operacyjny

Sprz"t
komputerowy

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 4


•! Sprz"t (ang. hardware) – dostarcza podstawowe zasoby systemu
komputerowego: procesor (jednostka centralna, ang. central
processing unit – CPU), pami#', urz"dzenia wej$cia-wyj$cia
(WE/WY) itd.
•! System operacyjny – nadzoruje i koordynuje pos!ugiwanie si#
sprz#tem przez ró(ne programy aplikacyjne (u(ytkowe) pracuj"ce
na zlecenie ró(nych u(ytkowników.
•! Programy aplikacyjne (kompilatory, systemy baz danych, gry
komputerowe, programy dla biznesu) – okre$laj" sposoby u(ycia
zasobów systemu do wykonywania ró(norodnych zada%
u(ytkowników.
•! U!ytkownicy (ludzie, maszyny, inne komputery).

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 5


System operacyjny – program, który dzia!a jako
po$rednik mi#dzy u(ytkownikiem komputera a
sprz#tem komputerowym.
Zadania systemu operacyjnego:
•! Zarz"dzanie zasobami komputera: procesory, pami#',
urz"dzenia wej$cia-wyj$cia, porty komunikacyjne itd.
•! Ukrywanie szczegó!ów sprz#towych przez tworzenie
abstrakcyjnych obiektów (maszyn wirtualnych).
•! Tworzenie $rodowiska, w którym u(ytkownik mo(e
wydajnie i wygodnie wykonywa' programy.

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 6


Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 7
"!Konieczne zatrudnienie operatora (u(ytkownik ! operator).
"!U(ytkownik przygotowuje zadanie (na kartach perforowanych) i przekazuje je
operatorowi.
"!Operator uruchamia zadanie i wyniki zwraca u(ytkownikowi.
"!Skrócenie czasu ustawiania (set-up) przez grupowanie podobnych zada%.
"!Automatyczne porz"dkowanie zada% – automatyczne przekazywanie sterowania od
jednego zadania do drugiego.
"!Wprowadzenie kart steruj"cych w celu rozró(niania zada% itd.
#! Zalety – wi#ksza przepustowo$'!
$! Wady – niska wydajno$':
•! d!ugi czas obiegu zadania;
•! szybki procesor i wolny czytnik kart (drukarka) pracuj"ce naprzemian.
!!Rozwi"zanie: praca w trybie po$rednim (off-line)
%! czytniki kart (drukarki) obs!ugiwane przez pomocnicze komputery !aduj"ce
zadania na ta$my magnetyczne (drukuj"ce wyniki z ta$m) w trybie off-line;
%! komputer g!ówny czyta zadania z ta$my magnetycznej i zapisuje wyniki na
inn" ta$m# (ta$my przenoszone r#cznie).
&!Czytniki magnetyczne szybsze ni! mechaniczne!
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 8
•! Dysk pe!ni rol# bufora mi#dzy
czytnikiem kart a pami#ci".
•! Podczas wykonywania jednego zadania
system operacyjny:
%! czyta nast#pne zadanie z czytnika kart
dysk
na dysk (kolejka zada#),
%! wysy!a wyniki poprzedniego zadania z
dysku na drukark#.
•! Pula zada# (job pool) – struktura
danych pozwalaj"ca systemowi
wybiera' nast#pne zadania do Czytnik CPU drukarka
wykonania (poprawia wykorzystanie kart
CPU).
#! Zalety: Zwi#kszenie wydajno$ci
procesora, jak i urz"dze% WE/WY. Schemat spoolingu
$! Wady: Ma!o wydajny dla szybkich
procesorów (tylko jedno zadanie w
pami#ci operacyjnej).

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 9


!! Wiele zada% rezyduje w tym samym czasie w pami#ci, a procesor jest im
odpowiednio przydzielany (wspó!bie(no$');
'!Na przyk!ad, gdy wykonuj"ce si# zadanie potrzebuje zaczeka' na jak"$ us!ug#
(np. WE/WY), to uruchamiane jest inne.
!! Niezb"dne cechy systemu operacyjnego:
•! Szeregowanie zada# – decydowanie, które zadania z puli zada% maj" by'
za!adowane do pami#ci operacyjnej.
•! Zarz$dzanie pami"ci$ – system musi alokowa' pami#' dla wielu zada%.
•! Planowanie przydzia%u procesora (CPU scheduling) – system musi wybra' do
uruchomienia jedno spo$ród wielu zada% w pami#ci.
•! Ochrona zada# na wszystkich etapach pobytu w systemie.
•! Alokowanie urz$dze#, dostarczanie procedur WE/WY.
#! Zalety: Wydajne wykorzystanie zasobów (CPU, pami#' operacyjna,
urz"dzenia zewn#trzne).
$! Wady:
%! U(ytkownik nie mo(e ingerowa' w zadanie w trakcie jego wykonywania, np.
reagowa' na b!#dy kompilacji, nie mo(e na bie("co testowa' programu itd.
%! D!ugi obieg zadania – od z!o(enia programu do odebrania wyników.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 10
!! Procesor wykonuje na przemian wiele ró(nych zada% (wielozadaniowo&', ang.
multitasking), a prze!"czenia nast#puj" tak cz#sto, (e u(ytkownicy mog" na
bie("co wspó!dzia!a' z programami podczas ich wykonywania.
•! Mo(liwo$' pracy interakcyjnej – u(ytkownik wydaje bezpo$rednio
instrukcje systemowi lub programowi i otrzymuje natychmiastowe
odpowiedzi (zazwyczaj przy u(yciu klawiatury i ekranu monitora).
•! Bezpo&rednio dost"pny systemu plików (on-line file system) – u(ytkownik
ma bezpo$redni dost#p do plików z programami i danymi (zazwyczaj na
dysku).
•! Wymiana zadania pomi#dzy pami#ci" a dyskiem w trakcie jego
wykonywania (swapping).
•! Tworzenie pami"ci wirtualnej (virtual memory), tzn. rozszerzenie pami#ci
operacyjnej pami#ci" dyskow" – umo(liwienie wykonywania zada% nie
mieszcz"cych si# w pami#ci operacyjnej.
•! Wielu u(ytkowników mo(e równocze$nie dzieli' jeden komputer – ka(dy z
nich odnosi wra(enie jakby dysponowa! swoim w!asnym komputerem.
!! Wieloprogramowo&' i podzia% czasu procesora – to podstawowe zagadnienia
nowoczesnych systemów operacyjnych!
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 11
!! Pocz"tkowo:
•! Komputery osobiste (personal computers: PC): systemy komputerowe
dedykowane dla pojedynczego u(ytkownika – pojawi!y si# w latach 1970-
tych.
•! Brak potrzeby maksymalizowania wykorzystania CPU i urz"dze%
zewn#trznych.
•! Mniej istotna ochrona plików, pami#ci.
•! Nacisk na maksimum wygody u(ytkownika i szybko$' kontaktu z
u(ytkownikiem.
(!Systemy operacyjne: MS-DOS, wczesne Microsoft Windows, Apple
Macintosh.
!! Pó&niej:
)! Sieci komputerowe, Internet – zmiana podej$cia do kwestii ochrony i
bezpiecze%stwa (konieczno$' ochrony danych, systemów).
)! Szybkie mikroprocesory, du(e pami#ci – mo(liwo$' zastosowania cech
systemów du(ych komputerów (wielozadaniowo$', podzia! czasu itd.).
(!Nowa generacja systemów operacyjnych dla PC: Microsoft Windows NT/
2000/XP/Vista/7, IBM OS/2, Apple MacOS X (Darwin), Linux.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 12
"! Systemy wieloprocesorowe z wi#cej ni( jednym CPU w $cis!ej
komunikacji mi#dzy sob".
!! Zwane tak(e systemami równoleg%ymi (parallel systems) lub mocno sprz"!onymi
(tightly coupled) – procesory dziel" szyn# systemow" i zegar, czasami pami#' i
urz"dzenia peryferyczne, komunikacja zwykle odbywa si# przez pami#' dzielon".
#! Zalety:
)! wi#ksza przepustowo$',
)! wi#ksza niezawodno$' (!agodna degradacja, tolerancja na awarie),
)! ekonomika skali (oszcz#dno$').
i.! Wieloprzetwarzanie symetryczne (symmetric multiprocessing: SMP):
•! Ka(dy procesor wykonuje identyczn" kopi# systemu operacyjnego.
•! Wiele procesów mo(e by' wykonywanych równocze$nie bez spadku wydajno$ci.
(! Systemy: Sun Solaris, Linux, MS Windows 2000/XP/Vista/7, MacOS X.
ii.! Wieloprzetwarzanie asymetryczne (asymmetric multiprocessing):
•! Ka(dy procesor ma przydzielone specyficzne zadanie; procesor g!ówny (master) szereguje
i przydziela prac# procesorom podrz#dnym (slaves).
•! Cz#$ciej spotykana w bardzo du(ych systemach.
!! Obecne trendy – systemy wielordzeniowe (multicore): wiele rdzeni procesorowych
na jednym chipie " szybsza komunikacja mi#dzy rdzeniami, mniejsze zu(ycie
energii (szczególnie przydatne dla serwerów baz danych oraz WWW). 13
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1
!! Systemy lu(no powi$zane (loosely coupled) – ka(dy procesor ma swoj" w!asn"
pami#' lokaln"; procesory komunikuj" si# mi#dzy sob" za pomoc" ró(nych linii
komunikacyjnych (np. szybkie szyny danych, linie telefoniczne).
#! Zalety:
)! podzia% zasobów (w ró(nych miejscach mo(na mie' ró(ne zasoby),
)! przyspieszanie oblicze# (rozdzielanie oblicze% mi#dzy wiele procesorów, u(ywanie mniej
obci"(onych komputerów – tzw. dzielenie obci"(e%),
)! niezawodno&' (awaria jednego komputera nie wstrzymuje pracy pozosta!ych),
)! komunikacja (wymiana informacji, plików itd. mi#dzy w#z!ami).
!! Ogromnie zyska!y na znaczeniu w ostatnich latach, a w przysz!o$ci powinny jeszcze
bardziej si# rozwija' (coraz szybsze i ta%sze linie komunikacyjne!).
"! Internet, a w szczególno&ci World Wide Web (CERN, 1990), ma przemo!ny wp%yw
na rozwój wspó%czesnych systemów operacyjnych.
•! Sieci komputerowe: lokalne (LAN), miejskie (MAN), rozleg!e (WAN), oparte o
technologie bezprzewodowe sieci ma!oobszarowe (small-area network: SAN).
•! Systemy klient-serwer: systemy serwerów oblicze%, systemy serwerów plików.
•! Systemy Peer-to-Peer (P2P): systemy wymiany plików, np. Napster, Gnutella.
•! Rozproszone systemy operacyjne: systemy w bliskiej komunikacji przez sie'.
!! Rozwijane obecnie systemy Gridowe oraz tzw. Cloud Computing – rozproszone
systemy oblicze%, baz danych i us!ug o zasi#gu globalnym.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 14
*! Wed!ug ogólnie akceptowanej definicji zgrupowane w klaster komputery dziel"
pami#' dyskow" i s" blisko ze sob" powi"zane poprzez sie' LAN.
!! Ró(ni" si# od systemów równoleg!ych tym, (e z!o(one s" z dwu lub wi#cej
indywidualnych systemów sprz#(onych razem.
!! Zwykle s" u(ywane w celu dostarczania serwisów wysokiego poziomu dost"pno&ci
(high-availability services), tj. takich serwisów, które b#d" dost#pne nawet gdy
jeden lub wi#cej systemów w klastrze ulegnie awarii.
•! Tryb asymetryczny: jeden komputer pozostaje w pogotowiu (hot-standby host)
monitoruj"c aktywne serwery aplikacji – gdy który$ z nich ulegnie awarii, wówczas
przejmuje jego rol#.
•! Tryb symetryczny: wszystkie komputery klastra dzia!aj" jako aktywne serwery
aplikacji i zarazem monitoruj" si# nawzajem na wypadek awarii.
"! Inne rodzaje klastrów:
%! klastry równoleg%e: wiele komputerów ma dost#p do tych samych danych w dzielonej
pami#ci masowej (np. Oracle Parallel Server) – potrzebna synchronizacja, np. w formie
distributed lock manager (DLM);
%! klastry w sieciach rozleg%ych, np. storage-area networks (SAN) – wiele ró(nych
systemów pod!"czonych do wielu jednostek pami#ci masowej poprzez WAN.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 15
"! U(ywane jako sterowniki urz"dze% o $ci$le okre$lonym celu.
)! Surowe wymagania czasowe.
)! Nierzadko sprz#(enie zwrotne.
•! Rygorystyczne systemy czasu rzeczywistego (hard real-time systems):
%! pami#' pomocnicza ma!a lub jej brak, dane przechowywane w pami#ci o krótkim
czasie dost#pu lub pami#ci tylko do odczytu (ROM);
%! w konflikcie z systemami z podzia!em czasu – dlatego nie s" realizowane w
uniwersalnych systemach operacyjnych.
!! Zastosowania do sterowania procesami przemys!owymi, nadzorowania
eksperymentów naukowych, obrazowania bada% medycznych itd.
•! )agodne systemy czasu rzeczywistego (soft real-time systems):
%! krytyczne zadanie do obs!ugi w czasie rzeczywistym otrzymuje pierwsze%stwo przed
innymi zadaniami,
%! !agodniejsze wymagania czasowe – mog" wyst#powa' pewne opó&nienia.
!! Zastosowania w technikach multimedialnych, wirtualnej rzeczywisto$ci,
zaawansowanych projektach badawczych – wymagaj"cych systemów operacyjnych o
rozbudowanych w!a$ciwo$ciach.
!! Znajduj" si# w wi#kszo$ci wspó!czesnych systemów operacyjnych,
(wi#kszo$' wersji systemu UNIX, Windows XP/Vista/7).
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 16
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 17
"! Tradycyjne obliczenia
•! W przesz!o$ci typowymi $rodowiskami obliczeniowymi by!y: przedsi#biorstwo,
instytucja, biuro, czy pojedynczy komputer; komunikacja zdalna by!a utrudniona.
•! Wraz z rozwojem sieci przewodowych i bezprzewodowych oraz technologii WWW
$rodowiska obliczeniowe staj" si# coraz bardziej rozproszone i globalne.
"! Obliczenia oparte na WWW (Web-based computing)
•! Rozpowszechnienie WWW sprawi!o, (e coraz wi#cej i to coraz bardziej ró(norodnych
urz"dze% ma do niego dost#p: PC, PDA, telefony komórkowe itd.
•! )rodowisko obliczeniowe WWW zwi#kszy!o znaczenie !"czno$ci sieciowej w
odniesieniu do urz"dze% sprz#towych oraz systemów operacyjnych.
•! Powsta!a nowa kategoria urz"dze%: balansery obci$!e# (load balancers) – rozdzielaj"
po!"czenia sieciowe w ramach puli podobnych serwerów.
"! Obliczenia wbudowane (embedded computing)
•! Najbardziej rozpowszechnionymi formami komputerów s" komputery wbudowane, np.
w samochodach, robotach produkcyjnych, magnetowidach, kuchenkach mikrofalowych,
systemach alarmowych itd.
•! Ich celem jest na ogó! wykonywanie bardzo specjalizowanych funkcji.
•! Komputery wbudowane dzia!aj" cz#sto pod nadzorem wbudowanych systemów czasu
rzeczywistego.
•! Systemy operacyjne tego typu urz"dze% maj" do$' ograniczone mo(liwo$ci.
!! Zastosowania oraz mo(liwo$ci systemów wbudowanych stale si# zwi#kszaj"!
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 18
•! Dzia!anie systemu komputerowego.
•! Struktura wej$cia-wyj$cia.
•! Struktura pami#ci.
•! Hierarchia pami#ci.
•! Ochrona sprz#towa.

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 19


Dysk Dysk Klawiatura Drukarka Monitor

Mysz

Jednostka
Sterownik Sterownik Sterownik
centralna
(CPU)
dysku USB wideo

Szyna
systemowa

Pami"'
operacyjna

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 20


•! CPU i sterowniki urz$dze# (device controllers) s"
po!"czone wspóln" szyn$ systemow$ (system bus).
•! CPU i sterowniki mog" dzia!a' wspó%bie!nie.
•! Ka(dy sterownik odpowiada za okre$lony typ urz"dzenia
(np. nap#dy dysków, monitor, USB itd.).
•! Ka(dy sterownik ma swój lokalny bufor.
•! CPU przesy!a dane mi#dzy pami#ci" operacyjn" a
lokalnymi buforami.
•! Operacje wej$cia-wyj$cia odbywaj" si# mi#dzy
urz"dzeniami a lokalnymi buforami sterowników.
•! Sterownik informuje CPU o zako%czeniu swojej operacji
za pomoc" przerwania (interrupt).
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 21
•! Przerwanie przekazuje sterowanie do procedury obs%ugi przerwania,
zwykle poprzez wektor przerwa# zawieraj"cy adresy wszystkich procedur
obs!ugi (stosowane np. w systemach UNIX, MS-DOS).
•! W architekturze przerwa% trzeba uwzgl#dnia' przechowywanie adresu
przerwanego rozkazu.
•! Podczas obs!ugi jednego przerwania inne przerwania s" wy%$czone, aby
uchroni' przed jego utrat$.
•! Przerwanie generowane przez oprogramowanie nazywa si# pu%apk$ (trap) –
mo(e by' spowodowane przez jaki$ b!"d (np. dzielenie przez zero) lub na
(yczenie u(ytkownika.
•! System operacyjny (SO) przechowuje stan CPU zapami#tuj"c zawarto$'
rejestrów i licznika rozkazów.
•! SO ustala rodzaj przerwania przy pomocy: odpytywania (polling) lub
wektorowego systemu przerwa#.
•! Oddzielne segmenty kodu okre$laj" dzia!ania, jakie nale(y podj"' dla ka(dego
typu przerwania.
•! Nowoczesne systemy operacyjne s" sterowane przerwaniami (interrupt
driven).
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 22
"! Przerwania wej&cia-wyj&cia
•! Przed operacj" WE/WY CPU okre$la zawarto$' rejestrów w sterowniku.
•! Sterownik sprawdza stan swoich rejestrów, aby okre$li' rodzaj dzia!ania, a
nast#pnie wykonuje to dzia!anie (np. dla operacji czytania przesy!a dane z
urz"dzenia do swojego lokalnego bufora).
•! O zako%czeniu dzia!ania sterownik informuje CPU za pomoc" przerwania.
!! Synchroniczne WE/WY (synchronous I/O) – CPU czeka na zako%czenie
operacji WE/WY.
$! Nieefektywne wykorzystanie CPU i urz$dze# WE/WY!
!! Asynchroniczne WE/WY (asynchronous I/O) – rozpocz#cie operacji WE/WY i
kontynuowanie dzia!a% systemu operacyjnego lub programu u(ytkownika bez
czekania na zako%czenie.
%! Tablica stanów urz$dze# (device status table) okre$laj"ca typ urz"dze%, ich adresy i
stany (wolne, zaj#te, …) – potrzebna do obs!ugi wielu urz"dze%.
%! Kolejka oczekuj$cych zamówie# dla ka(dego urz"dzenia – do obs!ugi zamówie%
wielu procesów.
#!Efektywniejsze wykorzystanie CPU i urz$dze# WE/WY.
•! Na koniec procedura obs!ugi przerwania urz"dzenia WE/WY zwraca sterowanie
– do programu u(ytkownika, do p#tli czekania, etc.

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 23


•! U(ywana dla szybkich urz"dze% WE/WY zdolnych do
transmisji danych z szybko$ci" zbli(on" do szybko$ci
pami#ci operacyjnej (np. dyski, sieci komunikacyjne).
•! Sterownik urz"dzenia przesy!a blok danych mi#dzy
CPU w!asnym buforem a pami#ci" – bez interwencji procesora.
•! Przerwanie jest generowane na ca!y blok danych, a nie po
ka(dym przes!anym bajcie (jak dla powolnych urz"dze%
WE/WY).
•! Dzia!anie:
%! SO wybiera bufor z kolejki buforów do przes!ania.
Pami"' %! Modu% obs%ugi urz$dzenia (device driver) ustawia w
rejestrach DMA adresy &ród!a i celu oraz d!ugo$' transmisji.
%! Sterownik DMA otrzymuje rozkaz do zainicjowania operacji
WE/WY.
Instrukcje
%! Podczas transmisji danych procesor mo(e wykonywa' inne
WE/WY zadania.
Urz$dzenia %! Po zako%czeniu operacji sterownik DMA wysy!a procesorowi
przerwanie.
WE/WY #! Du!a szybko&' operacji WE/WY.
$! Sterownik DMA „kradnie” cykle pami"ci procesorowi,
co mo!e spowalnia' jego dzia%anie.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 24
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 25
Rejestry

Pami"' podr"czna

Szybko&' Pami"' operacyjna


Ulotno&'
Koszty Dysk elektroniczny

Dysk magnetyczny

Dysk optyczny

Ta&my magnetyczne

Szybszy system pami#ci mo(e by' u(ywany jako pami#' podr#czna (cache) dla
wolniejszego systemu pami#ci.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 26
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 27
"! Dualny tryb operacji:
•! Dzielenie zasobów systemowych wymaga od systemu operacyjnego
zapewnienia, (e niepoprawny program nie spowoduje, (e inne programy b#d"
dzia!a' nieprawid!owo.
•! Rozwi"zanie – wyposa(enie sprz#tu w $rodki umo(liwiaj"ce co najmniej dwa
tryby pracy:
1)! Tryb u!ytkownika (user mode) – dzia!ania w imieniu u(ytkownika.
2)! Tryb j$dra (monitora, systemu, nadzorcy, uprzywilejowany) (kernel
mode) – dzia!ania w imieniu systemu operacyjnego.
•! Sprz#t posiada bit trybu (mode bit) do wskazywania bie("cego trybu pracy:
tryb j$dra (0) albo tryb u!ytkownika (1).
•! Przy ka(dorazowym wyst"pieniu przerwania lub pu%apki sprz#t zmienia tryb
pracy z trybu u!ytkownika na tryb j$dra.
•! Potencjalnie niebezpieczne rozkazy kodu maszynowego s" oznaczane jako
rozkazy uprzywilejowane (privileged instructions), które mog" by'
wykonywane tylko w trybie j$dra.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 28
•! Czasomierz (timer) – generuje przerwania po
wyznaczonym okresie czasu aby zapewni' systemowi
operacyjnemu utrzymanie kontroli.
%! Licznik czasomierza jest zmniejszany przy ka(dym tykni#ciu
zegara.
%! Kiedy licznik osi"gnie warto$' zero pojawia si# przerwanie.
•! Czasomierz jest zwykle u(ywany do realizacji podzia%u
czasu.
•! Czasomierza u(ywa si# równie( do obliczania
bie!$cego czasu.
•! Ustawianie czasomierza jest rozkazem
uprzywilejowanym.

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 29


Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 30
Baza Baza + granica

Adres Tak Tak


Procesor #! < Pami"'
Nie Nie

Przej&cie pod nadzór systemu operacyjnego:


b%$d adresowania
!! Rozkazy %adowania rejestrów bazowego i granicznego s" rozkazami
uprzywilejowanymi.
!! Pracuj"c w trybie monitora system operacyjny ma nieograniczony dost"p do
pami"ci zarówno monitora jak i u!ytkownika.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 31
*!Rozkazy WE/WY s" uprzywilejowane – jak zatem
u(ytkownik mo(e wykonywa' operacje WE/WY?
!!Wywo%anie systemowe (system call) – metoda poprzez
któr" proces zamawia jak"$ akcj# systemu
operacyjnego.
•! Zwykle przyjmuje posta' przej$cia do okre$lonej komórki w
wektorze przerwa# (poprzez rozkaz trap lub rozkaz syscall).
•! Sterowanie przechodzi przez wektor przerwa% do procedury
obs!ugi w systemie operacyjnym, a bit trybu jest ustawiany na
tryb j$dra.
•! System operacyjny – po sprawdzeniu, (e parametry
wywo!ania s" poprawne i dozwolone – spe!nia ("danie oraz
zwraca sterowanie do rozkazu, który nast#puje bezpo$rednio
po wywo!aniu systemowym.
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 32
J$dro
Przypadek n
systemu
.. 2 Wykonanie
. operacji WE/WY
Czytaj
Przej$cie do
1 ..
j"dra .
3 Powrót do
. u(ytkownika
.
.
Wywo%anie
systemowe n
. Program
. u!ytkownika
.

Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 33


1.! Przedstawi' schemat systemu komputerowego i krótko scharakteryzowa' jego sk!adowe.
Czym jest i jakie podstawowe zadania spe!nia system operacyjny?
2.! Omówi' ewolucj# systemów operacyjnych od wczesnych systemów dla komputerów
mainframe po systemy z podzia!em czasu. Jakie by!y motywy wprowadzania kolejnych
innowacji i jakie wynalazki technologiczne je umo(liwia!y? Jak mo(na okre$li' wspó!czesne
systemy operacyjne i jakie maj" one zalety/wady?
3.! Z jakimi typami systemów operacyjnych mamy dzi$ do czynienia? Uzasadni' celowo$'
takiej ró(norodno$ci. Przedstawi' podstawowe charakterystyki poszczególnych typów oraz
poda' ich zalety. Jak wygl"da!y kiedy$, a jak wygl"daj" dzi$ $rodowiska obliczeniowe?
4.! Naszkicowa' podstawow" architektur# systemu komputerowego i opisa' krótko jej
dzia!anie. Na czym polega i do czego s!u(y mechanizm przerwa%?
5.! W jaki sposób CPU komunikuje si# z urz"dzeniami wej$cia-wyj$cia przy u(yciu przerwa%?
Poda' argumenty za i przeciw synchronicznemu oraz asynchronicznemu WE/WY. Na czym
polega mechanizm DMA i kiedy powinien by' stosowany?
6.! Scharakteryzowa' hierarchiczn" struktur# pami#ci systemu komputerowego i uzasadni' jej
celowo$'. Jakie wi"(" si# z ni" niebezpiecze%stwa? Do czego s!u(y pami#' podr#czna?
7.! Jak realizowana jest podstawowa ochrona sprz#towa g!ównych zasobów systemu
komputerowego? Uzasadnij potrzeb# takiej ochrony oraz sposoby jej realizacji? W jaki
sposób i dlaczego tak u(ytkownik mo(e realizowa' operacje wej$cia-wyj$cia?
Wies!aw P!aczek Systemy Operacyjne: Wyk!ad 1 34

You might also like