29
Operativni sistemi skripta Obavezna pitanja: 1) Дефиниција, функције и генерације оперативних система

Operativni sistemi skripta

Embed Size (px)

Citation preview

Page 1: Operativni sistemi skripta

Operativni sistemi skripta

Obavezna pitanja:

1) , Дефиниција функције и генерације оперативних система

Page 2: Operativni sistemi skripta

2) , Појампроцеса делови и представљањепроцеса

Računarski sistem koji ima samo jedan procesor može da izvršava samo jednu instrukciju u jednom trenutku.

Proces predstavlja jedan od najvažnijih koncepata operativnih sistema. Proces je program ili deo programa u stanju izvršavanja, zajedno sa svim resursima koji su potrebni za rad programa. Svaki proces ima tri fundamentalna memorijska dela, tj. sekcije:

1) programska ili tekstualna sekcija, koja se ne menja (eng. read only) i koji sadrži programski kod;

2) stek sekcija (eng. stack section), koja sadrži privremene podatke (parametre za procedure, povratne adrese, lokalne promenljjive);

3) sekcija podataka (eng. data section), koja sadrži globalne promenljive.

Za razliku od programa, proces je dinamička struktura i najjednostavnije se može opisati kao program u stanju izvršenja, tj. kao niz aktivnosti koje su posledica izvršenja programa. Kontrolni blok je deo radne memorije, to jest memorijska struktura sa osnovnim informacijama o procesu, koje operativni sistem koristi za upravljanje tim procesom. U informacije iz kontrolnog bloka spadaju:

- ime ili jedinstveni identifikator procesa (PIO);

- kontekst (okruženje) procesa;

- prioritet procesa;

- informacije o memoriji procesa;

- lista otvorenih datoteka;

- status zauzetih ulazno-izlaznih resursa;

- trenutno stanje procesa.

3) Критеријуми доделе процесора

Page 3: Operativni sistemi skripta

Većina algoritama za raspoređivanje procesa optimizovana je prema nekom od sledećih kriterijuma:

Iskorišćenje procesora (CPU utilization) - po ovom kriterijumu procesor treba da bude stalno zauzet, tjda radi bez prestanka. Iskorišćenje procesora varira od 0% do 100%. Na realnim sistemima, iskorišćenje ide od 40% na umereno opterećenim sistemima, do 90% na veoma opterećenim sistemima.

Propusna moć (throughput) – definiše se kao broj procesa izvršen u jedinici vremena

Vreme potrebno za kompletiranje procesa (turnaround time) - ukupna količina vremena za koje se izvrši pojedinačni proces. Ovo vreme se računa od trenutka nastanka do završetka procesa, a uključuje i vreme potrebno da proces uđe u red čekanja, vreme provedeno u redu čekanja, vreme korišćenja procesora i izvršenja ulazno-izlaznih operacija

Vreme čekanja (waiting time) - ukupno vreme koje proces provede u redu čekanja na procesor (ready queue). Proces do kraja svog izvršavanja može više puta da bude u redu čekanja, a na ovo vreme direktno utiču algoritmi za raspoređivanje

Vreme odziva (response time) – vreme za koje se nakon slanja zahteva pojave prvi rezultati izvršenja procesa. Ovo vreme je veoma bitno u interaktivnim sistemima – proces koji otpočne rad, treba relativno brzo da prikaže početne rezultate na ekranu, zatim da ponovo izvrši neka izračunavanja ili ulazno – izlaznu operaciju, a onda opet prikaže rezultate i tako redom.

4) Улога система за управљањемеморијом

Page 4: Operativni sistemi skripta

5) Pojam SWAP-a (razmena)

Page 5: Operativni sistemi skripta
Page 6: Operativni sistemi skripta

6) / ( )Улога улазно излазног слоја функције и циљеви

Page 7: Operativni sistemi skripta

7) Појами логичка структура датотеке и директоријума

Page 8: Operativni sistemi skripta

8) Основе система датотека ињегова улога

Page 9: Operativni sistemi skripta

9) Pojam distribuiranog sistema

U literaturi se javlja više definicija distribuiranih sistema.

Distribuirani sistem je skup nezavisnih računara koji korisnicima izgledaju kao jedan koherentan sistem [Tanenbaun].

