os-01 uvod

18

Click here to load reader

Upload: api-3759825

Post on 07-Jun-2015

179 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OS-01 Uvod

1

Operacijski sustavi

Nastavnici:Predavanja: Prof.dr.sc. Davor Antonić

Laboratorijske vježbe:?

2

Uvodne informacije

� Nastava:� predavanja� laboratorijske vježbe� obaveza pohađanja predavanja i vježbi !

� Uvjeti za potpis:� redovito pohađanje predavanja� odrađene laboratorijske vježbe

Page 2: OS-01 Uvod

3

Uvodne informacije

� Načini polaganja ispita:a) redovito pohađanje nastave, kontinuirani rad tokom

semestra, provjera znanja na kontrolnim zadaćama =>tokom semestra odradili ste sve obveze i postignuta ocjena upisuje vam se u indeks bez dodatnog ispita

b) ispunjenje minimalnih uvjeta za potpis, izlazak na usmeni ispit

� Elementi za formiranje ocjene:� redovitost pohađanja nastave� zalaganje na laboratorijskim vježbama� seminarski rad� kontrolne zadaće – dvije kontrolne zadaće koje sadrže

gradivo s vježbi i predavanja

4

Uvodne informacije

� Konzultacije (predavanja):� na fakultetu: prije i nakon predavanja� e-mail: [email protected]

� Materijali s predavanja, kao i obavijesti vezane uz predavanja nalaziti će se na adresi:

http://www.etfos.hr/~dantonic/Nastava/

Page 3: OS-01 Uvod

5

1. M. Žagar, UNIX – kako ga koristiti2. M. Žagar, UNIX – kako ga iskoristiti

3. UNIX Operating System, Addison-Wesley, Reading4. A. Silberschatz, P.B. Galvin: Operating System Concepts;

Addison -Wesley, Reading ,19945. A.S. Tanenbaum: Operating Systems, Design and

Implementation, Prentice-Hall Engelwood Cliffs 19876. W. Stalling: Operating Systems; Macmillan, New York

19927. S.J. Lefler, M.R. McKusich, M.J. Karels, J.S. Quarterman:

The Design and Implementation of the 4.3 BSD 1989

Literatura

6

Operacijski sustav je skup programskih proširenja računalnog sklopovlja koji stvara virtualni sustav za podržavanje korisničkih programa pisanih u programskim jezicima.

Operacijski sustavi moraju podržavati1. raznovrsne uređaje:

* određeni procesor* memorija do određene veličine* rad s različitim napravama za ulaz i izlaz podataka

2. programska okruženja za* razvijanje i izvođenje programa* obradu teksta i slike* rad s bazama podataka* matematičko i inženjersko proračunavanje* rad u podijeljenom i stvarnom vremenu* rad u računalnoj mreži

1. UVOD Slojevita struktura operacijskog sustava

Page 4: OS-01 Uvod

7

Zadaci operacijskih sustava:

* omogućavanje što jednostavnije upotrebe računala* omogućavanje što djelotvornije upotrebe sklopovskih i

programskih komponenti računalnih sustava

8

Povijesni pregled i razvoj operacijskih sustava

1. Odsustvo operacijskog sustava (“golo računalo”): Programer-operater na razini preklopki i strojnih naredbi upravlja strojem.Upravljački programi naprava (engl. Device Driver) javljaju se kao prvi dio operacijskog sustava.

2. Operacijski sustav za grupnu (engl. Batch) obradu. Grupe (batch) pripremljenih poslova obavljaju se vremenski jedna za drugom.

Page 5: OS-01 Uvod

9

3. Višeprogramski rad: Uz “radni “ program koji troši razmjernomnogo CPU vremena istovremeno rade programi sa sporimulaznim i izlaznim jedinicama (engl. Spool: SimultaniousPheripheral operation On-line, Power: Peripheral OutputWriter - Reader)

4. Višeprogramski rad u podijeljenom vremenu (engl. Time Sharing). Grupni i/ili interaktivni rad. Poslovi više korisnika obavljaju se “dijeljenjem” vremena” i računalnih sredstava.

5. Operacijski sustavi osobnih računala: jednokorisnički interaktivni i grupni rad.

