You are on page 1of 24

Veleučilište Velika Gorica 5.3.2018.

VELEUČILIŠTE VELIKA GORICA

Arhitektura OS

Mr.sc. VLADIMIR LEBINAC

Programska podrška računala

 Sustavna
 Namijenjena je pokretanju računala i zatim što
djelotvornijem iskorištenju.

 Aplikativna
 Namijenjena je rješavanju konkretnih korisničkih
poslova

Operacijski sustavi I 1
Veleučilište Velika Gorica 5.3.2018.

Sustavna programska podrška


 Operacijski sustavi
 Operacijski sustav (operating system – OS) je program ili skup programa
koji povezuju i objedinjuju sve sklopovske dijelove računala i
omogućavaju njihovu upotrebu
 OS je podloga svim ostalim programima koji se izvršavaju na računalu
 omogućavaju prikladnu upotrebu računala
 omogućavaju djelotvorno iskorištavanje sklopovskih i programskih
komponenti računalnih sustava
 Pomoćni programi operacijskog sustava
 niz korisnih gotovih rješenja (npr. formatiranje diska)
 Interpreteri i prevoditelji
 omogućavaju prevođenje korisnikovih rješenja pisanih u prikladnom
jeziku (programskom) na strojni jezik.

Arhitektura OS

Operacijski sustavi I 2
Veleučilište Velika Gorica 5.3.2018.

Vrste operacijskih sustava


(prema istovremenosti izvršavanja programa)

 Singletasking OS – omogućava
izvršavanje samo jednog korisničkog
programa u određenom trenutku (npr. MS
DOS)
 redovito koriste znakovno korisničko sučelje
 Multitasking OS – omogućava izvršavanje
više korisničkih programa istovremeno (npr.
MS WINDOWS, UNIX)
 korisnik može pokrenuti više programa, od
kojih se jedan odvija u prednjem planu
(foreground), a ostali u pozadini
(background)
 istodobno odvijanje programa je samo privid
jer CPU sekvencijalno/naizmjenično
raspodjeljuje svakom pokrenutom programu
određeno vrijeme izvršavanja
 najčešće koriste grafičko korisničko sučelje
(Graphic User Interface / GUI)

Vrste operacijskih sustava


(prema istovremenom broju korisnika)

 Singleuser (jednokorisnički) OS –
u određenom trenutku omogućava
rad samo jednom korisniku na
računalu (npr. MS DOS)
 Multiuser (višekorisnički) OS – u
određenom trenutku omogućava
istovremeni rad više korisnika
(npr.UNIX)
 Na nadzorno (glavno) računalo se
priključuje više korisnika
(korisnička računala - terminali)
koji koriste programe sa glavnog
računala
 Istodoban rad više korisnika je
privid jer CPU
sekvencijalno/naizmjenično
raspodjeljuje svakom korisniku
određeno vrijeme izvršavanja
njegova programa
glavno
računalo

Operacijski sustavi I 3
Veleučilište Velika Gorica 5.3.2018.

Neki poznatiji operacijski sustavi


 CP/M (8-bitni) za Intelov mikroprocesor 8080 i Zilogov Z80
 MS DOS 1.0 (1981.) – prva verzija
 MS DOS 6.22 (1994.) – posljednja verzija
 CTOS
 UNIX
 Ultrix, Solaris, OS/2
 Microsoft Windows obitelj operacijskih sustava:
 MS Windows 1.xx (predverzija 1983.)
 MS Windows 2.xx (za mikroprocesor "386")
 MS Windows 3.xx (pravi GUI, Program i File Manager)
 MS Windows 3.11 (zadnje verzije koje su još imale DOS ispod)
 MS Windows 95, 98, Me
 MS Windows 2000, XP
 MS Windows NT
 Apple grupa operacijskih sustava:
 System 7
 MacOS
 Linux
 Lindows

Pojmovi vezani za OS

 Raspoređivač resursa (Resource allocator ) –


upravlja raspoređivanjem i dodjeljivanjem resursa
računala (memorijom, diskovnim prostorom,
procesorskim vremenom,...)
 Kontrolni program (Control program ) –
kontrolira i upravlja izvršavanjem korisničkih programa i
upravlja U/I podsustavom
 Jezgra (Kernel ) – jedini program koji radi cijelo
vrijeme i pokreće sve ostale programe

Operacijski sustavi I 4
Veleučilište Velika Gorica 5.3.2018.