Ova definicija ima dva aspekta. Prvi aspekt se odnosi na hardver: računari su autonomni. Drugi aspekt se odnosi na softver: korisnici imaju utisak da rade sa jednim sistemom.

Distribuirani sistem je sistem čije komponente, raspoređene u računarsku mrežu, komuniciraju i koordiniraju svojim akcijama samo slanjem poruka [Coulouris].

Iz ove edefinicije proizilazi da komponente izvršavaju svoje aktivnosti konkurentno i da u distribuiranom sistemu ne postoji globalni sinhronizacioni takt.

Bez obzira na raznolikost definicija bitno je obratiti pažnju na sledeće karakteristike distribuiranih sistema:

Različitost između računara i način na koji oni komuniciraju su skriveni od korisnika.

Interakcija korisnik-aplikacija se odvija na jedan koezistentan način bez obzira gde i kako se ta interakcija odvija.

Page 10: Operativni sistemi skripta

10) Заштита и сигурност оперативних система

Page 11: Operativni sistemi skripta

1) Karakteristike i vrste OS

Konkurentnost (postojanje više simultanih, paralelnih aktivnosti)

Deoba resursa (obezbeđivanje dovoljnih resursa za svakog korisnika)

Postojanje dugotrajne memorije (implicira potrebu za trajnim skladištenjem podataka s mogućnošću brzog pristupa)

Nedeterminizam (mora biti deterministički orijentisan – kad izvršava isti program sa istim podacima, mora da daje isti rezultat, bez obzira da li će se to raditi danas, sutra ili za mesec dana)

Poželjne osobine operativnog sistema

1) Visok nivo efikasnosti (može se predstaviti pomoću više kriterijuma, pri čemu značaj svakog kriterijuma zavisi od vrste i namene operativnog sistema)

2) Visok nivo pouzdanosti (merilo pouzdanosti je broj grešaka, tj. srednje vreme između dve greške ili dva otkaza)

3) Jednostavnost održavanja (treba omogućiti da sistem održava što manje ljudi)

4) Prihvatljiva veličina (operativni sistem treba da zauzme što manje prostora u memoriji, mada sa povećanjem kapaciteta savremenih memorijskih sistema, to gubi važnost)

Na osnovu kombinovanog kriterijuma mogu se izdvojiti tri vrste operativnih sistema:

jednokorisnički jednoprocesni (single-user, singletasking), kao što je MS-DOS;

jednokorisnički višeprocesni (single-user, multitasking), kao što su OS/2 i MS Windows 3.1/ 9x/ME;

višekorisnički višeprocesni (engl. multiuser, multitasking), kao što je UNIX, ali uslovno se mogu prihvatiti i MS Windows 2000/Xp/2003 ukoliko obezbeđuju terminalske usluge (engl. terminal services).

Page 12: Operativni sistemi skripta

2) Dijagram stanja procesa

Page 13: Operativni sistemi skripta

3) Algoritmi za dodelu procesora

Za donošenje odluke o kratkoročnom raspoređivanju ready procesa razvijen je niz različitih algoritama:Usluga prema redosledu dolaska – bira se proces koji je najduže čekao na usluguNajkraći proces sledeći – bira se proces sa najkraćim očekivanim preostalin vremenom obrade. Proces može da se

prekine kada drugi proces postane spreman.Kružno dodeljivanje – koristi se deljenje na vremenske isečke da bi se ograničio svaki proces koji se izvršava na

kratko korišćenje procesorskog vremena i rotira se između svih ready procesa.Sledeći sa najvećim odnosom odziva – odluka o raspoređivanju zasniva se na proceni normalizovanog vremena

prolaska zadatka.Povratna sprega – uspostavlja se skup redova čekanja za raspoređivanje i procesi se dodeljuju redovima na osnovu

istorije izvršavanja i drugih kriterijuma.

Usluga prema redosledu dolaska - FCFS algoritam

Najjednostavniji algoritam dodeljuje procesor procesima onim redom kojim su pristizali u red čekanja. Red čekanja formira se po FIFO principu: kontrolni blok procesa koji ulazi u ready red stavlja se na kraj liste, a procesor se dodeljuje procesu sa početka liste. Sam algoritam naziva se „Prvi došao, prvi uslužen“ (First-Come, First-Served - FCFS). Algoritam se lako implementira, ali je zbog velikog srednjeg vremena čekanja nepodesan za interaktivne sisteme. Za ovaj algoritam od značaja je jedino vreme dolaska procesa u red.Primer: Proces CPU vreme