6. Mrežni sustavi: korištenje sredstava na različitim mjestima(čvor, engl. Node), razmjena datoteka i poruka.

7. Raspodijeljeni sustavi: mreža se koristi kao jedinstven sustav.8. Rad u stvarnom vremenu (engl. Real-time): posao se obavlja

u skladu sa strogim vremenskim ograničenjima.

10

Velika računala(mainframes)

1950 1960 Multix 1970 1980 1990 2000

UnixMini računala

Mikroračunala

višekoris-nički rad

mrežni i raspodijeljenisustavi

kompilatori podjelavremena

višekoris-nički rad

mrežni i raspodijeljenisustavi

interpreteri interaktivni rad, mrežni i (BASIC) raspodijeljeni sustavi

kompilatori, grupnaobrada

Unix WindowsPC DOS

Page 6: OS-01 Uvod

11

Kompilator Asembler Uređ ivač teksta Sustav baze podataka

Korisnik 1 Korisnik 2 Korisnik 3 Korisnik n

Korisnički programi

Operacijski sustav

Računalno sklopovlje

Hijerarhijska građa sustava

12

U građi računala uočava se hijerarhijski pristup

Ri

Ri-1

Ri+1

sučelje

Svaka razina ima svoje objekte i u njoj su definiraneoperacije nad tim objektima. Razina Ri se može smatratiapstraktnim (virtualnim) slojem.

Principi stroge hijerarhijske izgradnje:* Svaka razina dodaje nove operacije i objekte izgrađene

objektima i operacijama neposredno niže razine.

* Razina može preuzeti neke operacije i objekte niže razine kao svoje, sve ostale operacije niže razine su skrivene

* Detalji ostvarenja objekta i operacije su skriveni (inevažni)

U operacijskim sustavima ne slijedi se do kraja princip stroge hijerarhijske izgradnje: iz jedne razine može se neposrednokoristiti operacije nekih nižih razina (osim skrivenih operacija)

Page 7: OS-01 Uvod

13

Za neke od razina nastoji se definirati (i standardizirati) objekte ioperacije kako bi se sustavi međusobno ujednačili (kompatibilnost).To je osnova načela otvorenih sustava

Granica između razina može se zvati sučeljem (engl. interface)

U strogo hijerarhijskom sustavu može se nižu razinu ostvariti narazličite načine. Tako dugo dok sučelje prema višoj razini ostanenepromijenjeno, više razine se mogu nesmetano koristiti.

14

Tipične razine slojevitog modela računalnog sustava

Raz. N a z i v O b j e k t i Tipične operacije1. Elektronički sklopovi Registri, sabirnice, Brisati, prenijeti

logički sklopovi komplementirati, 2. Skup instrukcija Elementarni tipovi podataka Unarne i binarne ope-

racije, grananja3. Procedure Odsječci programa, stog Definirati, pozvati

4. Prekidi Procedure za obradu prekida omogućiti, zabraniti,maskirati

5. Osnovni (“laki”) Procedure sa stogovima Staviti, skinuti,slijed instrukcija, nit redovima i semaforima zaustaviti, čekati

6. U/I kanali Blokovi podataka, kanali otvoriti, zatvoriti, čitati7. Virtualna memorija Blokovi segmenti Prenijeti, dohvatiti8. Ulazno izlazne naprave Naprave (engl. Units) Pripremiti, pisati9. Datoteke U/I moduli Otvoriti, čitati, pisati10. Korisnički procesi Korisnički programi Započeti, zaustaviti,

privremeno prekinuti

Page 8: OS-01 Uvod

15

2. Strukture podataka

2.1 Osnovni tipovi podataka i elementarne instrukcije.

Rudimentarno računalo: Spremnik: skup lokacija duljinen bitovaSvaka lokacija ima svoju adresu A(li)

Skup instrukcija

Procesor: Skup registaraRegistri: Pogramsko brojilo PC

kazaljka sloga SPregistar stanja PSpodatkovni registriadresni registri

Sabirnica (Bus)

Spremnik(Memorija)

Procesor

16

U procesoru se dobavljeni podaci interpretiraju kao:

* niz bitova (unutar instrukcija za logičke operacije)* cijeli broj (unutar instrukcija za aritmetiku cijelih brojeva)* broj s pomičnim zarezom (aproksimacija realnog broja -

racionalni broj; unutar instrukcija u aritmeticipomičnog zareza)

To su elementarni tipovi podataka.Podaci su pojedinačni (nisu vektori ili sl.)Sve ostale tipove podataka i njihove strukture treba ostvariti programski.

Page 9: OS-01 Uvod

17

Procesor je automat koji obavlja instrukcije:

ponavljajdohvati iz spremnika instrukciju na koju pokazuje PC;dekodiraj instrukciju;povećaj sadržaj PC tako da pokaže na slijedećuinstrukciju;dohvati operande određene adresnim dijelom instrukcijeobavi operaciju određenu operacijskim kodomdo isključenja

Pretpostavlja se da su instrukcije smještene u spremnik redom urastućem nizu adresa. Narušavanje slijednosti u programu postiže seinstrukcijama skoka (uvjetnog ili bezuvjetnog) koje mijenjaju sadržajprogramskog brojila.

18

2.2 Struktura programa

U zapisanom slijednom programu se pretpostavlja da se instrukcijeobavljaju redom kako su napisane.

Narušavanje normalnog slijeda događa se kao posljedica slijedećihjezičnih konstrukcija:

ako je … onda … inače if …. then… elseponavljaj…. do repeat … untildok je whileza i=n do k čini for i= n to k dokada je m case m

Page 10: OS-01 Uvod

19

ako je uvjet ako je uvjet ako je uvjetonda onda onda jedna instrukcija

više instrukcija više inače jedna instrukcija inače instrukcija

više instrukcija

kraj ako kraj ako

ponavljaj dok je uvjet činiti za i = 1 do n činiti kada je m

m1 tadado uvjet kraj dok kraj za

m2 tada

ostalo

kraj kada je

20

3. Obavljanje ulazno izlaznih operacija3.1. Priključivanje ulazno izlaznih napravaUlazno izlazne naprave se međusobno znatno razlikuju. U načelu semogu podijelitiu dvije skupine.

- sadržaji se prenose znak po znak (stream)- sadržaji se prenose u blokovima (record)

Naprave djeluju na različitim fizikalnim osnovama i svojim vlastitimbrzinama i stoga se moraju na neki način sinkronizirati s radom procesa.

Svaka ulazno-izlazna naprava mora imati svoj upravljački sklop, čiji elektronički sklopovi i lokalni programi upravljaju detaljima djelovanjanaprave. Priključci upravljačkog sklopa prema procesorsko memorijskomsustavu moraju biti takovi, da se pojedinačni znakovi ili niz znakova tj.blokovi prenose kao bajtovi, odnosno niz bajtova.

Page 11: OS-01 Uvod

21

sabirnica

spremnik

procesor pristup

upravljačkisklop

u - inaprava

Za često upotrebljavane napravese pristup i upravljački sklop objedinjuju tako da postoje objedinjene upravljačke jedinice(engl. kontroleri) za:

diskove,diskete,pisače,komunikacijske protokole i dr.

22

Načelna struktura pristupa gledana sa strane sabirnice

Spremnik

ProcesorPrepo-znava-teljadresa

R. podataka R.stanja Uprav-ljački diopristupa

Prema odnosno od naprave

adrese

podaci

upravljanje

Pristupu su pridružene dvijeadrese:

- adresa registara podataka- adresa registara stanja

Page 12: OS-01 Uvod

23

Programsko obavljanje ulazno izlazne operacije, npr. prihvat (“čitanje”)jednog znaka:

SR

upisati

zastavica

zastavica

Registar podataka

postavlja se u stanje 1 istovremeno supisivanjem sadržaja u registar podataka

Briše se istovremeno s čitanjem registrapodataka od strane procesoraProgram za čitanje glasi:

pročitaj registar stanjadok je zastavica=0 čini

pročitaj registar stanjakraj sve dok

prenesi podatak iz registra podataka u akumulatorbriši zastavicu

registar stanja

24