Pojmovi vezani za OS (nast.)

 Sustav s podjelom vremena (Time-


Sharing Systems) – interaktivni rad
n.posao
 CPU vremenski multipleksira i izvršava
1.posao
više poslova (programa)
 Svaki nominirani posao (poslovi moraju biti 2.posao
svi u memoriji računala) ciklički dobiva
vremenski odsječak u kojem se izvršava
 vremenski odsječci su iste veličine 3.posao

 ‘on-line’ komunikacija između korisnika i


računala
4.posao
 kad računalo završi s posao pokrenut
prethodnom komandom, čeka unos nove
komande preko tastature terminala

CPU

Pojmovi vezani za OS (nast.)

 Stolno računalo – osobno računalo (Desktop


Systems, Personal Computer - PC)
 Predodređen za jednog korisnika (u isto vrijeme)
 U/I uređaji: tipkovnica, miš, monitor, pisač, skaner,...
 Može prihvatiti tehnologije operacijskih sustava razvijene za veća
računala
 Može koristiti različite operacijske sustave (Windows, MacOS,
UNIX, Linux)

10

Operacijski sustavi I 5
Veleučilište Velika Gorica 5.3.2018.

Pojmovi vezani za OS (nast.)

 Paralelni sustavi (Parallel Systems)


 Višeprocesorski sustavi sa više procesora u
zatvorenoj internoj komunikaciji
 Spregnuti sustavi (Tightly coupled system) – procesori
dijele memoriju i takt, međusobno komuniciraju kroz
zajedničku memoriju
 Prednosti paralelnih sustava:
- veća propusnost
- ekonomičniji
- povećavaju pouzdanost

 Simetrično procesiranje (SMP)

11

Paralelni sustavi

 Paralelni sustavi – (nastavak)


 Simetrično procesiranje (SMP) CPU 1 CPU 2 CPU n
- Svaki procesor koristi identičnu
kopiju OS-a
- Mnogi procesi mogu raditi
istovremeno
- Većina modernih OS-ova MEMORIJA
podržavaju SMP
 Asimetrično procesiranje
- svaki procesor dobiva posebni
posao mem Glavni
- glavni procesor raspoređuje CPU
poslove podređenima
- karakteristično za ekstremno velike CPU 1 CPU 2 CPU n
sustave

12

Operacijski sustavi I 6
Veleučilište Velika Gorica 5.3.2018.

Distribuirani sustavi

 Računalni sustavi s više pojedinačnih računala prostorno


razdvojenih i komunikacijski povezanih u jedinstveni
sustav
 Svaki procesor ima svoju memoriju i svoj OS
 Komunikacija među procesorima je preko brzih
komunikacija (npr. LAN, Interent)
 Prednosti distribuiranih sustava:
- znatno povećavanje brzine rad cijelog sustava
- pouzdanost
- veće iskorištenje pojedinih procesora
 Zahtijevaju mrežnu infrastrukturu: LAN, WAN
 Mogu biti kao klijent-poslužitelj ili ‘per-tu-per’

13

Klaster sustavi (Clustered Systems)

 Klasteriranje obuhvaća dva ili više sustava koji mogu, ali i


ne moraju dijeliti zajedničke sustave za pohranu
podataka (diskove, trake,..)
 Komunikacija među njima je LAN ili BUS
 Imaju izuzetno visoku pouzdanost
 Asimetrični klastering – jedan server opslužuje a ostali su
u pripremi (‘standby’)
 Simetrični klastering – svi hostovi ili serveri sudjeluju u
opsluživanju zahtjeva
 cikličkim redom – svaki novi zahtjev preuzima sljedeći server
 slučajnim redom –zahtjevi slučajnim redom se dodjeljuju
serverima ili po principu “prvi slobodni”

14

Operacijski sustavi I 7
Veleučilište Velika Gorica 5.3.2018.

Sustavi za rad u stvarnom vremenu


(Real-Time Systems)

 Najčešće se koriste za strogo namjenske aplikacije


(upravljanje vanjskim procesima, znanstvena
istraživanja, upravljanje industrijskim procesima, u
medicini, u vojskama,...)
 Točno utvrđeno vrijeme u kojem se neki događaj treba
obraditi ili neki proces obaviti
 Sustavi za rad u stvarnom vremenu mogu biti čvrsti ili
meki

15

Sustavi za rad u stvarnom vremenu (nast.)

 Čvrsti ‘real-time’
 Sustavi za sekundarnu pohranu podataka ograničeni (flash
memorije, ROM,..)
 ne podržavaju operacijske sustave opće namjene
 Meki ‘real-time’
 Ograničena uporaba u kontroli industrijskih procesa i robotici
 Moderne aplikacije koje koriste napredne osobine operacijskih
