Professional Documents
Culture Documents
Skripta Prof. Goluba PDF
Skripta Prof. Goluba PDF
Ivan Nenadi
2/34
Predgovor
Ova skripta je raena po biljekama sa auditornih predavanja kolegija Operacijski
sustavi te je mogue da se u njoj pojavljuju raznorazne greke (tipfeleri, krivi prijepisi
s ploe, netone informacije..) pa molim da sve greke ili gradivo koje nije upisano u
ovoj skripti, a trebalo bi biti, prijavite na inenadic@yahoo.com .
Dilanje ove skripte kao i njezino prepravljanje je potpuno besplatno (bar to se
autora tie :-)
P.S. posebna zahvala Zoranu Mariniu na nadopuni skripte kad ja nisam bio
prisutan na predavanjima :-)
2/34
3/34
Sadraj
1.Model jednostavnog raunala.................................................................................. 6
1.1 Dijelovi OS-a ..................................................................................................... 6
1.2 Rudimentalno raunalo ..................................................................................... 6
1.3 Osnovni registri procesora ................................................................................ 7
1.4 Procesor trajno radi sljedee............................................................................. 8
1.5 Osnovni pojmovi ............................................................................................... 8
1.6 Proces se sastoji od .......................................................................................... 8
2.Obavljanje I/O operacija, prekidni rad...................................................................... 9
2.1 Prenoenje znakova radnim ekanjem ............................................................. 9
2.2 Prekidni nain rada procesora ........................................................................ 10
2.3 Podsustav za prihvat vie prekida................................................................... 10
2.4 Prenoenje blokova i sklopovi s neposrednim pristupom................................ 12
3. Datoteni podsustav ............................................................................................. 13
3.1 Koncepcija datoteka........................................................................................ 13
3.2 Opisnik datoteka ............................................................................................. 13
3.3 Smjetaj datoteka u vanjskom spremniku ....................................................... 14
3.4 Tipine datotene operacije ............................................................................ 17
4. Meusobno iskljuivanje u viedretvenim sustavima............................................ 19
4.1 Model viedretvenosti ..................................................................................... 19
4.2 Ostvarenje meusobnog iskljuivanja dretvi ................................................... 21
4.3 Sklopovska potpora meusobnom iskljuivanju.............................................. 23
5. Jezgra OS-a ......................................................................................................... 24
5.1 Uvod................................................................................................................ 24
5.2 Struktura podataka jednostavnog modela jezgre ............................................ 24
5.3 Prikaz moguih stanja dretvi ........................................................................... 26
3/34
4/34
Slike
Slika 1 - Dijelovi OS-a................................................................................................. 6
Slika 2 - procesor i spremnik povezan na sabirnicu.................................................... 7
Slika 3 - pristupni sklop za prijenos pojedinanih znakova ......................................... 9
Slika 4 - vie prekidnih signala spojenih na jedan prekidni ulaz procesora .............. 10
Slika 5 - dijagram rada prekida i prekidne rutine....................................................... 11
Slika 6 - sustav sa sklopom za prihvat prekida ......................................................... 12
Slika 7 - jednostavni model sklopa za neposredni pristup spremniku....................... 12
Slika 8 - Opisnik datoteke ......................................................................................... 13
Slika 9 - ploe tvrdog diska....................................................................................... 14
Slika 10- Fiziki sektori nisu logiki susjedni sektori ................................................ 17
Slika 11 - Grafiki prikaz 4 strategije posluivanja.................................................... 18
Slika 12 - Jezgra OS-a ............................................................................................. 24
Slika 13 Opisnici .................................................................................................... 25
Slika 14 - mogua stanja dretvi................................................................................. 26
Slika 15 statika fragmentacija radnog spremnika................................................. 30
Slika 16 - dinamika fragmentacija radnog spremnika ............................................. 30
4/34
5/34
5/34
6/34
API
GUI
I/O
Input/Output
pretpostavke:
1. U radnom spremniku nalazi se strojni oblik programa i svi potrebni podaci
2. Rezultati programa takoer se pohranjuju u radni spremnik
u jednom sabirnikom ciklusu moe se obaviti samo jedno ili itanje ili pisanje
u radni spremnik
Operacijski sustavi - predavanja
6/34
7/34
registri slue za pohranjivanje svih informacijskih sadraja koji ulaze ili izlaze iz
procesora i u njemu se transformiraju.
7/34
8/34
8/34
9/34
Dvoino rukovanje:
9/34
10/34
omoguiti prekidanje
10/34
11/34
Nedostatak: manje vaan prekid (ija obrada dugo traje) moe ometati rad vanijih
prekida
pristupni sklopovi su razvrstani po vanosti ili prioritetu (npr. vei broj vei
prioritet)
Prekidna rutina ( ) {
(prekidni signal , prekidanje onemogueno, PC je na sust. STOG-u)
pohrani kontekst na sust. STOG;
ispitati uzrok prekida, indeks prekida i;
Ako je (1<=i<=N) {
oznaka_ekanja[ i ] = 1;
zastavica_i = 0;
Dok (postoji oznaka_ekanja[ j ] != 0 && j>tekui_prioritet) {
odaberi najvei j;
oznaka_ekanja[ j ] = 0;
zapis[ j ] kontekst sa sust. STOG-a, tekui_prioritet;
tekui_prioritet = j;
omogui prekidanje;
potprogram za obradu prekida ( j );
zabrani prekidanje;
}
}
}
Operacijski sustavi - predavanja
11/34
12/34
Programski prekidi:
Postoji barem jedna instrukcija koja omoguuje namjerno izazivanje prekida iz
programa.
12/34
13/34
3. Datoteni podsustav
3.1 Koncepcija datoteka
Datoteka je skup informacija povezanih u jednu cjelinu.
Datoteka i rad s datotekama je najvidljiviji dio OS-a.
Datoteni podsustav sastoji se od:
1. datoteka
2. direktorija (tablica)
3. procedura za manipuliranje datotekama
OS sadri naredbe za rad s direktorijima i datotekama
osnovne naredbe:
- stvori direktorij: md ili mkdir
- brii direktorij: rmdir
- premjesti se: cd
- kopiraj: cp
- premjesti datoteku ili direktorij: mov
- brii: rm
Group
x
Other
x
13/34
14/34
14/34
15/34
vel. diska
B (byte)
< 512Mb
512
do 1Gb
1024
do 2Gb
2048
> 2Gb
4056
15/34
16/34
svaka datoteka (pa i MFT) ima u toj datoteci zapis koji je opisnik datoteke
(10+256+256.256+2563 16Gb)
16/34
17/34
Ako su dva sektora koji logiki slijede jedan iza drugoga fiziki smjeteni na
sektorima n i n+k tada je faktor preplitanja jednak k.
stvoriti
izbrisati
kopirati
premjestiti
otvoriti
zatvoriti
itati
pisati
17/34
18/34
Zadatak:
Disk s pokretnim glavama ima 100 staza (0-99). Neka se glava trenutno nalazi na
stazi 29 s tim da je prije bila na stazi 8. Zahtjevi za pristup pojedinim stazama
svrstani su po redu prispjea: 3, 7, 40, 98, 71, 68, 70, 21, 5, 49.
a) koliki je ukupan pomak glave pri izvrenju tih zahtjeva za sve 4 strategije
posluivanja?
b) opisati svaku od navedenih strategija
c) kod kojih strategija moe doi do izgladnjivanja (beskonanog odgaanja
posluivanja nekih zahtjeva zbog posluivanja novopristiglih zahtjeva)?
d) grafiki prikazati kretanje glave prilikom obrade danih zahtjeva za sve 4
strategije
18/34
19/34
Dretve
-
Dretva T ita podatke iz domene D, obavlja neku funkciju f(D) nad podacima iz
domene i rezultat upisuje u poddomenu K.. ( f(D)=K).
Ti i-ta dretva, fi : Di Ki
DVA ZADATKA SU MEUSOBNO NEZAVISNA AKO NEMAJU ZAJEDNIKIH
LOKACIJA U SVOJIM DOMENAMA I PODDOMENAMA.
Uvijet nezavisnosti zadataka i i j je:
( K i K j ) ( Di K j ) ( D j K i ) = 0
Piu na isto mjesto
( Di D j )
19/34
20/34
Z4
M1
M2
M3
M4
Z5
Z6
Z8
K
K
Z7
D
K
D
K
D
K
( K i K j ) ( Di K j ) ( D j K i ) = 0
20/34
21/34
21/34
22/34
22/34
23/34
23/34
24/34
5. Jezgra OS-a
5.1 Uvod
PREKID izaziva ulazak u jezgru.
JEZGRA odluuje kad e se koja
dretva obavljati.
Izlaz iz jezgre jezgrina funkcija je
zavrila, nastavlja se izvoditi prekinuta
dretva.
24/34
25/34
Slika 13 Opisnici
Red
po redu prispjea
- prioritetni red
red UI naprave
25/34
26/34
onemogui prekidanje
omoguiti prekidanje
Operacijski sustavi - predavanja
26/34
27/34
Opi semafor
BSEM
OS
jedne varijable
neprolazan (crveno)
prolazan (zeleno)
jedne kazaljke
OS.v
<=0 neprolazan
>0
prolazan
Mogua stanja su :
semafor je prolazan
neprolazan ali je
red prazan
ekaj_OS
postavi_OS
27/34
28/34
crveno
(nitko ne eka)
crveno
(netko eka)
ekaj_BSEM
v = 0 (proi)
postavi_BSEM
- (ve je zeleno)
ekaj_OS
v--; (proi)
postavi_OS
v++;
v++;
ekaj_OSEM
v--;
postavi_OSEM
v++;
premjesti prvi
opisnik iz reda
BSEM u red
pripravne
dretve(aktivira prvu
dretvu koja se
nalazi u redu)
v++; (ako je
vrijednost == 0,
premjesti prvi
opisnik iz reda OS
u red pripravne
dretve)
premjesti prvi
opisnik iz reda
OSEM u red
pripravne dretve
(prpustiti prvu
dretvu)
28/34
29/34
6. Meudretvena komunikacija
"Medjudretvena
komunikacija.ppt"
29/34
30/34
30/34
31/34
a d
= +q
m m
a = d + m(1 p)
m=a+b+c+d
m = d + m(1-p) + b + c + d, b = c
m = 2d + m mp + 2b =
= 2(d+b) + m mp
m = 2n + m mp
2n = mp
n = (m / 2) . p ; (p 1) => n = m / 2
U stacionarnom stanju broj rupa jednak je polovici broja punih blokova.
31/34
32/34
7.3 Stranienje
Strategije izbacivanja stranica
Zadatak: u sustavu sa stranienjem program veliine 400 rijei (1-400) generira slijed
adresa: 23, 47, 333, 81, 105, 1, 400, 157, 30, 209, 289, 149 i 360.
Program ima na raspolaganju 200 rijei primarne memorije.
Napisati niz referenciranja stranica veliine 50 rijei (to je veliina stranice).
Koliki je postotak promaaja za sve tri strategije izbacivanja stranica?
Zahtjevi
23
47
333
81
105
400
157
30
209
289
149
360
Stranice
FIFO
1
-
1
7
-
1
7
2
-
1
7
2
3
8
7
2
3
8
4
2
3
8
4
1
3
8
4
1
5
6
4
1
5
6
3
1
5
6
3
8
5
LRU
1
-
1
7
-
1
7
2
-
1
7
2
3
1
8
2
3
1
8
4
3
1
8
4
5
1
6
4
5
1
6
3
5
8
6
3
5
OPT
1
-
1
7
-
1
7
2
-
1
7
2
3
1
7
8
3
1
4
8
3
5
4
8
3
5
6
8
3
FIFO (First In First Out) izbacuje se ona stranica koja je bila prva dohvaena.
Svako dobavljanje stranice iz tvrdog diska u radni spremnik naziva se promaaj, a
pogodak kada se trai stranica koja se ve nalazi u radnom spremniku.
LRU (Last Recently Used) izbacuje se ona stranica koja se u povijesti najdulje nije
koristila.
OPT (optimalna strategija) uzima u obzir budunost i nije jednoznana.
Broj stranice u koju spada odreena rije dobije se tako da se podijeli broj te rijei sa
veliinom stranice..npr. 23 / 50 = 0.xx => spada u prvu stranicu, 81 / 50 = 1.xx =>
spada u drugu stranicu.
Postotak promaaja se rauna kao broj_promaaja / broj zahtjeva..npr. za FIFO:
(11 / 13) . 100%
32/34
33/34
Intel x86
-
istoa
33/34
34/34
Vie UNIX operacijskih sustava i WinNT (i vii) koriste inaicu LRU strategije koja se
naziva SATNI MEHANIZAM.
-
34/34
1.
adresni meuregistar
podatkovni meuregistar
instrukcijski registar
programsko brojilo ili PC
registar kazaljke stoga
registar stanja
DRETVA
PROCES
resursima
6. to je to radno ekanje?
RADNO EKANJE je prijenos znakova gdje:
1. procesor treba proitati registar stanja
2. dok je odgovarajua zastavica u registru stanja ZASTAVICA=0 nemoj raditi nita nego
proitaj ponovo RS (registar stanja), tek kad je ZASTAVICA=1 moe se proitati
podatkovni registar (PR).
SKRAENO:
proitaj (RS);
dok je (ZASTAVICA==0) proitaj (RS);
proitaj (PR);
7. Skicirati signale dvoilnog rukovanja izmeu pristupnog sklopa i U/I naprave.
Z2
Z3
M1
M2
M3
M4
Z4
Z5
Z6
K
K
D
K
Z7
K
D
K
D
K
Aktivna dretva
Pasivne dretve
BSEM (binarni semafor)
OSEM (opi semafor)
Odgoene dretve
U/I
Pripravne dretve
Datoteni podsustav
1. Navesti elemente datotenog podsustava. (18)
1.) Datoteka
2.) Tablica (direktorija)
3.) Procedura za manipuliranje datotekama
2. Navesti barem pet osnovnih naredbi operacijskog sustava za rad s datotekama. (18)
stvori (mkdir, md), brii (rmdir), premjesti (mv), kopiraj (copy, cp), promijeni tekui
direktorij (cd)
3. Opisati osnovni sadraj opisnika datoteke. (19)
Sadri:
1.) ime datoteke
2.) tip datoteke
3.) lozinku
4.) ime vlasnika
5.) prava pristupa
6.) vrijeme stvaranja
7.) vrijeme zadnje promjene
8.) ime zadnjeg korisnika
9.) opisnik smjetaja
4. Navesti osnovni sadraj datotene tablice. (20)
1.)
2.)
3.)
4.)
Sistemskim pozivom fork zahtijeva se stvaranje novog procesa. Kada proces koji se trenutno
izvodi pokrene novi proces, pokrenuti proces postaje proces "dijete" procesa "roditelja" koji
ga je pokrenuo. Dijete dobija kopije segmenta instrukcija i segmenta podataka od roditelja.
Takoer, dijete nasljeuje veinu sistemskih podataka od roditelja.
12. Napisati program u C-u ili u pseudokodu koji pokree dva procesa.
To si isfurajte u biljenicu iz OS (labosa) koja je dozvoljena na ispitu. Program ide ovako:
#include <stdio.h>
#define br.procesa 2
#define br. prolaza 5
void proces (int i) {
int j;
for (j=1 ; j<br. prolaza; j++) {
1.)
2.)
3.)
4.)
Zajednika memorija
Cijevovodi (obini i imenovani)
Varijable okoline
Red poruka
14. Napisati program u C-u ili u pseudokodu koji pokree dvije dretve.
1.)
2.)
3.)
4.)
5.)
6.)
7.)
Oslobaanje srednjega:
VJ_broj rupa + 1=a/m * vjerojatnost oslobaanja
VJ_broj rupa 1 = d/m * vjerojatnost oslobaanja + vj_zahtjeva *q
Uvjet ravnotee: jednake vjerojatnosti
q=1-p
a/m=d/m+(1-p) a=d+(1-p)m
m=a+b+c+d= d+(1-p)m+b+c+d
m=2d+m-pm+2b (p1)
pm=2n
n=m/2
21. Zadatak: U sustavu sa stranienjem program veliine 400 rijei (1-400) generira slijed
adresa: 23, 47, 333, 81, 105, 1, 400, 157, 30, 209, 289, 149, 360. Program ima na raspolaganju
200 rijei primarne memorije. Napisati niz refenciranja stanica veliine 50 rijei. Koliki je
postotak promaaja za sve tri strategije izbacivanja stranica?
22. emu slui posmani registar povijesti. Opisati ga.
Koristi se u praktinim ostvarenjima izbacivanja stranica.
23. Budui da Intel x86 nemaju registra povijesti opisati strategiju izbacivanja stranica.
Izbacuje se stranica kojoj je bit pristupa = = 0, a ako je bit = = 1, bit istoe = = 0.
24. to je to satni mehanizam?
Satni mehanizam je jedna inaica algoritma LRV-a koju koriste OS-evi kao to su Unix i Win
NT.