P1 24P2 3P3 3

Pretpostavimo da procesi pristižu u redosledu: P1 , P2 , P3

Shematski prikaz ove raspodele:

°

Vremena čekanja: tw1 = 0; tw2 = 24; tw3 = 27Srednje vreme čekanja: tw=(0 + 24 + 27)/3 = 17

Pretpostavimo sada da procesi pristižu u redosledu P2 , P3 , P1 .

Shematski prikaz ove raspodele:

Vremena čekanja: tw1 = 6; tw2 = 0; tw3 = 3Srednje vreme čekanja: tw = (6 + 0 + 3)/3 = 3

Ovo je mnogo bolje nego u prethodnom slučaju – bolje je forsirati kratke procese.

Page 14: Operativni sistemi skripta

Najkraći proces sledeći - SJR algoritam

Kraći procesi forsiraju se korišćenjem algoritma “Najkraći proces sledeći” - Shortest-Job-First (SJR). Svakom procesu pridružuje se vreme potrebno za završetak rada na CPU. To preostalo vreme koristi se kao kriterijum raspoređivanja.

Postoje dve varijante algoritma SJF: • Bez prekidanja (non-preemptive) – kada se CPU dodeli procesu, ne oduzima se dok proces ne završi sa radom. •Sa prekidanjem (preemptive) – ako se pojavi novi proces čiji je vreme izvršavanja kraće od ostatka vremena

izvršavanja tekućeg procesa, novi proces prekida tekući. Ovaj algoritam poznat je i pod nazivom Shortest-Remaining-Time-First (SRTF).

Na one procese iz reda koji imaju ista procenjena vremena izvršavanja primenjuje se algoritam FCFS. Algoritam SJF daje minimalno srednje vreme čekanja. Za njegovu realizaciju su bitne dve informacije: vreme dolaska procesa u red čekanja (arrival time) i vreme potrebno za izvršenje procesa (CPU burst time).Primer Non-Preemptive SJF

Proces Vreme dolaska CPU vreme P1 0 7 P2 2 4 P3 4 1 P4 5 4

Srednje vreme čekanja tw= (0 + 6 + 3 + 7)/4 = 4

Primer Preemptive SJFProces Vreme dolaska CPU vreme P1 0 7 P2 2 4 P3 4 1 P4 5 4

°Srednje vreme čekanja tw = (9 + 1 + 0 +2)/4 = 3

Page 15: Operativni sistemi skripta

Prioritetni algoritmi

Raspoređivanje na osnovu prioriteta procesa podrazumeva da se svakom procesu dodeljuje prioritet, posle čega algoritam bira proces sa najvećim prioritetom. Prioritet je celobrojna promenljiva koja se pridružuje svakom procesu, a najčešće se koristi konvencija po kojoj manji broj znači veći prioritet (najmanji broj = najviši prioritet). Ako su prioriteti procesa jednaki, odluka se donosi po principu FCFS.

Algoritam SJF je specijalan slučaj prioritenih algoritama: prioritet je obrnuto proporcionalan trajanju sledećeg CPU ciklusa procesa.

Prioritetno orijentisani algoritmi mogu biti realizovani sa prekidanjem (preemptive), kada se tekući proces prekida ako se pojavi proces većeg prioriteta. Ukoliko algoritam ne koristi prekidanje (nonpreemptive) tekući proces se ne prekida iako se pojavi proces većeg prioriteta.

Prioriteti mogu biti:

• interno definisani, na osnovu resursa koje proces zahteva i odnosa procesora i I/O aktivnosti procesa

• eksterno dodeljeni programer može da favorizuje određene procese po nekim eksternim kriterijumima

Glavni problem prioritetno orijentisanih algoritama je što procesi niskog prioriteta mogu veoma dugo da čekaju na procesor. Moglo bi se desiti da procesi sa niskim prioritetom nikad ne dođu na red, što se naziva gladovanje (starvation). Problem gladovanja rešava se povećanjem prioritet procesa u skladu sa vremenom provedenim u redu čekanja na procesor, odnosno rezultujući prioritet formira se na osnovu početnog prioriteta koji proces dobije kada uđe u red i vremena provedenog u redu.

Kružno dodeljivanje - RR algoritam