sustava (multimedija, virtualna stvarnost,...)

16

Operacijski sustavi I 8
Veleučilište Velika Gorica 5.3.2018.

Dlanovnici (Handheld Systems), mobilni


telefoni i tablična računala

 Osobni digitalni pomagač - dlanovnik (Personal


Digital Assistants - PDAs)
 Mobilni telefon
 Tablično računalo (tablet)
 Značajke:
 ograničena memorija
 sporiji procesori
 mali prikazivači (displeji)
 specifični ili opće namjene OS
 bežično umrežavanje (3G, LTE, WiFi, Bluetuth)

17

Razvoj operacijskih sustava


i njihove značajke

18

Operacijski sustavi I 9
Veleučilište Velika Gorica 5.3.2018.

Klasifikacija rada računala


s obzirom na radnu okolinu
 Tradicionalni rad računala
 matematički programi, grafički programi, multimedijski programi,...
 najčešće nije nužna računalna mreža, jer se programi i podaci nalaze na
samo računalu
 korisnička sučelja ovise o aplikaciji i operacijskom sustavu
 Web orijentirani rad računala
 klijent-poslužitelj
 isto ili vrlo slično korisničko sučelje bez obzira na operacijski sustav
 nužno potrebna računalna mreža
 Rad ugrađenih računala (Embedded Computing)
 računala ugrađena u druge uređaje (radio stanice, instrumente, kućne
perilice, automobile,...)
 obavljaju strogo namjenske poslove
 ograničenih resursa

19

Struktura računalnog sustava

20

Operacijski sustavi I 10
Veleučilište Velika Gorica 5.3.2018.

Rad računalnog sustava

 CPU i U/I uređaji rade istovremeno i konkurentno


 Svaki kontrolor uređaja upravlja pojedinačnim tipom
uređaja
 Svaki kontrolor uređaja ima svoj vlastiti međuspremnik
podataka
 CPU premješta podatke prema/iz memorije i prema/iz
lokalnih međuspremnika
 Kontrolor uređaja premješta podatke između uređaja i
međuspremnika
 Kontrolor po završetku punjenja ili pražnjenja
međuspremnika obavještava CPU zahtjevom prekida

21

U/I struktura
 Nakon pokrenute U/I aktivnost, CPU se vraća korisničkom programu samo ako je U/I
proces završen (SINKRONO)
 Čeka neaktivnost CPU-a, čekajući sljedeći prekid
 Čeka programsku petlju (npr. pri pristupu memoriji)
 Najviše jedan U/I zahtjev moguć je u isto vrijeme, nema simultanog U/I procesiranja
 Nakon pokrenute U/I aktivnosti, CPU se vraća korisničkom programu bez čekanja na
kraj U/I aktivnosti (ASINKRONO)
 Sustavni poziv (System Call) – zahtjeva od OS-a da čeka završetak U/I aktivnosti
 Tablica stanja U/I uređaja sadržava startne podatke za svaki U/I uređaj (tip, adrese, stanje,...)
 OS indeksira sadržaj tablice U/I uređaja, određuje njegov status i modificira sadržaj
uključujući i podatke o prekidu

22

Operacijski sustavi I 11
Veleučilište Velika Gorica 5.3.2018.

Korisnik – U/I podsustav

23

Funkcije jezgre kod I/O prijenosa podataka

 Raspoređivanje pristupa (scheduling) vanjskom


uređaju.
 Međuspremanje (buffering) podataka.
 Keširanje (cache) podataka.
 Formiranje reda čekanja i rezervacija I/O
uređaja (spooling and device reservation).
 Upravljanje greškama i kvarovima (error
handling).

24

Operacijski sustavi I 12
Veleučilište Velika Gorica 5.3.2018.

Dvije metode U/I procesiranja


Sinkrono Asinkrono

25

Transfer podataka radnim čekanjem


 Prenošenje jednog bajta prema izlaznoj napravi:
 Jednom instrukcijom bajt se dobavlja iz spremnika u registar procesora
 Drugom instrukcijom bajt se prenosi u podatkovni registar
 Prihvat jednog bajta od ulazne naprave:
 Jedan način prijenosa naziva se radno čekanje:

Pročitati RS;
dok je (RS[Z] == 0) pročitati RS; // radno čekanje
pročitati PR; //ovim čitanjem zastavica Z se vraća u ‘0’

26

