os-01 uvod
TRANSCRIPT
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
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/
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
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.
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
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)
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
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.
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
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.
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
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)
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.
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;
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.
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
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
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
….. …..