Procesor “čeka” u petlji dok ulazna naprava “priprema” podatak. To je tzv. radno čekanja (engl. busy form of waiting)

Upravljački sklop naprave mora biti tako sačinjen da naprava upisujenovi podatak u registar podataka tek kada “vidi” da je zastavica =0

Na fizikalnoj (električkoj) razini odvija se slijedeći protokol:

upisati

zastavica

čitanje reg. podataka

To je tkz. dvožično rukovanje (engl. two wire handshaking)

Page 13: OS-01 Uvod

25

3.2. Prekidni rad

Radno čekanje je vrlo neprikladno, pogotovo ako u računalnom sustavu ima više UI pristupa

Zbog toga je uveden mehanizam prekida (engl. Interrupt). Pokazalose s vremenom da je taj mehanizam prikladan i za druge sinhronizacijske potrebe i za signaliziranje iznimnih događaja.

Osnovna zamisao:

* Postavljanje bita ZASTAVICA u registru stanja popraćenoje postavljanjem električnog signala koji se posebnimvodičem dovodi do procesora.

* Procesor mora na kraju izvođenja svake instrukcijeispitivati postavljeni signal prekida.

26

Procesor djeluje ovako:Ponavljaj

Dohvati iz spremnika instrukciju na koju pokazuje PC;Dekodiraj instrukciju;Povećaj sadržaj PC-a tako da pokazuje na slijedećuinstrukciju;Dohvati operande određene adresnim dijelom instrukcije;Obavi operaciju određenu operacijskim kodom instrukcije;Ako je prekidni signal postavljen

ondaZabrani daljnje prekidanje;Spremi programsko brojilo PC na stog;Stavi u programsko brojilo adresu koja je usvrhu tog prekida pohranjena u spremniku;

Kraj Ako jeDo isključenja

Slijedeća instrukcija bit će obavljena s adrese prekida a tamo se moranalaziti prva instrukcija za obradu prekida.

Page 14: OS-01 Uvod

27

Pretpostavimo da ima više pristupa koji mogu zatražiti prekid.

Spremnik

Procesor

sabirnica

prekidni vodič

Pristup 1 Pristup 2 Pristup N.......

28

Programski odsječak za obradu prekida (zabranjeno prekidanje, PC na stogu)

Spremi sadržaje registara procesora na stog;Pročitaj registar stanja 1;Ako je ZASTAVICA_1=1 onda skoči na obrada_prekida_1Pročitaj registar stanja 2;Ako je ZASTAVICA_2=1 onda skoči na obrada_prekida_2

Pročitaj registar stanja N;Ako je ZASTAVICA_N=1 onda skoči na obrada_prekida_NVrati sa stoga sadržaje registara u registre procesora;Dozvoli prekidanje;Vrati sa stoga sadržaj u PC;

Page 15: OS-01 Uvod

29

Programski odsječak (procedura) “Obrada prekida i” mora:pročitati/upisati registar podataka u pristupu “i” i timeponištiti uzrok prekida, tj. izbrisati “flag” ZASTAVICA_i tezavršiti na sljedeći način:

Vrati sa stoga sadržaje registara u registre procesora;Dozvoli prekidanje;Vrati sa stoga sadržaj u PC;

Ovakvo rješenje ima neke nedostatke:Tako dugo dok traje obrada prekida daljnji prekidi su zabranjeniNe može se prihvatiti neki novi prekid iako je možda njegovaobrada hitnijaIspitivanje obrade prekida je strogo sekvencijelno.

Ilustrativno je razmotriti kako bi izgledao program koji otklanjanavedene nedostatke, ostvaren s najjednostavnijim sklopovljem:

30

Pretpostavimo da se uz najjednostavnije sklopovlje želi ostvariti obradaprekida tako da se pristupi razvrstaju po prioritetima te da se dozvoli da prekid višeg prioriteta može prekinuti obradu prekida nižeg prioriteta.

Page 16: OS-01 Uvod

31

Primjer: Neka postoji pet prekida P1, P2, P3, P4 i P5 i neka veći indeksi označavaju viši prioritet.

Ako se u trenucima t1, t2, t3, t4 i t5 dogode prekidi P3, P4, P1, P2, P5želi se postići ponašanje sustava prema slici