Algoritam za kružno dodeljivanje Round Robin (RR) namenski je projektovan za interaktivne sisteme. Svaki proces dobija mali deo vremena CPU (time quantum), obično 10-100 ms. Po isteku tog vremena, proces se prekida i postavlja na kraj ready reda. Ako je u redu n procesa i kvantum=q, onda svaki proces dobija 1/n vremena procesora u porcijama od q jedinica vremena. Ni jedan proces ne čeka više od (n-1)q vremenskih jedinica.

Algoritam RR je pravedan prema procesima – svi dobijaju procesor na korišćenje ravnomerno i ravnopravno. Međutim, srednje vreme odziva algoritma RR po pravilu je jako dugo. Treba imati na umu da prebacivanje konteksta između dva procesa može značajno da poveća režiju operativnog sistema. Granični slučaj u kome procesor veći deo vremena troši na režiju nego na korisničke procese naziva se premašenje (overhead). O tome treba voditi računa kada se određuje veličina kvantuma. Što je kvantum manji, procesor će biti ravnomernije raspodeljen, ali q mora biti dovoljno veliko u odnosu na vreme kontekstnog prebacivanja da ne bi došlo do premašenja. Ukoliko je kvantum veći, algoritam RR konvergira algoritmu FCFS.

Primer: RR sa kvantumom = 1 Proces Vreme dolaska CPU vreme P1 0 3 P2 2 6 P3 4 4 P4 6 5 P5 8 2

Page 16: Operativni sistemi skripta

Shematski prikaz raspodele:

s

Ukupno vreme provedeno u sistemu tq i normalizovano ukupno vreme tq/ts imaju sledeće vrednostiProces Ukupno vreme Normalizovano ukupno vreme P1 4 1.3 P2 17 2.8 P3 13 3.3 P4 14 2.8 P5 7 3.5

Ako bi ovom primeru vremenski kvantum bio q=4, raspodela procesora bi ovako izgledala:

Ukupno vreme provedeno u sistemu tq i normalizovano ukupno vreme tq/ts imaju sledeće vrednostiProces Ukupno vreme Normalizovano ukupno vreme P1 3 1.0 P2 17 2.8 P3 7 1.8 P4 14 2.8 P5 9 4.5

Algoritmi raspoređivanja u više redova čekanja

Ova klasa algoritma koristi se u sistemima u kojima se procesi mogu klasifikovati u različite grupe. Na primer, ready queue se može podeliti u dva zasebna reda:

• za interaktivne procese, tj. procese koji rade u prvom planu (foreground)• za procese koji rade u pozadini (background)Svaki red se opslužuje po sopstvenom algoritmu raspoređivanja, interaktivni procesi po algoritmu RR, a pozadinski

po FCFS. Vrši se i raspodela vremena CPU između ovih redova. Ova raspodela može biti po fiksnim prioritetima, prvo se opslužuju svi procesi iz prvog plana, a zatim iz background reda. Obično interaktivni procesi imaju značajno veći prioritet u odnosu na pozadinske procese. Da bi se izbeglo gladovanje pozadinskih procesa, pribegava se deljenju vremena procesora između redova. Svaki red dobija odgovarajući odsečak vremena CPU koji se zatim raspoređuje između odgovarajućih procesa; npr. 80% za foreground (po RR algoritmu) i 20% za background (po FCFS algoritmu)

Page 17: Operativni sistemi skripta

4) Kontinualna dodela memorije

Page 18: Operativni sistemi skripta

5) Overlay

Page 19: Operativni sistemi skripta

6) Virtuelna memorija i kako se koristi

Page 20: Operativni sistemi skripta

7) Metode pristupa datotekama

Page 21: Operativni sistemi skripta

8) Struktire podataka kod realizacije sistema datoteka

Page 22: Operativni sistemi skripta

9) Autentifikacija korisnika

Page 23: Operativni sistemi skripta

10) Karakteristike Embedded OS

Embedded kompjuterski sistemi obrazuju najširu moguću upotrebu kompjuterskih sistema; on uključuje sve kompjutere koji su drugačiji od onih koji su izričito kompjuteri opšte namene. Primeri embedded sistema idu od malih muzičkih plejera do kontrolnih sistema u realnom vremenu poput onih u svemirskim brodovima. Oni su osobeni po obezbeđivanju funkcije, ili funkcija, koje nisu same po sebi kompjuterske.