Operacijski sustavi I 13
Veleučilište Velika Gorica 5.3.2018.

Transfer podataka pomoću prekida

 Prekidni transfer podataka odvija se u načelu pomoću prekidnog


potprograma, koristeći prekidne vektore koji sadržavaju adrese svih
prekidnih potprograma
 Arhitektura prekida privremeno prekida izvršavanje tekućeg
programa i pohranjuje adrese tekućih instrukcija
 Aktivirani prekid onemogućava izvršavanje ostalih prekida nižeg
prioriteta
 Prekide generira i sam procesor – unutarnji prekidi procesora
(‘Trap’ ), npr: pokušaj dijeljenja s nulom, adresiranje ne postojeće
lokacije, dekodiranje nepostojećeg operacijskog kôda.
 prekidi izazvani programskom instrukcijom za izvršenje prekida
(programski prekidi)
 Prekidi za pozivanje jezgrenih funkcija (System Calls, Kernel Calls)
 Operacijski sustav je prekidno orijentiran

27

Transfer podataka pomoću prekida


 ZASTAVICA ↑ - generira električki signal koji se preko posebnog vodiča dovodi do
procesora.
 PREKID – procesor prelazi iz korisničkog načina rada u sustavni ili jezgreni način
rada
 pozivaju se potprogrami koji sačinjavaju jezgru OS-a
 procesor pri prelasku u jezgreni način rada djeluje tako da:
 onemogući prekidanje
 adresira sustavni dio spremnika
 aktivira sustavni registar sustavne kazaljke STOG-a
 programsko brojilo ide na sustavni STOG
 u PC se postavlja kazaljka na početak potprograma
 instrukcije ispituje da li se pojavljuje prekidni signal (to se na različitim arhitekturama
izvodi na različite načine)
 Na početku potprograma sve registre pohraniti na sust. STOG (pohraniti kontekst)
 Na kraju programa vratiti registre obrnutim redoslijedom (obnoviti kontekst)
 Prije nego što se PC sa sustav. STOG-a vrati, treba se vratiti iz prekidnog načina
rada:
 omogućiti prekidanje
 prebaciti adresiranje u korisnički adresni prostor
 aktivirati korisnički registar kazaljke STOG-a 28

Operacijski sustavi I 14
Veleučilište Velika Gorica 5.3.2018.

Prekidna rutina
ako je (omogućeno prekidanje i prekidni signal postavljen) {
zabrani daljnje prekidanje;
prebaci adresiranje na jezgreni adresni prostor i aktiviraj
jezgrenu kazaljku stoga;
pohrani programsko brojilo i kontekst na jezgreni stog;
stavi u programsko brojilo adresu potprograma za obradu prekida;
}

Prekidna rutina ( ) {
ponavljaj (sve dok ima podataka za prijenos) {
prenijeti podatak u/iz PR registra;
}
obnovi kontekst sa sust. STOG-a;
omogući prekidanje;
vrati se iz prekidnog načina rada u prekinutu dretvu;
}

29

Tablica statusa uređaja

30

Operacijski sustavi I 15
Veleučilište Velika Gorica 5.3.2018.

DMA (Direct Memory Access) transfer


podataka
 Koristi se kod brzih U/I uređaja za prijenos podataka s ciljem što prije
podatke pohraniti u memoriju
 Kontrolor uređaja transferira blok podataka iz međuspremnika uređaja
izravno u glavnu memoriju i obratno, bez aktivnosti CPU-a
 Jedan prekid za transfer cijelog bloka
dok je (BR 0) {
zatraži sabirnicu;
čekati na dodjelu sabirnice,
postaviti na adresnu sabirnicu sadržaj registra AR;
prenijeti na tu adresu memorije sadržaj registra PR (ili obratno);
AR = AR + 1;
BR = BR – 1;
}
postaviti signal PREKID;

PRISTUPNI SKLOP

31

Struktura za pohranu podataka

 Glavna memorija – CPU može izravno pristupiti


 Sekundarna memorija – povećanje glavne memorije uključuje
memorije koje ne gube sadržaj nakon nestanka napajanja
 Magnetni diskovi – čvrsti metalni ili stakleni disk ovijen magnetskim
materijalom
 Disk se logički dijeli na staze (tracks), koji se dalje dijela na sektore
 Disk kontrolor određuje logičku interakciju između samog diska i
računala
 Datoteka je skup informacija povezanih u jednu cjelinu.
 Datoteka i rad s datotekama je najvidljiviji dio OS-a.
 Datotečni podsustav sastoji se od:
 datoteka
 direktorija (tablica)
 procedura za manipuliranje datotekama