Osnovniprogram

P1

P2P3

P4P5

t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t

P3 P4 P1 P2 P5

32

Koncepcija programa je slijedeća:* program se sastoji od neprekidivih odsječaka koji obavljaju kritične

akcije i prekidivog dijela u kojem se obrađuju prekidi* svi prekidi, bez obzira na prioritet prihvaćaju se kada program radi u

prekidivom dijelu* Ako je prispjeli novi prekid nižeg prioriteta, stavlja se na listu čekanja* Ako je prispjeli novi prekid višeg prioriteta, obrada nižeg se prekida i

on se počinje obrađivati* Kada završi obrada prekida, aktivira se obrada prekida za one prekide

koji čekaju na obradu po redu prvenstva* Ako ni jedan prekid ne čeka obradu prekida, nastavlja se osnovni

program

Page 17: OS-01 Uvod

33

Nedostaci najjednostavnijeg sklopovskog rješenja mogu se popraviti naprednijim sklopovljem.

Osnovna zamisao:• Prekidni signali s pristupa ne vode se na procesor već na sklop

za prihvaćanje prekida;• Sklop za prihvaćanje prekida propušta prekid prema procesoru

samo ako je on višeg prioriteta od onog koji se obrađuje;• Procesor postavlja signal PRIHVAT (prekida) kada uoči prekidni

signal, a sklop za prihvat prekid tada na sabirnicu stavlja adresu(ili dio adrese) odsječka programa za prihvat prekida.

SPREMNIKSKLOP ZA

PRIHVAT PREKIDAP P P1 2 N

PROCESOR PRISTUP 1 PRISTUP 2 PRISTUP N

PRIHVAT

SABIRNICA

PREKID

34

3.3.Pristupni sklopovi za neposredni pristup spremniku

Za priključivanje ulazno-izlaznih naprava kod kojih se podaciprenose u blokovima prikladno je koristiti pristupe s neposrednimpristupom spremniku (engl. direct memory access - DMA)

Uz registar stanja (RS) i registar podataka (RP) u DMA pristupu postojiadresni registar (AR) i brojilo (BR).Procesor započinje operaciju tako da se programski u AR zapisujepočetna adresa bloka, a broj podataka u brojilo BR.

RS RP AR BR

SPREMNIK

PROCESORPREKID

TRAŽENJE SAB.DMA pristup

ODOBRENJE ZAPRISTUP SABIRNICI

Page 18: OS-01 Uvod

35

Upravljački sklop DMA pristupa izvodi sljedeći “program”:dok je BR > 0 činiti

zatražiti sabirnicu;čekaj na odobrenje za pristup sabirnici;postavi na adresni dio sabirnicu sadržaj registra AR;prenesi sadržaj s te ili na tu adresu;AR:= AR+ 1;BR:= BR - 1;

postavi prekidni signal PREKID;Obrada prekida od DMA sklopa može inicirati prijenos novog bloka upisivanjem

AR:= početna adresa blokaBR:= veličina bloka

Procesor pri pojavi signala "traženje sabirnice" u pravilu već u slijedećemmemorijskom ciklusu otpušta jedan ciklus pristupu. Na taj način se priprijenosu bloka veličine N otpušta ukupno N memorijskih ciklusa.

P P DMA P P P DMA P P

memorijski ciklus

36

Proširenjem te zamisli ostvaren je ulazno-izlazni procesor(UI procesor, I/0 processor). UI procesor se može programirati i može mu se prepustiti praktički svekomunikacijske aktivnosti. On preuzima i obradu prekida svih ulazno-izlaznih naprava.

U sustav se mogu dodati i drugi procesori (npr. aritmetičko-logičkikoprocesor).

U sabirnički organiziranom sustavi svi procesori se moraju natjecatiza sabirnicu GLAVNI

(GLOBALNI)SPREMNIK

sabirnica

LS PROCESOR1 1 LS PROCESOR2 2 LS PROCESORN N. . . . .DODJELJIVAČ

SABIRNICE

TRAŽENJE

DODJELA

DODJELA

TRAŽENJE1 2 …... N 1 2 …… N 1

….. …..