Većina komercijalnih embedded sistema su dizajnirani tako da izvrše odabrane funkcije po najnižoj ceni. Većina, ali ne i svi embedded sistemi, imaju sisteme u realnom vremenu (real-time) koji moraju da rade u tehničkim granicama. Ovi sistemi ponekad moraju biti vrlo brzi za neke funkcije, ali većina drugih funkcija verovatno ne zahteva brzinu. Ovi sistemi zadovoljavaju njihove tehničke granice sa kombinacijom hardvera specjalne namene i softvera skrojenog prema zahtevu sistema.

Teško je označiti embedded sisteme prema njihovoj brzini, ili ceni, ali za sisteme visoke proizvodnje, cena će često dominirati u odnosu na sistemski dizajn. Srećom, većina sistema ima ogrančene real-time zahteve koji se mogu ispuniti sa kombinacijom prilagođenog hardvera i ograničene količine softvera visokih performansi. Uzmite na primer vrhunski digitalni set za satelitsku televiziju. Čak iako takvi sistemi treba da obrade desetine megabajta kontinualnih podataka u sekundi, većina teškog posla je urađena od strane prilagođenog hardvera koji raščlanjuje, upućuje i dekodira više-kanalni digitalni niz (stream) u jedan video izlaz. Embedded CPU-u je prepušteno da odredi putanju podataka, upravlja prekidima (interruts) granica frejmova, generiše i prikaže grafiku itd. da bi omogućio vrhunski izgled i osećaj. Zato će češće mnogi delovi embedded sistema zahtevati niže performanse za razliku od primarnog cilja sistema. Ovo omogućava arhitekturi embedded sistema da bude namerno pojednostavljen zbog niže cene u odnosu na opšte-namenski kompjuter koji radi isti zadatak upotrebom CPU-a koji je "dovoljno dobar" za one sekundarne funkcije.

Za embedded sisteme koji nisu visoko-serijski, lični računari često mogu da se uzmu u razmatranje da li ograničavanjem softvera ili zamenom operativnog sistema sa real - time operatinim sistemom. U tom slučaju hardver specijalne namene može biti zamenjen sa jednim ili više CPU-a visoke performance. Ipak, neki embedded sistemi mogu zahtevati i visoko - performansni CPU, specijalizovan hardver, i ogromnu memoriju da bi izvršio traženi zadatak.

U domenu visoko - serijskih embedded sistema, napr. muzičkih plejejra, smanjenje cene postaje osnovna briga. Ovi sistemi često imaju samo nekoliko čipova, visoko integrisan CPU, prilagođen čip koji kontroliše sve druge funkcije i jedan memorijski čip. U ovakvom dizajnu svaka komponenta je odabrana i projektovana da bi smanjila cenu koštanja.

Napisan softver za većinu embedded sistema, pogotovu za one bez diska se ponekad naziva firmware, ime za softver koji je ugrađen u hardverski uređaj, napr. u jedan ili više ROM/Flash memorijskih IC čipova.

Programi u embedded sistemima često rade untar real-time granica sa ograničenim resursima: često nema disk, operativni sistem, tastaturu ili ekran. Softver možda nema ništa daljinsko poput fajl sistema, ili ako je prisutan, flash disk možda zamenjuje rotirajući medij. Ako je korisnički interfejs prisutan, onda je to mala tastatura i displej sa tečnim kristalom (LCD).

Embedded sistemi se nalaze u mašinama od kojeih se očekuje dugogodišnji rad bez grešaka. Stoga je obično softver i Firmware razvijen i testiran pažljivije nego softver za lične kompjutere. Mnogi embedded sistemi izbegavaju mehanički pokretne sisteme kao što su hard diskovi, prekidači ili tasteri jer što su nepouzdani za razliku od stalnih delova poput Flash memorije.

Pored toga, embedded sistemi mogu biti izvan domašaja ljudi (duboko u petrolejskim bušotinama, izbačeni u svemir itd.) pa moraju biti u mogućnosti da se samostalno resetuju čak i pri katastrofalnim greškama u podacima. Ovo je uglavnom postignuto sa standardnim elektronskim delovima nazvanim watchdog tajmer koji resetuje kompjuter ukoliko softver povremeno ne resetuje tajmer.