32

Operacijski sustavi I 16
Veleučilište Velika Gorica 5.3.2018.

Mehanizam čvrstog diska

33

Hijerarhija spremnika podataka

 Spremnici podataka organiziraju se hijerarhijski


 Brzina pristupa podacima
 Cijena
 Nestanak podataka nakon napajanja
 ‘Caching’ – kopiranje podataka iz sporijeg
spremnika podataka u bržu međumemoriju

34

Operacijski sustavi I 17
Veleučilište Velika Gorica 5.3.2018.

Hijerarhija spremnika podataka

35

Zaštita sklopovlja

 Dvostruki način rada


 U/I zaštita
 Zaštita memorije
 Zaštita procesora

36

Operacijski sustavi I 18
Veleučilište Velika Gorica 5.3.2018.

Dvostruki način rada

 Dijeljenje resursa zahtjeva zaštitu od operacijskog


sustava, kako jedan neispravni program ne bi
onemogućio ispravan rad drugih programa
 Potrebno je da sklopovska potpora ima mogućnost
razlikovanja između dva načina rada:
1. Korisnički način – izvršavanje završava u korist korisnika
2. Nadzorni način (također i jezgreni ili sistemski način rada) –
izvršavanje završava o korist OS-a

37

Dvostruki način rada (nast.)

 Mod bit upisuje sklopovlje računala s ciljem indikacije tekućeg


načina rada: nadzorni (mod bit = 0) ili korisnički (mod bit = 1)
 Na prekid ili grešku sklopovlje pokreće nadzorni način rada

prekid/greška – postavi jezgreni način


rada (mod bit = 0)

jezgra korisnik

postavi korisnički način rada


(mod bit =1)

Privilegirane instrukcije mogu se izvršiti samo u nadzornom (jezgrenom)


načinu rada
38

Operacijski sustavi I 19
Veleučilište Velika Gorica 5.3.2018.

U/I zaštita

 Sve U/I instrukcije su privilegirane instrukcije.


 Zaštita je nužna kako korisnički program nikad
ne bi ušao u bezizlaznu petlju, kada je računalo
u jezgrenom (nadzornom) načinu rada.

39

Korištenje sustavnih poziva pri


izvršenju U/I procesa

40

Operacijski sustavi I 20
Veleučilište Velika Gorica 5.3.2018.

Zaštita memorije

 Zaštita memorije nužna je i kod najmanjeg prekidnog


vektora i prekidnih uslužnih potprograma
 Za zaštitu memorije koriste se dva registra koji određuju
raspon dozvoljenih adresa koje program može dosegnuti
 Osnovni registar (‘base register’) – sadrži najmanju dozvoljenu
fizičku adresu
 ograničavajući registar (‘limit register’) – sadrži veličinu
dozvoljene memorije
 Memorija izvan dozvoljenog treba ostati zaštićena

41

Korištenje zaštitnih registara

42

Operacijski sustavi I 21
Veleučilište Velika Gorica 5.3.2018.

Logika zaštite memorije

43

Zaštita sklopovlja

 Kada se izvršava nadzorni način rada,


operacijski sustav ima neograničeni pristup
objema memorijama (nadzornoj i korisničkoj)
 Instrukcije punjenja osnovnog i ograničavajućeg
registra su privilegirane instrukcije

44

Operacijski sustavi I 22
Veleučilište Velika Gorica 5.3.2018.

Zaštita procesora

 Tajmer – prekida rad računala nakon


definiranog vremenskog perioda s ciljem zaštite
OS-a
 Tajmer se dekrementira svakim radnim taktom
 Kada odbroji do 0 pokreće sustavni prekid
 Punjenje tajmera je privilegirana instrukcija

45

Mrežna struktura

 Lokalna računalna mreža (Local Area Networks


– LAN)
 Široko rasprostranjene računalne mreže (Wide
Area Networks – WAN)

procesi P P P procesi P P P

OS OS
mrežni podsustav mrežni podsustav

LAN mreža

46

Operacijski sustavi I 23
Veleučilište Velika Gorica 5.3.2018.

Struktura lokalne mreže

47

WAN mrežna struktura


mrežni host
korisnički procesi

operacijski sustav hosta


komunikacijski
podsustav

komunikacija između procesa


preko WAN mreže
komunikacijski procesor
mrežni host korisnički procesi

operacijski sustav hosta

48

Operacijski sustavi I 24

You might also like