254
1 RACUNARSKI SISTEMi REALNOG VREMENA LITERATURA : 1. William Stallings:Operating Systems Forth Edition , Prentice Halls 2. Giorgio C. Buttazzo: Hard Real-Time Computing Systems - Predictable Scheduling Algorithms and Applications“, Kluwer Academic Publishers 3. Hermann Kopetz: “Real-Time Systems: Design Principles for Distributed Applications“, Kluwer Academic Publishers 4. Jane W. S. Liu: „Real-Time Systems “, Prentice Hall

LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

1

RACUNARSKI SISTEMi REALNOG VREMENA

LITERATURA :1. William Stallings:Operating Systems

Forth Edition , Prentice Halls

2. Giorgio C. Buttazzo: Hard Real-Time Computing Systems- Predictable Scheduling Algorithms and Applications“, Kluwer

Academic Publishers

3. Hermann Kopetz: “Real-Time Systems: Design Principles forDistributed Applications“, Kluwer Academic Publishers

4. Jane W. S. Liu: „Real-Time Systems “, Prentice Hall

Page 2: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

2

RACUNARSKI SISTEMi REALNOG VREMENA

LITERATURA :5. Wind River Systems, Inc. ( 2008 )

An introduction to multicore technology and VxWorks SMP.

6. Jacek Blazewicz, Klaus H. Ecker, Erwin Pesch, Günter Schmidt , Jan WeglarzHandbook on scheduling ( fFrom theory to application)Springer, 2007

7. Rob McCammon, Wind River, 2009Wind River Solutions for Multiprocessing and Multicore

8. Qing Li, Caroline Yao ( 2003 )Real-Time Concepts for Embedded Systems, CMP Books

Page 3: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

3

DESIGN OF RTOS SYSTEMS

Definicije i ciljevi:Definicija :Operativni sistem je program koji :

* kontrolira izvršenje aplikacionih programa* djeluje kao interfejs izmedju aplikacija i računarskoghardvera.

Ciljevi :* Pogodnost: lakše korištenje kompjutera* efikasnost: efikasnije korištenje računarskih resursa* mogućnost proširenja: dozvoljava laganu integraciju novihservisa

Page 4: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

4

DESIGN OF RTOS SYSTEMS OS kao korisnički interfejs

Hijerarhijski pogled na računarski sistem:

Page 5: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

5

DESIGN OF RTOS SYSTEMS Servisi koje obezbjedjuje operativni sistem

* Razvoj programa : Alati kao editori, debageri. Ovi alatiobićno nisu dio jezgre operativnog sistema ( core ).* Izvršenje programa: Niz zadataka koji je potreban da seizvrši program ( punjenje podataka i instrukcija umemoriju, inicijalizacija I/O uredjaja i fajlova , ..itd).* Pristup I/O uredjajima: Svaki I/O uredjaj zahtjevaposebne kontrolne signale. OS obezbjedjuje taj interfejsda bi ga sakrio od korisnika.* Pristup fajlovima: Locira fajlove na I/O uredjajima,iskorištava njihovu strukturu. Štiti pristupe fajlovima uslučaju kada ima više korisnika.

* Pristup sistemu: OS upravlja pristup korisnika sistemui razriješava potencijalne konflikte.

Page 6: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

6

DESIGN OF RTOS SYSTEMS * Otkrivanje grešaka i odgovor na njih: Bilo koja vrsta grešaka

hardverske ili softverske se detektuju i sa njima rukuje na odgovarajući način.* Evidencija: Prikuplja informacije o statistici korisnika, podešava sistem na bazi ovih podataka. Na višekorisničkim mašinama kao i na virtualnim masinama u cloudu ove informacije mogu biti korištene i za naplatu usluga.

OS kao menadjer resursa* Računar je skup resursa koji pomjera, pohranjuje i procesira podatke i u isto vrijeme kontrolira ove operacije.* Operativni sistem kontrolira ove operacije, ali:* OS funkcionira kao obićni računarski program, tj. on je skup

programa koje procesor izvršava.

* OS često oslobadja kontrolu nad procesorom i prenosi je na aplikacioni program, i zavisi od procesora da dobije ponovo kontrolu nad njim .

Page 7: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

7

DESIGN OF RTOS SYSTEMS * Jedina razlika izmedju OS i drugih programa je u namjeni

programa. OS upravlja procesorom da bi izvršavao aplikacione programe. Kada se ovi aplikacioni programi izvršavaju, OS prenosi kontrolu nad procesorom aplikacionom programu. Jedini način da je ponovo povrati je hadverski interupt.

Resursi kojima upravlja OS

Page 8: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

8

DESIGN OF RTOS SYSTEMS Glavni principi Operativnih sistema

Danas su Operativni sistemi najkompleksniji diosoftvera koji je ikada razvijen. Tako naprimjer OS zakontrolu telefonskih centrala su medju rekorderima.Principi koji se primjenjuju su:

* Procesi* menadjment memorije* zaštita informacija* rasporedjivanje i menadjment resursa* struktura sistema

Pogledajmo u nastavku detaljnije ove principe.

Page 9: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

9

DESIGN OF RTOS SYSTEMS

ProcesiProces se sastoji iz tri komponente

* programa koji se izvršava* podatci koji su potrebni za izvršenje programa* kontekst u kojem se program izvršava

Ovaj posljednji element je najbitniji.* Izvršni kontekst ( takodjer se naziva i stanjemprocesa – process state) , uključuje sve informacijekoje OS treba, da bi korektno upravljao procesom.* to uključuje sadržaje različitih registara ( uključujućii programski brojač – PC program counter ).

Page 10: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

10

DESIGN OF RTOS SYSTEMS *to takodjer uključuje i informacije za OS kao što su:

- prioritet procesa- da li proces ćeka na kompletiranje I/O.

Tipične implementacije procesa

Page 11: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

11

DESIGN OF RTOS SYSTEMS

Procesi: preključenje konteksta* Pokazano na prethodnom slajdu je izvršenje procesa.Proces k je pohranjen u glavnoj memoriji, pošto se vjerovatnoizvršavao, ali je iz nekog razloga zamjenjen sa procesom i.Ova procedura se naziva preemption ( ispražnjenje ). Usituaciji koja je prikazana na slici, k je u stanju ćekanja (waiting state) , dok je proces i u stanju izvršenja ( runningstate).*Procedura zamjene jednog procesa sa drugim se nazivapreključenje sadržaja ( context switch).

*U obadva slućaja sva relevantna informacija o procesu jesmještena u kontekstu. Specifična vrijednost PC ( programskibrojač) u procesu k u trenutku preključenja konteksta jepohranjena u kontekstu.

Page 12: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

12

DESIGN OF RTOS SYSTEMS

Na taj način, puneči procesorske registre sa vrijednostima kojesu pohranjene u kontekstu, proces k će nastaviti da seizvršava kod potpuno iste lokacije gdje je bio ispražnjen( preempted). Ovo se naziva preuzimanje procesa (resuming ).

Menadjment memorije

•Korisnici žele podršku za modularno programiranje kao ifleksibilno korištenje podataka.

*Menadjeri sistema žele da imaju efikasnu i blagovremenukontrolu nad alokacijom memorije.

* Ovo je obadvoje obezbjedjeno putem upravljanja memorijom.Njeni primarni zadatci su:

Page 13: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

13

DESIGN OF RTOS SYSTEMS

- Izolacija procesa: Spriječiti procese da pristupajumemorijskom prostoru drugih procesa.- Automatska alokacija i menadjment: Memorijskiprostor za programe treba biti automatski alociran krozčitavu hijerarhiju memorije. Ovo treba biti transparentnoza korisnika ( tj. da on ovo i ne uočava ).- Podrška za modularno programiranje. Programeritrebaju biti u stanju da kreiraju i unište objektepodataka.- Zaštita i kontrola pristupa. Ako je potrebna dijeljenamemorija, ovo treba biti organizirano na siguran način,izbjegavajući medjusobno uništavanje memorijskogprostora drugog procesa.- Dugovremeno pohranjivanje: Mnoge aplikacijezahtjevaju da se informacije pohranjuju i nakon što sese računar isključi.

Page 14: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

14

DESIGN OF RTOS SYSTEMS

Virtuelna memorija

Svi gore pobrojani zahtjevi su podržani od strane :Virtuelne memorije i sistema fajlova:

* Virtuelna memorija omogućava programima da adresiraju salogičke tačke gledišta, bez obzira na kolićinu memorijekoja je fizički na raspolaganju.

* Logičkoj memoriji se pristupa putem blokova fiksne velićine,koji se zovu stranice ( pages). Program adresira riječpomoću virtuelne adrese, koja se sastoji od brojastranice i ofseta unutar stranice.

* Svaki proces nezavisno adresira svoje stranice.* Svaka stranica procesa može biti locirana bilo gdje u glavnoj

memoriji ili negdje na disku.

Page 15: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

15

DESIGN OF RTOS SYSTEMS * Sistem stranica obezbjedjuje dinamičko mapiranje izmedjuvirtuelnih adresa koje koristi program i realnih adresa u glavnojmemoriji.* Informacija o tome gdje je fizička stranica u odnosu na

virtuelnu se održava u tabeli strana ( Page table). Svaki procesima svoju tabelu strana ( page table). Kada je zahtjevanafizička strana sa diska, ona se pohranjuje negdje u glavnumemoriju i ažurira se tabela stranica.

Primjer virtuelne memorije

Page 16: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

16

DESIGN OF RTOS SYSTEMS Virtuelna memorija : Transformacija adresa

Page 17: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

17

DESIGN OF RTOS SYSTEMS

Virtuelno adresiranje : Hardverska podrška

Zaštita informacija i sigurnostPostoje tri glavne kategorije podrške koje nude operativnisistemi:* Kontrola pristupa: Regulira pristup korisnika totalnom

sistemu ili podsistemima ( čak i individualnim data objektima ).Reguliranje pristupa procesa raznim resursima i objektimaunutar sistema.

Page 18: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

18

DESIGN OF RTOS SYSTEMS * Kontrola toka informacija: Regulira tok podataka unutarsistema i njihovo isporućivanje korisnicima.* Certificiranje: Potvrdjuje da pristup i tok mehanizma kontrole

toka podataka se izvršavaju prema njihovim specifikacijama.

Kontrola pristupa kao dio prevodjenja adresa

Page 19: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

19

DESIGN OF RTOS SYSTEMS

Rasporedjivanje i menadjment resursaGlavni zadatak operativnog sistema: upravljati različitimresursima ( glavnim memorijskim prostorom, I/O uredjajima,procesorima ), i rasporedjivati njhovo korištenje od straneaktivnih procesa.Tri faktora trebaju biti razmatrana:

* Korektnost ( fairness): Svi procesi koji se nadmeću zakorištenje nekog specifićnog resursa, trebaju imatipribližno isti i fer pristup ovom resursu.* Diferencirana odzivnost: Operativni sistem možda ćemorati da pravi razliku izmedju različitih klasa poslova (jobs), sa različitim zahtjevima za uslugama. Napr.proces koji je rezervirao neki I/O uredjaj, možedobiti veći prioritet da bi mogao da oslobodi resurs što jeprije moguće.

Page 20: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

20

DESIGN OF RTOS SYSTEMS

* Efikasnost: Operativni sistem treba pokušati da maksimizirapropusnost i minimizira vrijeme odziva.

Pošto su ovi zahtjevi djelomićno kontradiktorni, trebaće naćineki balans izmedju njih.

Rasporedjivanje unutar Operativnog sistema

Page 21: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

21

DESIGN OF RTOS SYSTEMS

Rasporedjivanje*Operativni sistem održava više redova, svaki je lista procesa,koji ćekaju na neki resurs.* Kratkoročni red: procesi koji su u glavnoj memoriji i spremnina izvršenje.* Kratkoročni rasporedjivač ( takodjer se naziva i Dispečer):izabire jedan proces i prenosi kontrolu na ovaj proces.* Zajednička strategija: daje svakom procesu u redunaizmenično neko vrijeme. Ovo se zove Round-Robin tehnika.* Dugoročni red: novi poslovi koji ćekaju da koriste procesor.

Rasporedjivač prebacuje takve poslove u kratkoročni red idoznačuje im izvjesni memorijski prostor. Ovo se radi na bazineke strategije.

Page 22: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

22

DESIGN OF RTOS SYSTEMS * Postoji po jedan I/O red po uredjaju. To znači da više odjednog procesa može zahtjevati korištenje ovog uredjaja.Rasporedjivač odlučuje koji od procesa koji ćeka za korištenjeuredjaja biće prvi uslužen.* Operativni sistem dobija kontrolu samo od jednog hendlera

interapta kada se pojavi interapt ( napr. tajmerski interapt ).

Struktura sistemaOperativni sistemi su vrlo veliki i kompleksni softverski sistemi iimaju tendenciju daljeg rasta. Primjeri:

1964: IBM OS/360 1 M liniju koda1975 : MIT Multics 20 M linija koda2000: MS Windows 2K 32 M linija koda2002: MS WinXP 40M linija koda

2007: MS Vista 50M linija koda( prosjek je 1 greska/1000 linija koda, tj. 500.000 u Visti)

Page 23: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

23

DESIGN OF RTOS SYSTEMS

Metode da se vlada ovom kompleksnošću :- Modularni softver sa dobro definiranim interfejsom- Hijerarhijski slojevi- informacione abstrakcije

Slojna softverska struktura

Razdjeljivanje funkcija u skladu sa njihovom kompleksnošću,njihovom vremenskom skalom i njihovim nivom abstrakcije.* Svaki nivo izvršava izvjesni skup funkcija ( takodjer nazvanservisima). Obićno to zavisi od servisa koje obezbjedjujeslijedeći niži nivo i obezbjedjuje servise slijedećem višemnivou.

Page 24: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

24

DESIGN OF RTOS SYSTEMS

*Niži nivoi imaju mnogo kraća vremena izvršenja. Neki dijelovioperativnog sistema interaktiraju direktno sa hadverom. ( tj. unanosekundnom ili mikrosekundnom vremenskom intervalu).

* Viši nivoi rade na mnogo sporijim vremenskim intervalima.

Idealni slojevi Operativnog sistema ( E. Dijkstra )

Page 25: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

25

DESIGN OF RTOS SYSTEMS

Page 26: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

26

DESIGN OF RTOS SYSTEMS Hardverski nivoi

Nivo 1: Elektronska kola kao što su registri, itd.. Tipičneoperacije su prenosi podataka izmedju registara i aritmetičkeoperacije.

Nivo 2: Instrukcioni set procesora. Obezbjedjuje cjelokupan setrapoloživih mašinskih instrukcija.

Nivo 3: Dodaje koncept procedure ili subrutine uključujući icall-return operacije.Nivo 4: Uvodi interapte ( prekide), koji prouzrokuju da procesorpohranjuje tekući sadržaj i poziva servisnu rutinu prekida(ISR ).

Ovi nivoi su dio hardvera, a ne operativnog sistema. Medjutimsam sistem interapta je u vrlo tijesnoj sprezi sa Operativnimsistemom.

Page 27: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

27

DESIGN OF RTOS SYSTEMS

Jednoprocesorski nivoi* Nivo 5: Uvodi se koncept procesa kao programa u izvršenju.Zahtjevi na operativni sistem: podrška za višestruke procese:tj. obezbjedjuje servise da suspenduje i ponovo aktivira (resume) procese . Ovo će dovesti do metoda da se pohranekonteksti. Ako procesi kooperiraju potreban je i neki metodnjihove sinhronizacije.* Nivo 6: Radi sa sekundarnom memorijom računara. Funkcijeza pozicioniranje (read/write) glava za čitanje i pisanje seobezbjedjuju za ovo i uvodi se transfer blokova podataka.Putem nivoa 5, procesi koji traže ove usluge se obavještavajuo izvršenju ovih operacija.* Nivo 7: Kreira logičku adresu prostora za procese. Organiziravirtuelni adresni prostor u blokovima koji se mogu pomjeratiizmedju glavne memorije i sekundarne memorije.

Page 28: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

28

DESIGN OF RTOS SYSTEMS

Nivoi djelovanja na vanjske uredjaje

* Nivo 8: Komunikacija informacija i poruka izmedju procesa.Nivo 5 obezbjedjuje primitivnu sinhronizaciju, nivo 8 je bogatijiu dijeljenju informacija. Pajp ( pipe) je izlaz iz jednog procesa iulaz u drugi proces.

* Nivo 9: Dugovremena memorija imenovanih fajlova. Podatciu sekundarnoj memoriji se sada posmatraju kao abstraktnientiteti varijabilne dužine.

* Nivo 10: Obezbjedjuje pristup vanjskim uredjajima koristećistandardne interfejse.

Page 29: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

29

DESIGN OF RTOS SYSTEMS

* Nivo 11: Je odgovoran za održavanje asocijacije izmedjuvanjskih i unutarnjih identifikatora. Vanjski identifikatori suimena koja daju korisnici. Unutarnji identifikatori su adrese.

* Nivo 12: Obezbjedjuje potpune usluge za podrškuprocesima. Na ovome nivou sve informacije koje su potrebneza menadjment procesa su obezbjedjene.

* Nivo 13: Obezbjedjuje interfejs korisnika sa operativnimsistemom. Naziva se školjkom ( shell) pošto odvaja korisnikaod detalja OS. Predstavlja OS kao jednostavnu kolekcijuservisa.

Page 30: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

30

DESIGN OF RTOS SYSTEMS

Bazična arhitektura Windows 2000 OS

Page 31: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

31

DESIGN OF RTOS SYSTEMS

Page 32: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

32

DESIGN OF RTOS SYSTEMS

Niži abstraktni nivoi Win 2K* Hardverski abstraktni nivo ( HAL – hardware abstractionlayer): Izolira OS od razlika u hadveru platformi na kojima jeinstaliran. Na taj način se postiže da hadverske karakteristikerazličitih arhitektura izgledaju slićne jedne drugima.

* Mikrokernel : se sastoji od najčešće korištenih i najosnovnijihkomponenti OS, tj. :

- rasporedjivanja konaca ( thread scheduling)- prekljućenja procesa ( process switching )- multiprocesorska sinhronizacija

Mikrokernelski kod se ne izvršava u koncima , tj. on je jedinidio operativnog sistema koji nije priemtive ( ne stavlja se nastek radi učitavanja drugog programa) niti je rasporediv postranicama virtuelne memorije ( pageable).

Page 33: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

33

DESIGN OF RTOS SYSTEMS * Drajveri za uredjaje ( device drivers): Uključuju i fajl sistem idrajvere za hadverski uredjaj. Ovaj drajver za uredjaj prevodikorisničke I/O funkcionalne pozive ( I/O function calls) uspecifične I/O zahtjeve prema hadverskom uredjaju.

Win2k executiveI/O menadjer : Obezbjedjuje okvir kroz koji aplikacije mogupristupiti I/O uredjajima. On je odgovoran za rasporedjivanjena odgovarajuće drajvere uredjaja. Nameće zahtjevesigurnosti i imenovanja za uredjaje i fajl sisteme ( koristećiobjektni menadjer ).Objektni menadjer: Kreira, upravlja, i briše W2K izvršneobjekte i abstraktne tipove podataka koji su se koristili da bi sepredstavili resursi kao što su: procesi, konci ( threads), isinhronizacija objekata. Takodjer kreira objektne hendlove, kojise sastoje od informacije o kontroli pristupa objektu kao ipointera na taj objekat.

Page 34: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

34

DESIGN OF RTOS SYSTEMS

Monitor reference sigurnosti: kreira i briše objekte i pratiprocese i ukončava objekte.* Servis poziva lokalne procedure ( LPC – local procedurecall): Nameće klijent/server relaciju izmedju aplikacija i izvršnihpodsistema unutar jedinstvenog sistema.

Menadjer virtuelne memorije : Mapira virtuelne adreseadresnog prostora procesa na fizičke strane u memorijiračunara.Menadjer keša ( cache manager ): Poboljšava performanse fajlbaziranih I/O na taj način što obezbjedjuje da zadnjereferencirani podatci sa diska ostaju u glavnoj memoriji nekokraće vrijeme prije nego što ih pošalje ponovo na disk.Moduli prozorske grafike : kreira prozorski orijentirani ekranskiinterfejs i upravlja grafičkim uredjajima ( GDI- graphic displayinterface)

Page 35: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

35

DESIGN OF RTOS SYSTEMS

Win2K korisnički procesiOvi procesi se povezuju koristeći dinamički povezive biblioteke( dynamically linked libraries- DLL )

* Specijalni procesi sistemske podrške : uključuju servise kojinisu obezbjedjeni kao dio Win2K OS, kao što je proceslogiranja i menadjer sesije.

* Serverski procesi: Drugi W2K servisi kao što je naprimjerzapisivač dogadjaja ( data logger)

* Podsistemi okruženja ( environment subsystems): Izlažuizvorne W2K servise korisnikovim aplikacijama i na taj načinobezbjedjuju OS okruženje, ili personalizaciju.

Page 36: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

36

DESIGN OF RTOS SYSTEMS Podržani podsistemi su:

- Win32- Posix ( "Portable Operating System Interface )

- OS-2

U svakom od ovih slučajeva izvorni pozivi ( native calls) seprevode u W2K pozive.

* Korisničke aplikacije

Page 37: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

37

DESIGN OF RTOS SYSTEMS Bazična arhitektura UNIX-a

Page 38: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

38

DESIGN OF RTOS SYSTEMS

Page 39: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

39

DESIGN OF RTOS SYSTEMS

Unix je multitasking, multiuser OS koji je dizajniran od početkada bude mali i efikasan kada je u pitanju real-time procesiranjeinformacija. OS dizajn u suštini uključuje efikasnu kontrolu OSnad resursima ( HD, traka, ekran, fajl sistem, itd), tako damnogo aplikacija mogu da se izvršavaju konkurentno.Arhitektura Unixa je relativno jednostavna. Unix realizujevećinu svojih funkcionalnosti putem Kernela, koji je ustvari blokkoda koji podržava sve interakcije sa korisničkim aplikacijama,šelovima, itd. Pored kernela su i device drajveri , kojiomogućavaju aplikacijama da putem kernela interaktiraju sauredjajima koji su raspoloživi na sistemu.Kernel je dizajniran da bude fleksibilan- Unix tradicionalno sedistribuira kao paket fajlova izvornog koda u C programskomjeziku. Ciljni sistem ima dakle ili Unix implementaciju sa Ckompajlerom, koji može da rekompilira najnovije zakrpe idopune kernela i da na taj način kreira novi operativni sistem

Page 40: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

40

DESIGN OF RTOS SYSTEMS kao izvršni kod koji će se izvršavati nakon što se provedeshutdown i ponovno butiranje sistema.U posljednje vrijeme , zbog standardizacije koja je uvedena naPC platformama, može se dobiti i prikompajlirana distribucijaUnixa, sa većinom onih funkcionalnosti koje zahtjeva korisnikza multikorisnički rad.U svakom od ovih scenarija, sam kernel radi malo aktivnostisam. Proces butiranja za Unix ( lociran na but sektoru HD, ili uROM-u , kod radnih stanica ), će početi proces punjenja kodaza kernel u RAM. Sam kernel se može posmatrati kaokolekcija standardnih funkcionalnosti ( napr. fopen(), fclose(),itd), dobijenih putem sistemskih poziva ka kernelu iz sameaplikacije. Podsjetimo se da su kod DOS okruženja, funkcijekao fopen() ustvari samo omotači ( wrappers) oko osnovnihnisko nivovskih DOS servisa kao što su otvaranje handla zafajl, zatvaranje hendla za fajl, itd.

Page 41: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

41

DESIGN OF RTOS SYSTEMS Kod DOS-a, visoko nivovski wrapper kod, kojeg obezbjedjujeproizvodjač računara, će napraviti interapt poziv ka DOSkernelu, koji će zatim obraditi zahtjev i snadbjeti aplikaciju sazahtjevanim informacijama.Kod Unixa, funkcionalnost visokog nivoa se ugradjuje direktnou kernel. Aplikacije će dinamički se povezivati na kernel kadashell ili druga aplikacija instruira kernel da izvrši dati program.Dinamičko povezivanje se ostvaruje izbjegavajući dupliciranjevelikog volumena zajedničkog koda od aplikacije do aplikacije (slično kao i kod DLL koncepta kod Windowsa, koji je Microsoftprikazao kao svoj revolucionarni novi koncept u gradnji OS ).Kernel takodjer sadrži veliki broj funkcionalnosti zamenadjment resursa, kao menadjere memorije, menadjere fajlsistema , menadjere mreže, menadjere medjuprocesorskekomunikacije, itd. Upravo je ova fukcionalnost menadjmenta

Page 42: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

42

DESIGN OF RTOS SYSTEMS

je ono što čini Unix izvanrednim OS da može da podrži stotineistovremenih korisnika od kojih svaki interaktira sa sistemom.Funkcionalnost kernela u menadjmentu procesa je takodjerveliki kvalitet Unixa. Vrlo malo vremena se provede upreključenju jedne aplikacije na drugu, tako da je sistemmnogo efikasniji za multitasking nego Windows OS.Ono što kernel ne obezbjedjuje aplikacijama je pristuphardveru. Interakcija sa hardverom se organizuje putem devicedrajvera koji se mogu kastomizirati za svaki tip radne stanice.DOS je umnogome vezan za PC platformu, većina podrške naniskom nivou za fajl sistem je bazirana na BIOS konfiguraciji ihardverskoj konfiguraciji standardnog PC sistema, što činiportabilnost DOS-a nemogućom.Pošto Unix aplikacije prave kernel funkcionalne pozive, Unixaplikacije su općenito u potpunosti portabilne na neki drugiUnix sistem, bez obzira ko je proizvodjač tog sistema.

Page 43: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

43

DESIGN OF RTOS SYSTEMS Na taj način razvojni inženjeri softvera mogu maksimiziratiekikasnost nekog softverskog modula pišući ga ustandardnom C jeziku, i koristeči univerzalno prihvaćeniPOSIX set funkcija, koje podržavaju svi moderni Unix sistemi (Widows NT je ranije imao podršku za posix podsistem poziva,ali je u zadnjoj verziji Win NT 6 ( Vista ) i Windows 7 izostaviotu podršku, ali je prisutna u Windows CE)Struktura procesaUnix izvršava aplikacije u tkz ‘’user’’ modu, dok se sam kod

kernela izvršava u ‘’kernel’’ ili ‘’privilegovanom’’ modu. Razlikesu vrlo važne, kernel kod je kastomizirani, putem devicedrajvera za datu hardversku platformu, tj, kernel može koristitiprednosti putem device drajvera, od specijaliziranihfunkcionalnosti procesora, koje čine multitasking aplikacijamnogo lakšim u izvršavanju.U ‘’user’’ modu u kojem se izvršavaju aplikacije, one suograničene u njihovim mogućnostima da pristupe nekim instru-

Page 44: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

44

DESIGN OF RTOS SYSTEMS kcijama procesora, i nadalje, sistem je u mogućnosti da vodikontrolu nad tim šta aplikacija kod izvršavanja radi saresursima kao što je memorija, fajlovi, itd. Nezavisno od bilokoje druge aplikacije. Takvi koncepti kao što su menadjmentmemorije virtuelna memorija, itd, nisu samo korišteni uDOS/Windows OS, nego su mnogo prije toga bili uvedeni i uUnixu.Aplikacije koje se izvršavaju u ‘’user’ modu su na taj načinzaštićene jedna od druge kroz ogranićenja koja su postavljenana kod koji se može izvršavati u ovom modu. Pošto se nemogu koristiti privilegovane instrukcije, i pošto se pristupmemoriji kontrolira preko sistema, kod koji se izvršava u ‘’user’’modu u opštem slučaju neće koruptirati kernel ako se u njemunalazi i neki neodgovarajući dio koda.Kod izvršavanja Unix aplikacija, ako one pokušaju da izvršeneke privilegovane operacije, bit će ugašene (shut)od strane

Page 45: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

45

DESIGN OF RTOS SYSTEMS

OS sa porukom greške ‘’priviledge fault’’ ili ‘’page fault’’ ako jepokušala da pristupi memorijskoj lokaciji van svog opsega, ilineki drugi uslov.Input/output i pajpingUnix aplikacije rade na slićan način kao i Windows konzolneaplikacije, podržavaju ulaze sa tastature i izlaze u tekst modu.Unix podržava sve standardne ulazno/izlazne mehanizme,uključujući C funkcije kao printf(), gets(), itd. Kao i kodWindows konzola, ovi se standarni izvori mogu preusmjeriti.Na taj način, izlaz iz date komande se može preusmjeriti da ideu fajl ili na uredjaj koristeći ‘>’ simbol , da se usmjeri izlaz sanormalnog ‘’stdout’’ cilja. Takodjer ulaz za datu komandu semože očitati sa fajla ili uredjaja koristeći simbol ‘< ‘ , da sepovuće ulaz iz fajla a ne sa standardnog ulaza odredjenog sa‘’stdin’’. Unix podržava mogućnost selekcije na koji ulazni iliizlazni resurs želimo da preusmjerimo.

Page 46: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

46

DESIGN OF RTOS SYSTEMS Tako možemo koristiti broj ispred simbola za preusmjerenje,da ovo postignemo, 0 indicira stdin, 1 indicira stdout, i 2indicira stderr ( tj grešku u destinaciji , tj da preusmjerenje nijeuspjelo ).Tako ako napr. želimo da dobijemo izlaz greške kod izdavanjakomande, pisaćemo:

Command 2> filenameOvo će prisiliti da stderr izlaz ( izvor fajla 2 ) bude poslat u fajlčije je ime ‘’filename’’.Možemo koristiti i standardni pajp simbol ‘|’ tj. vertikalnu liniju,da omogućimo da izlaz iz jedne komande ide u ulaz drugekomande. Unix će ovo multitaskirati, tako da će za vrijemeizvršenja prvog programa generisati izlaz u FIFO objekat kojiće automatski biti kreiran od strane shella, i za vrijemeizvršenja drugog programa će pročitati podatke iz FIFO bafera.

Page 47: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

47

DESIGN OF RTOS SYSTEMS

Bazična arhitektura modernih UNIX sistemaModerni UNIX sistemi ( System V release 4 ( SVR4), Solaris,BSD) , su organizirani na mnogo modularniji način kao naslijedećem blok dijagramu:

Page 48: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

48

DESIGN OF RTOS SYSTEMS

Bazna arhitektura LINUX-a

LINUX je izvorno bio napisan od strane Torvaldsa kao UNIXvarijanta za IBM PC računare. Za razliku od većine UNIXsistema, koji su monolitni kerneli, LINUX slijedi modularnustrukturu, koristeći punive module ( loadable modules).Ovi moduli imaju dvije vrlo važne karakteristike:* Dinamičko povezivanje: Kernelski modul se može napuniti ipovezati sa kernelom i kada je kernel već u memoriji i izvršavase. Modul se takodjer može razvezati ( unlink ) i otkloniti izmemorije u bilo kojem trenutku vremena.Nadsloživi moduli ( stackable modules): Moduli su aranžirani uhijerarhiji. Individualni moduli služe kao biblioteke kada sereferenciraju od klijentskih modula koji su visoko iznad uhijerarhiji, a kao klijenti kada referenciraju module koji su ispodnjih u hijerarhiji.

Page 49: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

49

DESIGN OF RTOS SYSTEMS

Lista primjera LINUX kernelskih modula( Prikazana je situacija nakon punjenja samo dva kernelskamodula : FAT i VFAT )

Page 50: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

50

DESIGN OF RTOS SYSTEMS

PROCESI* Da bi se program izvršio kreira se Proces ili Task.* Možemo karakterizirati ponašanje individualnog procesaizlistavajući sekvencu instrukcija koje se izvršavaju za ovajproces. Ovo se zove praćenje traga ( trace ) procesa.* Procesor ne vidi individualne tragove procesa nego samopreklopljenu ( interleaved) totalnu sekvencu koja je rezultatizvršavanja ovih procesa na preklapajući način, zajedno saumetnutim instrukcijama čije je porijeklo sam operativni sistem.* U narednom primjeru mi ćemo predpostaviti tri procesa idispečer OS-a koji se pune u glavnu memoriju, i da nemavirtuelne memorije. Predpostavićemo da svaki proces imatajm-out nakon 6 instrukcija, i dispečer treba narednih 6instrukcija da izvrši preključenje konteksta ( context switch). Urealnosti potrebno je mnogo više instrukcija za ovo a i time-outise dešavaju nakon mnogo većeg broja instrukcija.

Page 51: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

51

DESIGN OF RTOS SYSTEMS

* Zahtjev za I/O operacijom će takodjer dovesti do toga daproces mora da ćeka , tj. i u ovom slućaju se izvršavapreključenje konteksta ( context switch).Primjer : Mapa memorije ( snapshot snimak )

Page 52: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

52

DESIGN OF RTOS SYSTEMS

Primjer : Tragovi procesa

Page 53: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

53

DESIGN OF RTOS SYSTEMS

Primjer: Pogled na procesor

Page 54: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

54

DESIGN OF RTOS SYSTEMS

Model procesa sa dva stanja

U slućaju najednostavnijeg modela, proces može biti ili uizvršenju ili ne. Ovo vodi do najednostavnijeg modelaprocesa kao na slici:

Page 55: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

55

DESIGN OF RTOS SYSTEMS

Dispečer predstavljen kao operacija stavljanja u redćekanja

Novo kreirani procesi kao i oni koji se zaustavljeni seunose u red ćekanja. Dispećer, kada se aktivira, uzima prvielement u redu i prenosi kontrolu nad procesorom ovomprocesu:

Page 56: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

56

DESIGN OF RTOS SYSTEMS

Dodatna stanja* Kreiranje procesa: Kada novi proces treba da budekreiran, operativni sistem gradi potrebne strukturepodataka i alocira memorijski prostor procesu.* Završavanje procesa: Kada je proces završen, bilo zbognormalnog završetka ili zbog grešaka, memorijski prostorse vraća na raspolaganje operativnom sistemu i uklanjajuse strukture podataka procesa.

* Procesi koji se ne izvršavaju trebaju se medjusobnorazlikovati kao oni koji samo ćekaju na procesor ( tj. onimogu da se izvršavaju odmah) , i one koji ćekaju na nekidrugi uredjaj ( napr. I/O uredjaj).

* Ovo vodi do modela izvršenja procesa sa pet stanja kaona slijedećoj slici :

Page 57: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

57

DESIGN OF RTOS SYSTEMS

Model izvršenja procesa sa pet stanja

Stanja ćekanja su prouzrokovana ogranićenjima resursa* Running: Proces koji se trenutno izvršava* Ready: Proces koji je spreman za izvršenje kada mu

se da prilika* Blocked: Proces koji se ne može izvršavati sve dok seneki dogadjaj ne pojavi, kao što je naprimjer neka I/Ooperacija.

Page 58: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

58

DESIGN OF RTOS SYSTEMS

* New: Proces koji je upravo bio kreiran ali još nije bio primljenu bazen onih procesa koji se izvršavaju od strane operativnogsitema. Tipično, novi proces nije još bio napunjen u glavnumemoriju.

* Exit: Proces koji je oslobodjen iz bazena izvršavanih procesaod strane OS, bilo zbog toga što je zadržan ili je odbačen iznekog razloga ( aborted).

Model sa pet stanja : Tranzicije medju stanjima

* Null-> New: Novi proces je kreiran da bi se izvršio program.* New-> Ready: OS će pomjeriti proces iz New stanja u Readystanje kada je on spreman da preuzme još jedan dodatniproces. Većina OS ima neku granicu broja procesa koji semogu izvršavati.

Page 59: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

59

DESIGN OF RTOS SYSTEMS

* Ready-> Running: Kada je vrijeme za novi proces da seizvršava, OS bira jedan od procesa iz ready stanja. Selekcijamože biti sofisticiranija nego što je to Round-Robin pristup.

* Running-> Exit: proces koji se trenutno izvršava se okončavaod strane OS ako proces indicira da se kompletiralo njegovoizvršenje ili ako je odbačen ( aborted).

* Running-> Ready : Najčešći razlog za ovu tranziciju je da jeproces koji se izvršava dostigao svoj maksimalni neprekinutiinterval vremena za izvršenje. Drugi razlog ( samo u slučaju daOS podržava različite nivoe prioriteta), može biti, da je procesvećeg nivoa prioriteta prispjeo i mora odmah biti izvršavan.Ova procedura se naziva '' preemepcija'' . Proces možetakodjer i dobrovoljno osloboditi kontrolu nad procesorom

Page 60: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

60

DESIGN OF RTOS SYSTEMS * Running-> Blocked: Proces se stavlja u Blocked stanje akozahtjeva nešto na što mora ćekati. Zahtjev ka OS je obićno uobliku poziva ka sistemskom servisu ( takodjer se naziva isistemska primitiva) , napr. poziv od programa koji se izvršavaka proceduri koja je dio OS. Kada procesi komuniciraju, procesmože biti blokiran dok ćeka na poruku od drugog procesa kojajoš nije bila poslata.* Blocked-> Ready: proces u blocked stanju je pomjeren uReady ( spreman) stanje, kada se dogadjaj na koji je čekao,desi.* Ready-> Exit: radi jasnoće , ova tranzicija nije pokazana udijagramu stanja. U nekim OS sistemima ( napr. UNIX) , roditeljmože okončati dijete proces u bilo kojem trenutku vremena.Takodjer, ako se roditelj okonča, sva djeca procesi koji supridruženi sa roditeljem mogu biti takodjer okončani. Proces senaziva roditeljem drugog procesa ako je inicirao kreiranje togprocesa.

Page 61: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

61

DESIGN OF RTOS SYSTEMS

* Blocked->Exit: Komentari koji su bili navedeni kod prethodnetranzicije vrijede i ovdje. Tipični primjer za ovo je odbacivanjeprocesa štampača koji visi u nekom stanju.

Model sa pet stanja: Jednostavni sistem reda ćekanja

Page 62: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

62

DESIGN OF RTOS SYSTEMS

Različiti redovi ćekanja za različite dogadjaje

Page 63: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

63

DESIGN OF RTOS SYSTEMS Suspendovano stanje

*I/O su ekstremno spori u odnosu na brzinu izvršenjaprocesora.

*Čak i u našem multiprogramskom modelu sa visokomvjerovatnoćom, svi procesi će čekati na I/O, i procesor će bitinezaposlen ( idle).* Riješenje: Prebaciti jedan ili više procesa na ćekanju na diska ubaciti spremne procese sa diska ili prihvatiti novo prispjeleprocese.* Iz ovog razloga dva ili više stanja se uvode: Ready/ Suspendi Blocked/ Suspend stanje* Prebacivanje sa zamjenom ( swapping) je I/O operacija kojamože takodjer da uspori sistem. Zato je potrebna pažljivaparametrizacija.

Page 64: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

64

DESIGN OF RTOS SYSTEMS

Model sa sedam stanja za izvršenje procesa

Opis stanja kod modela sa sedam stanja* Ready: Proces je u glavnoj memoriji i raspoloživ za

izvršenje* Blocked: Proces je u glavnoj memoriji i ćeka na dogadjaj* Blocked/Suspended: Proces je u sekundarnoj memoriji i

ćeka na dogadjaj.

Page 65: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

65

DESIGN OF RTOS SYSTEMS

* Blocked-> Blocked/Suspend: Ako nema ready ( spremnih)procesa, tada barem jedan blokirani proces se izbacuje izmemorije ( swapped out) da se napravi prostor za nekidrugi proces koji nije blokiran. Ovo se može ćakdesiti i kada postoji ready ( spreman) proces koji jeraspoloživ u slučaju kada OS detektuje da će zahtjevatiisuviše glavne memorije za efikasno izvršenje.

* Blocked/Suspend-> Ready/Suspend: Ova tranzicija stanja sepojavljuje ako se dogadjaj na koji se ćekalo se pojavi.Primjetimo da informacija stanja suspendovanog procesamora biti raspoloživa OS-u.

Page 66: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

66

DESIGN OF RTOS SYSTEMS

* Ready/Suspend->Ready: Kada nema spremnih procesa uglavnoj memoriji, OS će trebati da unese jedan i danastavi operaciju. Druga mogućnost je da proces uReady/Suspend redu ćekanja ima veći prioritet od drugihprocesa u Ready redu ćekanja.

* New-> Ready/Suspend and New -> Ready: Kada se kreiranovi proces, može se dodati u bilo koji od dva reda. Uobadva slućaja OS mora da kreira neke strukturepodataka. Može biti razumno da ovo uradi što je prije dabi imao veliki broj raspoloživih spremnih procesa, čak ikada svi oni ne mogu da se napune u glavnu memoriju.Zbog toga se i unose novi procesi u Ready/Suspend redćekanja. Ako se procesi naknadno kreiraju, onda imasmisla da se direktno unesu u Ready red ćekanja.

Page 67: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

67

DESIGN OF RTOS SYSTEMS

•Blocked/Suspend-> Blocked: Ovo izgleda malo neobićno naprvi pogled.Ali ako proces u Blocked/Suspend redu ćekanja ima većiprioritet nego svi procesi u Ready redu ćekanja, i ako OSima dobre razloge da oćekuje da blokirani resurs postaneuskoro raspoloživ, ima smisla da se napuni proces unekoj vrsti prethodnog zahvata ( prefetching).

* Running-> Ready/Suspend: Normalno, proces u izvršenju seprebacuje u Ready stanje kada istekne vrijeme koje muje dodjeljeno za izvršenje. U rijetkim slučajevima, kadaOS priemptira proces zbog procesa sa višim nivomprioriteta u redu ćekanja Blocked/Suspend koji je upravopostao deblokiran, OS može prebaciti priemptirani procesdirektno u Ready/Suspend red ćekanja da bi oslobodionešto glavne memorije.

Page 68: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

68

DESIGN OF RTOS SYSTEMS * Various -> Exit: Tipično, proces se završava dok je u izvršenju.

Ali kod nekih OS, proces može biti okončan od straneprocesa koji ga je kreirao ( napr. od procesa roditelja –parent process), ili pak zbog okončanja samog procesaroditelja. Time proces iz bilo kojeg stanja može bitiprebaćen u stanje izlaza ( Exit ).

Kontrolne strukture Operativnog sistema

Operativni sistem treba da upravlja procesima i resursima tezbog toga mora da ima informacije o tekučem statusu svihprocesa i resursa. Ovo je pohranjeno u slijedeće strukturepodataka:Memorijske tabele: Da bi u njima držao evidenciju o glavnojmemoriji kao i sekundarnoj memoriji. Memorijske tabele morajuda sadržavaju slijedeće informacije:

Page 69: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

69

DESIGN OF RTOS SYSTEMS

- Dodjeljivanje glavne memorije procesima- Dodjeljivanje sekundarne memorije procesima- Bilo koje zaštitne atribute blokova glavne memorije- Sve informacije koje su potrebne za upravljanje

virtualnom memorijom.* I/O tabele: Koriste se od strane OS da bi upravljao I/Ouredjajima i kanalima računarskog sistema. U svakom datomtrenutku vremena, I/O uredjaj može biti raspoloživ ili doznačennekom odredjenom procesu. Ako je neka I/O operacija uprogresu, OS treba da zna njen status.* File tabele ( opciono) : Informacije o postojanju fajlova, njihovojlokaciji u sekundarnoj memoriji, njihovom tekučem statusu, kaoi drugim atributima.Ako se ovim informacijama upravlja od strane sistema za

menadjment fajlova ( file mamagement system), tada OSuglavnom nisu potrebne ove informacije.

Page 70: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

70

DESIGN OF RTOS SYSTEMS

* Procesne tabele: Koje koristi OS da upravlja procesima. Ovestrukture podataka bit će u nastavku detaljnije analizirane.

Kontrolne tabele Operativnog sistema

Page 71: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

71

DESIGN OF RTOS SYSTEMS

Kontrolne strukture procesa

Cjelokupni memorijski prostor kojeg zauzima proces se nazivaprocesna slika ( Process image). Ona sadrži :

* program ili skup programa koji se trebaju izvršiti* set lokacija podataka za lokalne i globalne varijable i

konstante.* Stek ( stack ) na kojem će se voditi evidencija opozivima procedura i prenosu parametara ka njima .

* niz atributa koji se koriste od strane OS za kontroluprocesa. Ovaj set atributa se naziva Kontrolni blokprocesa ( Process control Block – PCB ).

Page 72: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

72

DESIGN OF RTOS SYSTEMS

Kontrolni blok procesa ( PCB )

Postoje tri osnovne grupe informacija u PCB-u:* Identifikacija procesa ( process identification)* Informacija o stanju procesora* Informacija o kontroli procesa

Identifikacija procesa: Svakom je procesu dodjeljen jedinstvennumerički identifikator, t.j. jednostavno jedan indeks u primarnojtabeli procesa. Kadgod se treba taj proces adresirati ( ili odstrane OS ili nekog drugog procesa), koristi se ovaj identifikator.Ako je procesu dozvoljeno da kreira druge procese, ovajidentifikator označava i proces roditelj kao i sve nasljednike togprocesa.

Page 73: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

73

DESIGN OF RTOS SYSTEMS

Informacija o stanju procesora: Ovdje se pohranjuje sadržajprocesorskih registara u trenutku kada je proces izgubio stanjeizvršenja ( running) . Ovaj set registara se sastoji ne samo odregistara koji su vidljivi za korisnika, nego i od dodatnih statusnihregistara. Naročito je tkzv. riječ programskog statusa ( PSW –program status word), dio ove informacije.Informacija o kontroli procesa: Ovo je dopunska informacija kojaje potrebna Operativnom sistemu da bi kontrolirao i koordiniraorazne aktivne procese. Ona sadrži:* Informaciju o rasporedu i stanjima ( scheduling and state)

- Stanju procesa- prioritetu- informacije koje se odnose na rasporedjivanje- dogadjaji

Page 74: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

74

DESIGN OF RTOS SYSTEMS

* Struktuiranje podataka* medjuprocesna komunikacija* procesne privilegije* menadjment memorije* vlasništvo nad resursima i njihovo korištenje

Modovi izvršenjaManje ili više svi procesori podržavaju dva moda rada:

* Manje privilegirani mod, koji se najčešće naziva UserMode, u kojem su dozvoljene samo normalne instrukcije* Privilegirani mod, nazvan i System mode, Control Modeili Kernel Mode, u kojem se dodatno dozvoljava i pristupkontrolnim registrima, i I/O operacijama.

Page 75: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

75

DESIGN OF RTOS SYSTEMS

•Tekuči mod rada je pohranjen u PSW procesora.

* Preključenje moda se izvršava od strane specifičneoperacije. Može se izvršiti u sistemskom modu. U Usermodu, ova instrukcija postaje poziv ka OS , koji tada možeda odluči da li da dozvoli procesu da se izvršava usistemskom modu ili ne.* Manje privilegirani mod, koji se najčešće naziva UserMode, u kojem su dozvoljene samo normalne instrukcije* Privilegirani mod, nazvan i System mode, Control Modeili Kernel Mode, u kojem se dodatno dozvoljava i pristupkontrolnim registrima, i I/O operacijama.

Page 76: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

76

DESIGN OF RTOS SYSTEMS

Kreiranje procesa

OS kreira proces koristeći slijedeće korake:

* Doznačava jedinstveni identifikator procesa novomprocesu* Doznačuje memorijski prostor za proces. Ovo uključujesve elemente procesne slike.

* Inicijalizira kontrolni blok procesa. Informacija kontroleprocesa se inicijalizira na bazi standardnih defaultvrijednosti plus specifične vrijednosti koje su obezbjedjeneza ovaj proces.

Page 77: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

77

DESIGN OF RTOS SYSTEMS

* Setuje odgovarajuće linkove. Napr. ako OS održava svakired rasporedjivanja kao uvezanu listu, tada novi proces semora staviti u Ready ili Ready/Suspend listu.

* Kreira ili ekspandira i druge strukture podataka. Napr. OSmože održavati jedan obračunski fajl za svaki od procesa.

Preključenje procesaPreključenje procesa se može izvršiti svaki put kada OS imakontrolu nad procesorom. Ono takodjer se dešava i automatski,inicijalizirano od hadvera procesora kada se pojavi interapt. Ovoje ujedno i jedini način na koji OS može dobiti kontrolu nadprocesorom.Najkomplikovanije preključenje procesa je tranzicija stanja izstanja izvršenja ( Running) u neko drugo stanje.

Page 78: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

78

DESIGN OF RTOS SYSTEMS

Tada, se moraju izvršiti slijedeći koraci:

1. Pohraniti sadržaj ( kontekst) procesora2. Ažuirirati PCB procesa koji je trenutno u stanju izvršenja.3. Prebaciti kontrolni blok procesa ( PCB ) u odgovarajućired ćekanja.4. Izabrati drugi proces za izvršenje.5. Ažurirati PCB izabranog procesa.6. Ažurirati memorijski menadjment struktura podataka.7. Restaurirati kontekst procesora na onaj koji je postojaokada je izabrani proces za izvršenje, posljednji putpreključen van izvršenja u neko drugo stanje.

Page 79: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

79

DESIGN OF RTOS SYSTEMS

Izvršenje Operativnog sistema

Page 80: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

80

DESIGN OF RTOS SYSTEMS Konci ( threads)

Koncept procesa uključuje dvije karakteristike:*Vlasništvo nad resursom ( resource ownership): Proces uključujevirtualni adresni prostor u kojem će držati pocesnu sliku, i savremena na vrijeme on takodjer doznačuje vlasništvo nadresursima kao što su glavna memorija, I/O kanali, I/O uredjaji.

* Rasporedjivanje/izvršenje ( scheduling/execution): Izvršenjeprocesa slijedi stazu izvršenja kroz jedan ili više programa.Proces ima stanje izvršenja ( Running, Ready, itd), i predstavljaentitet koji je rasporedjivan i dispečiran od strane OS.

Moderni OS se razlikuju medjusobno po ovim dvjemakarakteristikama. Proces ih posjeduje obadvije. Može se sastojatiod više od jednog konca ( thread). Konac ima samo karakteristikuda predstavlja objekat rasporedjivanja ( scheduling).

Page 81: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

81

DESIGN OF RTOS SYSTEMS

On dijeli sve resurse sa drugim koncima istog procesa.

Konci i procesi

Page 82: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

82

DESIGN OF RTOS SYSTEMS

Višekončani model procesa

Page 83: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

83

DESIGN OF RTOS SYSTEMS

Stanja konaca

Pošto konci nemaju karakteristiku posjedovanja resursa, zanjih su relevantna samo tri stanja:

* running* ready

* blockedTipično, postoje četiri osnovne operacije koje mjenjaju stanjakonaca:

* Spawn: Kada novi proces je spawniran, inicijalnikonac za njega je takodjer spawniran. Ovaj možetakodjer da spawnira i druge.* Block: Kada konac treba da ćeka na neki dogadjajkoji će ga blokirati, pohranjujući svoje korisničkeregistre, programski brojač i pokazivače na stekove.

Page 84: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

84

DESIGN OF RTOS SYSTEMS

* Unblock: Kada se dogadjaj zbog kojeg je konacblokiran pojavi, konac se prebacuje u red čekanjaspremnih ( ready).* Finish: Kada se konac kompletira, njegovi sadržajiregistara i stekovi se dealociraju ( tj. oslobadjaju).

KONTROLA KONKURENTNOSTI ( ISTOVREMENOSTI )Jednostavan primjer:

Razmotrimo slijedeću proceduru:void echo ()

{chin= getchar();chout=chin;putchar(chout);}

Page 85: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

85

DESIGN OF RTOS SYSTEMS

Ovaj program dakle čita jedan karakter sa tastature, prebacujega kroz kanal ( trenutna varijabla) i prikazuje ga na ekranu.Posmatrajmo sada dva procesa od kojih oba koriste ovaj echo

modul.1. Proces P1 poziva echo i prekinut je nakon izvršenja prvogiskaza. Karakter kojeg je pročitao ( napr. x) je pohranjen uchin.2. Proces P2 se aktivira i poziva echo. On se izvršava do kraja,i pokazuje napr. y na ekranu.

3. Proces P1 se ponovo nastavlja. Vrijednost x koju je unjeokorisnik je prepisana sa vrijednošću y i izgubljena je. Sada ćevarijabla chin sadržavati y koja se prebacuje na chout ipokazuje na ekranu. Dakle korisnik je unjeo x a na ekranu ćese pokazati y.

Page 86: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

86

DESIGN OF RTOS SYSTEMS

Prvo riješenje za opisani problem

Iz gornjeg opisa problema slijedi da mi treba da imamokontrolu pristupa dijeljenim objektima. Čineči to, možemo doćido slijedećeg riješenja:

1. Proces P1 poziva echo i prekinut je neposredno nakonizvršenja prvog iskaza. Karakter koji je unesen, napr. x , sepohranjuje u chin.

2. Proces P2 se aktivira i poziva echo modul. Medjutim, poštoje P1 još uvjek unutar echo modula, mada trenutnosuspendovan, P2 je blokiran da udje u echo proceduru. Zbogtoga će P2 biti suspendovan, ćekajuči na raspoloživost echoprocedure.

Page 87: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

87

DESIGN OF RTOS SYSTEMS

3. Nakon nekog vremena, proces P1 je ponovo aktiviran (resumed), i kompletira izvršenje echo procedure. Korektankarakter koji je unesen, tj. x će biti prikazan na ekranu.

4. Kada P1 izadje iz echo procedure, ovo će otkloniti blokaduna P2. Kada se P2 nastavi izvršavati, moći će uspješno pozvatiecho proceduru.

Zadatci Operativnog sistema za implementaciju opisanog riješenja

1. OS mora biti u stanju da vodi evidenciju raznih aktivnihprocesa. Za ovo se koristi PCB struktura.

Page 88: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

88

DESIGN OF RTOS SYSTEMS

2. OS mora doznačavati ( allocate) i povlačiti ( deallocate)različite resurse za svaki aktivni proces. Ovi resursi uključuju:

- procesorsko vrijeme- memoriju- fajlove- I/O uredjaje

3. OS mora zaštititi podatke i fizičke resurse svakog procesaod neplanirane interferencije od strane drugih procesa.

4. Rezultat procesa mora biti nezavistan od brzine sa kojom seizvršio, relativno u odnosu na ostale konkurentne (istovremene ) procese.

Page 89: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

89

DESIGN OF RTOS SYSTEMS

Tri kontrolna problema: 1. Medjusobno isključenje

* Predpostavimo da dva ili više procesa zahtjevaju pristup kajednom nedijeljenom resursu ( napr. štampaču).

* Za vrijeme izvršenja svaki proces će slati komande ili podatkei primaće statusne informacije ili podatke.

* Takav resurs se naziva kritičnim resursom, a dio programakoji ga koristi se naziva Kritična Sekcija ( Critical section).

* Bitno je da je samo jedan program u datom trenutku vremenau kritičnoj sekciji.

Page 90: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

90

DESIGN OF RTOS SYSTEMS

Tri kontrolna problema: 2. Medjublokada ( deadlock)

* Posmatrajmo dva procesa, P1 i P2 i dva resursa, A i B.Predpostavimo da obadva procesa trebaju pristup ka obadva

resursa.* OS može doznačiti B na P1 a A na P2.* Sada su obadva resursa blokirana, čekajući na drugi procesda oslobodi njemu dodijeljen resurs. Drugi proces ga medjutimne može osloboditi, jer je i on blokiran.

Page 91: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

91

DESIGN OF RTOS SYSTEMS

Tri kontrolna problema: 3. Izgladnjavanje ( starvation)

* Predpostavimo da sva tri procesa P1, P2 i P3 zahtjevajuperiodičan pristup resursu R.* Predpostavimo da je P1 u posjedu R a P2 i P3 ćekaju nanjega.* Predpostavimo da OS omogući pristup R kada P1 izadje izkritične sekcije.* Ako P1 zahtjeva R ponovno prije nego što se okončaizvršenje P2 i ako OS doznači R ka P1 nakon što je P2završio, P3 neće nikada moći pristupiti R.

Page 92: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

92

DESIGN OF RTOS SYSTEMS

Šema riješenja za medjusobno isključenje

Page 93: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

93

DESIGN OF RTOS SYSTEMS Kooperacija putem dijeljenjaPredpostavimo dva programa koji dijele varijable a i b. Obadvaprograma rade neku obradu podataka u kojoj je bitno davrijednosti a i b moraju ostati iste.

P1: P2:a = a + 1 ; b = 2 * b ;b = b + 1 ; a = 2 * a ;

Promatrajmo slijedeće konkurentno izvršenje:a = a + 1 ;b = 2 * b ;b = b + 1 ;a = 2 * a ;

Ako mi počnemo naprimjer sa a= b=1, tada ćemo završiti sanekonzistentnim stanjem:

a= 4 i b= 3Slijedi da, kritične sekcije se takodjer trebaju koristiti kadakoristimo dijeljene varijable.

Page 94: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

94

DESIGN OF RTOS SYSTEMS Zahtjevi za medjusobno isključenje

1. Medjusobno isključenje mora biti nametnuto; samo jednomprocesu u datom trenutku vremena je dozvoljeno da budeunutar njegove kritične sekcije, od svih procesa koji imajukritične sekcije za isti resurs.

2. Proces koji se zaustavlja unutar svoje nekritične sekcije,mora to činiti bez interferencije sa ostalim procesima.

3. Ne smije biti moguće za proces koji zahtjeva pristup kakritičnoj sekciji, da bude beskonačno zadržavan, ne smije sepojaviti medjublokada, niti izgladnjavanje.

4. Kada nema niti jednog procesa u kritičnoj sekciji, bilo kojiproces koji zahtjeva ulaz u svoju kritičnu sekciju, mora bitiomogućen da udje bez zadržavanja.

Page 95: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

95

DESIGN OF RTOS SYSTEMS

Hardverska podrška za medjusobno isključenjeOnemogućavanje interapta

*Predpostavimo jednoprocesorski sistem. Izvršenje programamože biti zaustavljeno izvana samo sa interaptima.

*Slijedi da onemogućavanje interapta ( disable interrrupt),garantira medjusobno isključenje

* Posmatrajmo slijedeći programski segment:while ( true )

{/* disable interrupts */

/* critical section *//* enable interrupts */

/* remainder */}

Page 96: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

96

DESIGN OF RTOS SYSTEMS

Ovo radi samo na jednoprocesorskim mašinama. Degradiradramatično performansu procesora pošto je preklapanje (interleaving ) onemogućeno.

Može se desiti da se izgube i neki kritični interapti.

Druga mogućnost je :

Test i set instrukcija

Atomic ( nedjeljiva ) test and set instrukcija je definirana kao:

Page 97: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

97

DESIGN OF RTOS SYSTEMS

boolean testset (int i){

if ( i == 0 ){

i = 1 ;return true ;

}else{

return false ;}}

Page 98: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

98

DESIGN OF RTOS SYSTEMS Hardverska podrška za medjusobno isključenje

Medjusobno isključenje putem Test i Set instrukcije const int n = /* number of processes */

int bolt ;

void P(int i)

{

while (true)

{

while ( ! testset ( bolt ) ) /* do nothing */

/* critical section */ ;

bolt = 0 ;

/* remainder */ ;

}

}

void main ()

{

parbegin ( P(R1), P(R2),…P(Rn) ) ;

}

Page 99: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

99

DESIGN OF RTOS SYSTEMS

Exchange instrukcija

Nedjeljiva (Atomic) exchange instrukcija je definirana kao :

void exchange ( int register, int memory)

{

int temp ;

temp = memory ;

memory = register ;

register = temp ;

}

Page 100: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

100

DESIGN OF RTOS SYSTEMS Medjusobno isključenje putem Exchange instrukcije

const int n = /* number of processes */

int bolt ;

void P(int i)

{

int keyi ;

while (true)

{

keyi = 1 ;

while (keyi != 0 ) exchange (keyi, bolt) ;

/* critical section */ ;

exchange (keyi, bolt) ;

/* remainder */ ;

}

}

void main ()

{

parbegin ( P(R1), P(R2),…P(Rn) ) ;

}

Page 101: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

101

DESIGN OF RTOS SYSTEMS

Osobine pristupa preko mašinskih instrukcija

* Može se primjeniti na bilo koji broj procesa ili najednoprocesorskoj ili višeprocesorskoj mašini sa dijeljenjemglavne memorije.

* Jednostavan je i zbog toga se može lagano verifikovati.

* Može se koristiti da podržava višestruke kritičke sekcije,svaka kritična sekcija može biti definirana sa svojom vlastitomvarijablom.

Page 102: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

102

DESIGN OF RTOS SYSTEMS

Nedostaci pristupa preko mašinskih instrukcija.* Koristi se ćekanje zbog zauzetosti ( busy waiting), tj. proceskoji čeka na kritičnu sekciju nastavlja da konzumiraprocesorsko vrijeme.* Moguće je izgladnjavanje ( starvation), Kada proces napuštakritičnu sekciju a ćeka više od jednog procesa, selekcijaprocesa koji ćeka je arbitrarna. Posljedica ovoga je da nekiprocesi mogu ćekati beskonačno dugo.* Moguća je pojava medjublokade ( deadlocka). Napr. procesP1 izvršava specijalnu instrukciju ( testset ili exchange) i ulaziu kritičnu sekciju. P1 se nakon toga prekida da bi procesor biodat P2 koji ima veći prioritet. Ako P2 sada pokuša da koristi istiresurs kao i P1, bit će mu zabranjen pristup. Zbog toga će onući u konturu ćekanja zbog zauzeća resursa. Medjutim, P1neće nikada biti lansiran u izvršenje zbog toga što ima manjiprioritet nego drugi spreman proces tj. P2.

Page 103: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

103

DESIGN OF RTOS SYSTEMS

Semafori

Semafori su abstraktni tipovi podataka.Vrijednost semafora je Integer tip podatka.Definirane su dvije vrijednosti:

* Wait: Ova operacija dekrementira vrijednost semafora. Akovrijednost postane negativna, onda proces koji izvršava wait seblokira.* Signal: Ova operacija inkrementira vrijednost semafora. Akovrijednost nije pozitivna, onda proces koji je bio blokiran sawait operacijom se deblokira.

Kao specijalna vrsta semafora može se definirati binarnisemafor. Njegove semaforske vrijednosti mogu biti samo 0 i 1.

Page 104: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

104

DESIGN OF RTOS SYSTEMS Definicja semaforskih operacija

Primjetimo da se slijedeći pseudo kod ne može implementirati u Cprogramskom jeziku, pošto operacije wait i signal moraju biti nedjeljive (atomic).struct semaphore {int count ;queueType queue}void wait ( semaphore s) void signal ( semaphore s){ {s.count -- ; s.count ++ ;if ( s.count < 0 ) if ( s.count <= 0 ){ {

place this process remove a process Pin s.queue ; from s.queue ;block this process place process P on ready list ;

} }} }

Page 105: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

105

DESIGN OF RTOS SYSTEMS

Definiranje operacija binarnog semafora

struct bin_semaphore {enum ( zero, one) value ;

queueType queue}

void waitB (bin_semaphore s) void signalB( bin_semaphore s){ {

if( s.value==1) s.value==0 ; if (s.queue.is_empty()) s.value=1; else else

{ {place this process remove a process P

in s.queue ; from s.queue ; block this process place process P on ready list ;

} }} }

Page 106: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

106

DESIGN OF RTOS SYSTEMS

Primjeri korištenja semafora

Page 107: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

107

DESIGN OF RTOS SYSTEMS Medjusobno isključenje koristeći semafore

/* program medjusobno isključenje */const int n = /* number of processes */

semaphore s=1;void P(int i)

{while (true)

{wait (s) ;

/* critical section */ ;signal (s) ;

/* remainder */ ;}}

void main (){

parbegin ( P(R1), P(R2),…P(Rn) ) ;}

Page 108: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

108

DESIGN OF RTOS SYSTEMS

Ponašanje riješenja medjusobnog iskljućenja

Page 109: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

109

DESIGN OF RTOS SYSTEMS

Problem proizvodjača/potrošača ( producer/consumer)

Neformalna specifikacija:

* Postoji bafer konačne velićine sizeofbuffer.* Postoji n proizvodjača koji stavljaju elemente u bafer* Postoji samo jedan potrošač koji otklanja elemente iz bafera.•Samo jedan subjekat može imati pristup baferu u svakom

trenutku vremena.* Ništa se ne odklanja iz praznog bafera.* Ništa se ne postavlja u pun bafer.

Page 110: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

110

DESIGN OF RTOS SYSTEMS

Page 111: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

111

DESIGN OF RTOS SYSTEMS Riješenje problema Proizvodjač/Potrošač

/* program boundedbuffer*/

Page 112: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

112

DESIGN OF RTOS SYSTEMS

Medjublokade ( deadlocks)

Page 113: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

113

DESIGN OF RTOS SYSTEMS

Uslovi za medjublokade

1. Medjusobno isključenje: Samo jedan proces može koristitiresurs u svakom trenutku vremena

2. Drži i ćekaj (Hold and wait): Proces može držati dodijeljeniresurs dok ćeka doznačavanje ostalih.

3. Nema priempcije: Nikakav resurs ne može biti na silu oduzetod procesa dok ga on drži.

4. Kružno ćekanje: Postoji zatvoreni lanac procesa, tako dasvaki proces drži najmanje jedan resurs koji je potrebanslijedećem procesu u lancu.

Page 114: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

114

DESIGN OF RTOS SYSTEMS

Primjer kružnog ćekanja

Prevencija medjublokada ( deadlocka)* Medjusobno iskljućenje: Ovo ne može biti iskljućeno kaoriješenje, pošto u mnogim slućajevima ovo je upravo ono štoželimo da postignemo.* Drži i ćekaj ( hold and wait): Može se spriječiti ako nedozvolimo da proces zahtjeva sve svoje potrebne resurseistovremeno i blokiranjem procesa dok mu nisu dati svi resursi.Ovo naravno će sa svoje strane uvesti neefikasnost u izvršenjuprograma.

Page 115: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

115

DESIGN OF RTOS SYSTEMS

* Nema priempcije: Jedno riješenje može biti da se prisiliproces da oslobodi resurs koji već drži ako je on blokiran zbogtoga što još jedan resurs koji mu je potreban nije raspoloživ.

* Kružno ćekanje: Ovo može biti sprijećeno definirajućilinearno uredjenje tipova resursa. Ako proces ima alociraneresurse tipa R, tada može da zahtjeva samo one tipoveresursa koji slijede nakon R u redoslijedu.

* Dokaz: Prepostavimo da je P1 zaključao Ri i želi da zaključaRk. Ovo je dozvoljeno ukoliko je i < k. Ali nakon toga nijedozvoljeno da P2 drži Rk i želi da zakljuća Ri pošto bi ovoimpliciralo da je k < i.

Page 116: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

116

DESIGN OF RTOS SYSTEMS

Menadjment memorijeZahtjevi na menadjment memorijeObićno se postavljaju slijedeći zahtjevi na sistem upravljanjamemorijom:

* Relociranje* Zaštita* Dijeljenje* Logička organizacija* Fizička organizacija

Relokacija* Memorija se dijeli izmedju različitih korisnika.•Korisnik ne može unaprijed znati gdje će njegov program bitinapunjen u glavnu memoriju.* Pošto se programi ubacuju i izbacuju ( swapped) iz glavnememorije, vrlo je malo vjerovatno da će program biti swapovanu memoriju na istoj lokaciji na kojoj je ranije bio.

Page 117: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

117

DESIGN OF RTOS SYSTEMS

* Umjesto toga, mi treba da relociramo proces u različitedijelove memorije.

* Operativni sistem treba da zna:- PCB- ulaznu tačku za program- tekuči vrh steka

* Operacije granjanja unutar programa i referenciranjepodataka traži još sofisticiraniju podršku.

Page 118: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

118

DESIGN OF RTOS SYSTEMS

Adresiranje zahtjeva za proces

Page 119: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

119

DESIGN OF RTOS SYSTEMS Zaštita

* Svaki proces treba biti zaštićen od neželjene interferencije oddrugih procesa.

* Zadovoljenje zahtjeva relokacije, čini ovu situaciju mnogokomplikovanijom, pošto lokacija programa u glavnoj memorijipostaje nepredvidiva.* Dinamičko adresiranje za vrijeme izvršenja programa (runtime) takodjer komplikuje ovu situaciju.

* Srećom tehnike relokacije takodjer podržavaju zaštitu:- Korisnički program ne može pristupiti bili kojoj adresi uadresnom prostoru OS.- Program ne može pristupiti adresama u adresnomprostoru drugog procesa.

Page 120: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

120

DESIGN OF RTOS SYSTEMS

* Ovo je nametnuto putem adresiranja preko baznog registra iprovjeravanja da li su adrese van nekih granica.

•Primjetimo da ovi mehanizmi moraju biti obezbjedjeni odstrane hardvera , OS to ne može raditi bez podrške hardvera.

Dijeljenje (sharing)* Svaki mehanizam zaštite mora imati fleksibilnost da dozvolida nekoliko procesa pristupa istom dijelu glavne memorijePrimjer za ovo je dijeljeni kod.* Procesi koji komuniciraju trebaju najmanje minimalni dioprostora djeljene memorije da bi ovo mogli uraditi.

* Naravno, dijeljenje podataka je opasno sa stanovišta zaštitepodataka. Zbog toga sistem za menadjment memorijom trebada dozvoli dijeljenje samo pod striktno definiranim pravilima.

Page 121: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

121

DESIGN OF RTOS SYSTEMS

Logička organizacija* Memorija u računarima je organizirana kao linearni, tj. jednodimenzionalni, adresni prostor.* Sastoji se od sekvence bajta i riječi.* Sekundarna memorija je slićno organizirana.* Programi su organizirani na sofisticiraniji način, sastoje se odmodula, od kojih se neki mogu modificirati a neki ne mogu.

* Ako OS ovim može efikasno upravljati, niz prednosti se možepostiči, kao:-Moduli se mogu pisati i kompilirati nezavisno jedan od drugog,sa svim referencama iz jednog modula u drugi razriješenim odstrane OS u modu izvršenja ( runtime).- Različiti stepeni zaštite se mogu doznačiti modulima.

Page 122: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

122

DESIGN OF RTOS SYSTEMS - Djeljenje modula izmedju procesa se može podržati. Ovoodražava tačku gledišta korisnika.•Bazna tehnika podrške za ovo je segmentacija.

Fizička organizacija* Računarska memorija je organizirana u glavnu i sekundarnumemoriju.Glavna memorija je :

- brza- skupa i- volatilna ( tj. njen sadržaj se gubi kada se isključi sa

napajanja)Sekundarna memorija je :

- spora- jeftina i- stalna

Page 123: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

123

DESIGN OF RTOS SYSTEMS

* Tok izmedju ova dva nivoa memorijske hijerarhije je glavnabriga za OS.( Keš memorija je transparentna za OS , ona se u potpunostikontroliše od strane hardvera).Tehnike menadjmenta memorijeFiksno razdjeljivanje ( partitioning)

Glavna memorija je podjeljena u više statičkih particija u tokuvremena generacije OS. Program se može napuniti u particijujednake ili veće velićine od programa.Ovaj metod je jednostavan za implementaciju i predstavljamalo dopunskog opterećenja ( overhead) za OS.

Nedostatak je neefikasno korištenje memorije zbog internefragmentacije. Maksimalni broj aktivnih procesa je fiksan.

Page 124: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

124

DESIGN OF RTOS SYSTEMS Dinamičko razdjeljivanjeParticije se dinamički kreiraju, tako da svaki proces se loadujeu particiju tačno iste velićine kao i proces.Prednost je da nema interne fragmentacije, i efikasnijekorištenje memorije.Nedostatak je neefikasno korištenje procesora zbog potrebekompaktacije da bi se spriječila vanjska fragmentacija.Jednaostavno straničenje ( paging)Glavna memorija je razdjeljena u niz okvira iste velićine. Svakiproces je razdjeljen u stranice iste velićine koje su istovjetnevelićine kao okviri. Proces se puni putem punjenja svihnjegovih stranica u raspoložive okvire koji ne moraju bitikontinualno rasporedjeni jedan iza drugog ( kontingentne -contiguous).Prednost je da nema vanjske fregmentacijeMana je da ipak postoji manji obim interne fragmentacije.

Page 125: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

125

DESIGN OF RTOS SYSTEMS

Jednostavna segmentacija

Svaki proces je podjeljen u niz segmenata. Proces se puniputem punjenja svih njegovih segmenata u dinamičke particije,koje ne moraju biti kontigentne.

Prednost je da nema interne fragmentacije, poboljšanokorištenje memorije u poredjenju sa dinamičkom particijom.

Mane su:- Vanjska fragmentacija- potrebna je eksplicitna provjera velićina segmenata

Page 126: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

126

DESIGN OF RTOS SYSTEMS

Virtualno straničenje memorije ( virtual memory paging).

Realizuje se kao i kod jednostavnog straničenja (pejdjiranja),izuzev što nije potrebno napuniti sve strane procesa.Nerezidentne strane se unose u glavnu memoriju u kasnijojfazi automatski.

Prednosti:Nema vanjske fragmentacije, veći stepen multiprogramiranja,veći virtualni adresni prostor.

Nedostatci:Interna fragmentacijaDodatak ( overhead) zbog kompleksnog menadjmentamemorije.

Page 127: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

127

DESIGN OF RTOS SYSTEMS

Virtualna segmentacija memorije

Realizuje sa kao i kod jednostavne segmentacije, izuzev danije potrebno napuniti sve segmente procesa. Nerezidentnisegmenti se unose kasnije automatski.

Prednosti:Nema interne fragmentacije, veći stepen multiprogramiranja,veći virtualni adresni prostor, podrška za zaštitu i dijeljenje.Nedostaci:Vanjska fragmentacijaDodatak zbog kompleksnog menadjmenta memorije

Page 128: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

128

DESIGN OF RTOS SYSTEMS

Fiksno particioniranje

Danas se rijetko koristi, samo u slučajevima gdje OS overheadmora da bude minimalan.Particije mogu biti iste ili različite velićine.Jednake velićine mogu voditi ka mnogo interne fragmentacije.U svakom slučaju, broj procesa je fiksan.

Page 129: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

129

DESIGN OF RTOS SYSTEMS

Primjer dinamičkog particioniranja:1. Glavna memorija je prazna izuzev operativnog sistema2. Proces 1 je napunjen u slobodni memorijski prostor3. Proces 2 je napunjen u slobodni prostor4. Proces 3 je napunjen u slobodni prostor. Ovo ostavlja samo

4 MB , sto nije dovoljno da se napuni još jedan proces.

Page 130: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

130

DESIGN OF RTOS SYSTEMS

5. Predpostavimo da niti jedan od procesa u glavnoj memorijinije spreman. OS će izbaciti ( swaps out) proces 2. Ovo ćestvoriti prostora da se napuni drugi proces, proces 4. Pošto jeproces 4 manji od procesa 2, još jedna mala rupa bićekreirana.

Page 131: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

131

DESIGN OF RTOS SYSTEMS

6. Predpostavimo ponovno, da niti jedan od procesa u glavnojmemoriji nije spreman. Ali proces 2 u ready/suspend redućekanja je raspoloživ. Pošto nema dovoljno prostora u memorijiza proces 2, OS zamjenjuje ( swaps out) proces 1 i ubacuje (swaps in) proces 2 ponovno.Hadverska podrška za relokaciju je prikazana na narednoj slici:

Page 132: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

132

DESIGN OF RTOS SYSTEMS

Straničenje ( paging)

* Particioniranje je neefikasan način korištenja memorije.

* Bolje riješenje je : Razdjeliti glavnu memoriju u manjedijelove fiksne velićine. Ovo blokovi ( chunks) se onda zovuokviri strana (Page Frames ), ili jednostavno okviri ( Frames).* Blokovi procesa iste velićine, koji se nazivaju stranama (Pages), se sada mogu napuniti u ove okvire strana.* Nema potrebe da se strane procesa pune u naizmjenicnoporedane ( konsekutivne ) okvire.* Dodatna struktura podataka je potrebna. Za svaki proces,mora se pohraniti gdje se njegove strane pune u okvire. Ovastruktura podataka se naziva tabela strana ( Page table).

Page 133: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

133

DESIGN OF RTOS SYSTEMS Primjer pejdjiranja

1. Izvaditi broj strane iz n bita sa lijeve strane ( ako je brojstrana = ) iz logičke adrese.

2. Koristiti broj strane kao indeks u page tabeli procesa da senadje broj okvira k.

Page 134: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

134

DESIGN OF RTOS SYSTEMS

3. Startna fizička adresa okvira je k* ( ako je velićina stranebajta), i fizička adresa referenciranog bajta je taj broj

uvećan za ofset. Fizička adresa se ne mora izračunavati, onase lako rekonstruiše stavljajući broj okvira ispred ofseta.

Page 135: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

135

DESIGN OF RTOS SYSTEMS

Segmentacija* Alternativno riješenje: je segmentacija. Sa njom razdjeljujemoprocese u blokove različite velićine. Ove blokove nazivamosegmentima.

* Ne postoji potreba da segmenti procesa pune u redoslijednedijelove glavne memorije.

* Dodatna struktura podataka je potrebna: Za svaki proces semora pohraniti gdje se njegovi segmenti pune u glavnumemoriju. Ova struktura podataka se naziva tabela segmenata( Segment table ).

* U suprotnosti od straničenja ( paging), gdje je velićina stranefiksna i unaprijed poznata, za segmentaciju dužina segmentase takodjer mora pohraniti u segmentnu tabelu.

Page 136: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

136

DESIGN OF RTOS SYSTEMS

Transformacija adresa kod segmentacije.

1. Izvaditi broj segmenta kao n bita sa lijeve strane ( ako je brojsegmenata = ) iz logičke adrese.

2. Koristiti broj segmenta kao indeks u tabeli segmenataprocesa, da se nadje startna fizička adresa segmenta.

3. Porediti ofset, izražen sa m desnih bita ( maksimalnavelićina segmenta je bajta), sa dužinom segmenta. Ako jeofset veći od dužine, adresa nije validna.

4. Željena fizička adresa je suma startne fizičke adresesegmenta plus ofset.

Page 137: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

137

DESIGN OF RTOS SYSTEMS

Straničenje i virtulna memorija

* Do sada smo predpostavljali da se sve strane procesa držeu glavnoj memoriji, ili da je cijeli proces u glavnoj memoriji ( nei nužno neprekinutoj – kontingentnoj), ili se u potpunostiizbacije iz nje ( swap out).

* U sistemu sa virtualnom memorijom samo dio strana (najpotrebnijih ) se drži u glavnoj memoriji, ostale ostaju usekundarnoj memoriji.* Sada virtualni adresni prostor može biti mnogo veći negofizički.* Procedura koja puni potrebnu stranu u glavnu memoriju iprebacuje one koje nisu potrebne ( swaps out) u sekundarnumemoriju se naziva (zahtjev za pejdjiranjem ) Demand Paging.

Page 138: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

138

DESIGN OF RTOS SYSTEMS * Zahtjev za pejdjiranjem ( demand paging), radi samo zbog toga što postojistroga lokalnost u programima, tj. sa velikom vjerovatnoćom da će tastranica biti referencirana nakon što je bila referencirana prije kratkogvremena (vremenska lokalnost- Temporal Locality), ili je bliska prethodnoreferenciranoj stranici u virtualnom adresnom prostoru ( prostorna lokalnost– Spacial Locality).Transformacija adrese kod pejdinga na zahtjev ( demand paging) jeprikazana na narednoj slici:

Page 139: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

139

DESIGN OF RTOS SYSTEMS

Segmentacija i virtualna memorija

* Za sementaciju vrijedi isto kao i za straničenje ( paging): Nijeneophodno da svi segmenti procesa moraju biti u fizičkojmemoriji.

* Ovdje takodjer trebaju da budu napunjeni samo segmenti kojisu potrebni.

* Ovo omogućava da virtualna memorija bude mnogo veća odfizičke memorije.

* Straničenje i segmentacija dolaze kombinovano u većinidanašnjih procesorskih arhitektura.

Page 140: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

140

DESIGN OF RTOS SYSTEMS

Adresna transformacija i segmentacija strana

Page 141: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

141

DESIGN OF RTOS SYSTEMS

Strategija zamjenjivanja kod demand paging-a

* Optimalna strategija.Ovaj algoritam izabire za zamjenu onu stranu za koju jevrijeme za slijedeće referenciranje najduže. Ovo je zasigurnooptimalna strategija ali se ne može primjeniti pošto je za njupotrebno znanje o budućim vrijednostima. Zbog toga se koristisamo kao referenca da se evaluiraju drugi algoritmi.

* Najmanje korišten u zadnje vrijeme ( LRU – least recentlyused). Ova strategija zamjenjuje stranicu u memoriji koja nijebila referencirana najduži period vremena. Zbog lokalnosti onaje skoro isto tako dobra kao i optimalna strategijaPrilićno je komplikovana za implementaciju. Jedno od riješenjabi bilo da se tagiraju stranice sa vremenom posljednjereference.

Page 142: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

142

DESIGN OF RTOS SYSTEMS

Ovo treba da bude uradjeno sa svakom referencom, štoprouzrokuje ogromni overhead. Alternativa bi bila da se čuvastek referenci na strane, što je isto tako skupo riješenje.

•Prvi unutra-prvi vani ( FIFO). Ova strategija tretira okvirestrana koji su alocirani za proces kao kružne bafere, i strane seotklanjaju u stilu Round-robina. Vrlo je jednostavna zaimplementaciju.

Page 143: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

143

DESIGN OF RTOS SYSTEMS

Funkcija punjenja ( loading)

Page 144: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

144

DESIGN OF RTOS SYSTEMS

Punjenje sa povezivanjem ( loader i linker)

Page 145: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

145

DESIGN OF RTOS SYSTEMS Vrijeme povezivanja adresa kod punjenja ( loader)

Vrijeme programiranja: Sve stvarne fizičke adrese su direktnospecificirane od strane programera

* Vrijeme kompilacije i asambliranja: Program sadrži referencena simboličke adrese, i one se pretvaraju u stvarne fizičkeadrese od strane kompajlera/asamblera.

Vrijeme punjenja ( load time): Kompajler/asambler proizvodirelativne adrese. Loader prevodi ove u absolutne adrese (fizičke) u trenutku punjenja programa u memoriju.

Vrijeme izvršenja ( run time): Napunjeni program zadržavarelativne adrese. Ove se pretvaraju dinamički u apsolutneadrese od strane procesorskog hadvera.

Page 146: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

146

DESIGN OF RTOS SYSTEMS

Vrijeme povezivanja adresa kod linkera

* Vrijeme programiranja: Nisu dozvoljeni nikakvi vanjskiprogrami niti reference na podatke. Programer mora postaviti uprogram izvorni kod za sve podprograme koji su referencirani.

Vrijeme kompilacije/asambliranja: Asambler mora uključitiizvorni kod svake subrutine koja je referencirana i asambliratije kao jedinstven modul.

Vrijeme povezivanja ( link time): Svi objektni moduli suasamblirani koristeći relativne adrese. Ovi moduli su povezanizajedno i sve reference su ponovno referencirane relativno uodnosu na početak krajnjeg modula koji će se puniti ( loadmodule).

Page 147: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

147

DESIGN OF RTOS SYSTEMS

Vrijeme punjenja(load time): Vanjske reference nisurazriješene sve dok modul punjenja nije pred punjenjem uglavnu memoriju. U tom trenutku, referencirani moduli koji sedinamički linkuju, se dodaju modulu punjenja, i cijeli paket setada puni u virtualnu memoriju.

Vrijeme izvršenja ( run time): Vanjske reference nisurazriješene sve dok vanjski poziv se ne izvrši od straneprocesora. U tom trenutku, proces se prekida i željeni modul sepovezuje sa programom koji ga poziva.

Rasporedjivanje ( scheduling)

Ciljevi i tipovi rasporedjivanjaCilj rasporedjivanja procesora, je da se rasporede procesi dabi se izvršavali od strane tog procesora.

Page 148: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

148

DESIGN OF RTOS SYSTEMS

Ovaj cilj se može razdjeliti u tri osnovne grupe rasporedjivanja:* Dugoročno rasporedjivanje (long term scheduling):Odluka da se doda novi proces u bazen procesa koji ćese izvršavati.

* Srednjoročno rasporedjivanje ( medium term): Odlukada se proces doda onim procesima koji su djelomičnoili u potpunosti u glavnoj memoriji.

* Kratkoročno rasporedjivanje( short term): Odluka otome koji će od raspoloživih procesa biti izvršavanod strane procesora.

* I/O rasporedjivanje: Odluka o tome koji od procesa kojićekaju na I/O zahtjev biti opslužen od strane I/Ouredjaja.

Page 149: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

149

DESIGN OF RTOS SYSTEMS

Nivoi rasporedjivanja

Page 150: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

150

DESIGN OF RTOS SYSTEMS

Dijagram ćekanja za rasporedjivanje

Page 151: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

151

DESIGN OF RTOS SYSTEMS

Kriteriji kratkoročnog rasporedjivanja

Orijentirano prema korisniku, i prema performansi* Vrijeme obrta ( turnaround time): Ovo je interval vremena

izmedju podnošenja procesa na izvršenje i njegovogkompletiranja.Ovo vrijeme uključuje stvarno vrijeme izvršenja plusvrijeme potrošeno na resurse, uključujući iprocesor.

Ovo je prava mjera za batch tipove poslova.

* Vrijeme odziva: Za interaktivni proces, ovo je vrijeme odtrenutka podnošenja zahtjeva do trenutka kada sepočinje primati odziv.Ovo je bolja mjera nego vrijeme obrta sa tačke gledišta

interaktivnog korisnika.

Page 152: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

152

DESIGN OF RTOS SYSTEMS

Strategija rasporedjivanja treba pokušavati da postigne malavremena odziva i da maksimizira broj interaktivnih korisnikakoji dobijaju prihvatljiva vremena odziva.* Granična vremena ( deadlines): kada su specificiranagranična vremena za kompletiranje procesa( kao što je slučajkod procesa u realnom vremenu), strategija rasporedjivanjatreba biti takva da podčini sve druge ciljeve, cilju maksimizacijeprocenta zadovoljavanja graničnih vremena.Korisnički orijentirana strategija* Predikativnost: Dati posao treba da se izvršava u približnoistim intervalima vremena i sa otprilike istim troškom, bezobzira na opterećenje cijelog sistema.Velike varijacije u vremenu odziva ili vremenu obrta su stresneza korisnika. One mogu signalizirati velike varijacije uopterećenju sistema ili potrebu za podešenjem sistema (system tuning), da se otklone nestabilnosti.

Page 153: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

153

DESIGN OF RTOS SYSTEMS

Strategija orijentirana na sistem, sa performansom

* Propusnost (throughput): Strategija rasporedjivanja trebapokušati da maksimizira broj procesa koji su kompletirani pojedinici vremena.Ovo je mjera kako mnogo posla se izvršava.Ovo jasno zavisi od prosječne duljine procesa ali takodjer

zavisi i od strategije rasporedjivanja, koja može da utiče naovu iskoristivost.Iskoristivost procesora: Ovo je procenat vremena kada jeprocesor zaposlen.Za skupe dijeljene sisteme, ovo je značajan kriterij. Kod

sistema sa jednim korisnikom kao i kod nekih drugih, kao štosu sistemi realnog vremena, ovaj kriterij je manje važan negoneki drugi.

Page 154: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

154

DESIGN OF RTOS SYSTEMS

Korektnost ( fairness): Kod odsustva uputa od strane korisnikaili nekih drugih uputa koje obezbjedjuje sistem, procesi trebajubiti tretirani jednako, i niti jedan proces ne smije trpitiizgladnjavanje ( starvation).

Forsiranje prioriteta( enforcing priorities): Kada su procesimadoznačeni prioriteti, strategija rasporedjivanja treba davatiprednost procesima sa većim prioritetima.Balansiranje resursa: Strategija rasporedjivanja treba da držiresurse sistema uposlenim. Procesi koji će manje koristitiresurse u stresu trebaju biti favorizirani.

Ovaj kriterij takodjer uključuje srednjoročno i dugoročnorasporedjivanje.

Page 155: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

155

DESIGN OF RTOS SYSTEMS

Poredjenje strategija rasporedjivanja

Kada se diskutiraju razne strategije rasporedjivanja, slijedećiset procesa se koristi da sa porede performanse tih strategija:

Page 156: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

156

DESIGN OF RTOS SYSTEMS

Strategija prvi došao – prvi uslužen ( first come first served) ( FCFS)

Ovo je najednostavnija strategija usluživanja.Takodjer je poznata pod imenom prvi unutra- prvi vani ( FIFO).Kako proces postaje spreman, on ulazi u red spremnihprocesa. Kada proces koji se trenutno izvršava prestaneizvršavati, proces koji je bio najduže vremena u redu spremnih,se izabire za izvršenje.FCFS strategija ima boje performanse za duge procese negoza kratke procese.Slijedeća tabela daje mjere performanse za FCFS za našprimjer seta procesa pomoću vremena izvršenja, vremenaobrta Tr, normaliziranog vremena obrta datog kao Tr/Ts , gdjeje Ts vrijeme servisiranja.

Page 157: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

157

DESIGN OF RTOS SYSTEMS

Performansa FCFS strategije:

Page 158: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

158

DESIGN OF RTOS SYSTEMS

Round Robin ( okolo kole)Ova strategija pokušava da prevazidje kaznu koju kratkiposlovi trpe sa FCFS strategijom, na taj način što koristipriempciju baziranu na satu.Satni interapt se generiše u periodičnim intervalima. Kada seinterapt desi, proces koji se trenutno izvršava se stavlja u redspremnih procesa, i slijedeći spremni proces izabran na baziFCFS se izabire za izvršenje. Očito da će proces koji jepriemptiran biti stavljen na kraj ovog reda.Ova tehnika se takodjer naziva i vremensko siječenje ( timeslicing).Osnovni problem dizajna kod ove strategije je pitanje izboradužine vremenskog isječka q.Ukoliko je vrlo kratko: tada će se kratki procesi brže kretati krozsistem. Medjutim ima dosta OS dodatka ( overhead) koje jevezano za ovo preključenje konteksta ( context switching).

Page 159: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

159

DESIGN OF RTOS SYSTEMS

Zbog toga će ukupna performansa sistema početi dramatičnoopadati ako izaberemo suviše malo q.Ova strategija poznata kao Round robin je naročito efikasnakod sistema sa dijeljenim vremenom opšte namjene, kao štosu sistemi za procesiranje transakcija.Performansa Round Robin strategije ( q= 1)

Page 160: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

160

DESIGN OF RTOS SYSTEMS

Performansa Round Robin strategije ( q= 4)

Page 161: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

161

DESIGN OF RTOS SYSTEMS

Strategija kratki procesi prvi ( SPF )

Ovo je drugi pristup da se smanji bajes koji favorizira dugeprocese što je inherentno za FCFS strategiju.Karakteristike ove strategije su:

* Strategija nepriemptivosti.* Proces sa najmanjim oćekivanim vremenom procesiranja se

izabire slijedeći. Dakle kratki proces će skočiti napočetak reda , preskačući duge poslove.

Poteškoće: Potrebna je procjena zahtjevanog vremenaprocesiranja.- programer treba da obezbjedi ovu procjenu.- u proizvodnim okruženjima, poslovi se stalnoizvršavaju. Zbog toga se mogu koristiti neka prosječnavremena izvršenja ovog posla.

Page 162: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

162

DESIGN OF RTOS SYSTEMS

Strategija najkraćeg preostalog vremena( SRT)* Ova strategija SRT je priemptivna verzija strategije slijedećegnajkraćeg procesnog vremena ( SPN) tj. SPF* Rasporedjivač uvjek izabire proces koji ima najmanjeoćekivano preostalo vrijeme procesiranja. Kada novi procesudje u red ćekanja spremnih procesa, on može imati i kraćepreostalo vrijeme procesiranja nego tekući proces koji seizvršava.

Page 163: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

163

DESIGN OF RTOS SYSTEMS

* U skladu sa tim, rasporedjivač može priemptirati kad god noviproces postane spreman.

* Kao i sa SPN(SPF), SRT rasporedjivač mora imati procjenupreostalog vremena procesiranja da bi mogao provesti funkcijuselekcije, a postoji i rizik izgladnjavanja procesa koji duže traju.

* SRT nema bajesa prema procesima koji duže traju koji semože naći kod FCFS a za razliku od Round robina ne generišuse dodatni interapti. S druge strane, moraju se zapisivatiservisna vremena procesa da bi se izračunala preostalavremena procesiranja, što doprinosi dodatnom opterećenju (overhead).

Page 164: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

164

DESIGN OF RTOS SYSTEMS

Performansa za najkraće preostalo vrijeme

Page 165: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

165

DESIGN OF RTOS SYSTEMS

Strategija : slijedeći je najveći odnos odziva ( highest response ratio next- HRRN)

* Za svaki individualni proces mi bi želili da minimiziramonormalizirano vrijeme obrta ( Tr/Ts), i mi bi želili takodjer daminimiziramo prosječnu vrijednost ovog odnosa nad svimprocesima.* U opštem slučaju, mi ne možemo znati unaprijed, koje

vrijeme servisiranja će biti, ali ga možemo procjeniti:- na bazi prošle historije, ili- na bazi nekih ulaza od korisnika ili konfiguracionogmenadjera.

* Posmatrajmo odnos R = ( w + s) /s- R = je odnos odziva- w = vrijeme provedeno u ćekanju na procesor- s = oćekivano vrijeme servisiranja

Page 166: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

166

DESIGN OF RTOS SYSTEMS

* Primjetimo da je minimalno vrijeme za R je 1.0* Pravilo rasporedjivanja je sada slijedeće: Kada se tekućiproces kompletira ili je blokiran, izabrati spreman proces sanajvećom vrijednošću R.* HRRN strategija je atraktivna jer ona uzima u obzir starostprocesa. Kraći procesi su favorizirani, ali sa starenjem bezservisiranja ( što povećeva R), i stariji a duži proces takodjerdobija šansu.Performansa strategije : slijedeći je proces sa najvećimodnosom odziva ( HRRN) je prikazana na narednoj slici:

Page 167: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

167

DESIGN OF RTOS SYSTEMS

Page 168: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

168

DESIGN OF RTOS SYSTEMS

Strategija povratne veze ( Feedback – FB)

* U najvećem broju slučajeva kod opšteg računanja, nemamoindikacije o relativnoj dužini različitih procesa. Zbog toga, nitijedna od strategija : SPN, SRT i HRRN se ne može primjeniti.* Tada, ako se već ne možemo fokusirati na preostalo vrijemedo izvršenja, fokusirajmo se na vrijeme potrošeno do tada naizvršenje.* Rasporedjivanje se vrši na bazi priempcije ( u vremenskimintervalima), i koristi se mehanizam dinamičkog prioroteta sajednim redom pridruženim svakom prioritetu koji se koristi.* Kada proces prvi put udje u sistem, on se stavlja u RQ0.Nakon njegovog prvog izvršenja stavlja se u RQ1. Svakinaredni put kada se priemptira, on se degradira stavljanjem ured slijedećeg nižeg nivoa prioriteta. Jedanput kada dostignered najnižeg nivoa prioriteta, on se vraća natrag u red RQ0.

Page 169: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

169

DESIGN OF RTOS SYSTEMS

* Kraći proces će ovo vrlo brzo kompletirati bez da migriraisuviše nisko u redu, dok će duži proces postepeno tonuti kasve nižim redovima prioroteta.

* Unutar svakog reda, izuzev kod onog najnižeg nivoa gdje ćese koristiti mehanizam Round robina, korišten je mehanizamFCFS.

* Red spremnih procesa se opslužuje od strane procesorasamo ako su svi redovi spremnih procesa većeg nivoaprioriteta prazni.

Page 170: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

170

DESIGN OF RTOS SYSTEMS

Feedback raporedjivanje

Opaska: Crtkane linije nisu stvarne konekcije( pošto postojisamo jedan procesor), nego indiciraju tok u vremenu.

Page 171: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

171

DESIGN OF RTOS SYSTEMS

Performansa strategije Feedbacka sa q=1, je prikazana nanarednoj slici:

Page 172: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

172

DESIGN OF RTOS SYSTEMS

Strategija sa poboljšanjem Feedback -a

* Problem sa jednostavnom feedback šemom: Kao i kodRound robina vrijeme obrta kod dužih procesa se možealarmantno produžiti.

*Da se ovo kompenzira, možemo varirati vremena priempcijeprema redovima kako slijedi:- procesu koji je rasporedjen iz RQ0 se dozvoljava da se

izvršava jednu vremensku jedinicu i nakon toga sepriemptira.

- procesu koji je raporedjen iz RQ1 je dozvoljeno da seizvršava dvije vremenske jedinice, itd.- u opštem slučaju procesu koji je rasporedjen iz RQkse dozvoljava izvršavanje vremenskih jedinica, prijepriempcije.

Page 173: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

173

DESIGN OF RTOS SYSTEMS

Performansa strategije Feedbacka sa q= , je data nanarednoj slici:

Page 174: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

174

DESIGN OF RTOS SYSTEMS

Specifičnosti operativnh sistema realnog vremena

Izazovi :

Page 175: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

175

DESIGN OF RTOS SYSTEMS

Definicije za operativne sisteme realnog vremena:

Kopetz : Računarski sistem realnog vremena je sistem u kojemkorektnost ponašanja sistema ne zavisi samo od logičkihrezultata računanja, nego takodjer od fizičkog trenutka kada suovi rezultati dobijeni.Gdje se mogu naći sistemi realnog vremena.RT sistemi su svugdje oko nas:

* kontrola procesa i postrojenja* industrijska automatizacija* sistem kontrole željezničkog saobraćaja* Primjene u auto industriji* sistemi kontrole letjelica* sistemi za nadzor i akviziciju podataka sistema za

nadzor okružaja* telekomunikacioni sistem

Page 176: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

176

DESIGN OF RTOS SYSTEMS

* robotika* vojni sistemi i oprema* istraživanje svemira* kućanski aparati* virtualna i uvećana realnost ( virtual/augmented reality)

Pogledajmo rastući nivo intenziteta softvera na primjerumobilnih uredja

Page 177: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

177

DESIGN OF RTOS SYSTEMS

Porast intenziteta korištenja softvera u automobilskoj industriji

Page 178: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

178

DESIGN OF RTOS SYSTEMS

Šta znači realno vrijeme?

Glavna razlika u odnosu na ostale vrste izračunavanja je :vrijeme* vrijeme znači da korektnost sistema zavisi od:

- ne samo od logičkih rezultata- nego takodjer od vremena u kojem su ti rezultati

proizvedeni.

realno – znači da : reakcija na vanjske dogadjaje se morajaviti za vrijeme evolucije samih dogadjaja.

- sistemsko vrijeme ( interno vrijeme) : treba da bude mjerenosa istom vremenskom skalom kao i kontrolirano okruženje (eksterno vrijeme)

Page 179: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

179

DESIGN OF RTOS SYSTEMS

Da li realno vrijeme znači da je prediktabilno?

* Glavna razlika izmedju realnog vremena i ne realnogvremena je:

granično vrijeme ( deadline)

U kritičnim aplikacijama rezultati dobijeni nakon graničnogvremena ( deadline) :

- nisu samo zakašnjeli- nego su i pogrešni

* granično vrijeme mora biti zadovoljeno pri svim ( čak inajgorim ) okolnostima

Realno vrijeme znači da je dogadjaj predvidiv

Page 180: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

180

DESIGN OF RTOS SYSTEMS

Tvrdo RT ( hard RT ) prema čvrstom ( firm) RT, prema mekom( soft) RT

RT zadatak se zove tvrdi kada:nedostizanje njegovog graničnog vremena ( deadline) može

imati katastrofalne posljedice na sistem ili okruženje koje sekontroliše.RT task se zovi čvrsti kada :nedostizanje njegovog graničnog vremena čini rezultatebezvrijednim, ali neće prouzrokovati značajniju štetuRT task se zove mekim kada:dostizanje graničnog vremena je poželjno. napr. iz razlogaperformanse ali nedostizanje neće prouzrokovati ozbiljnijuštetu.RT koji je u stanju da upravlja sa tvrdim RT taskovima senaziva sistem tvrdog realnog vremena ( hard real timesystem)

Page 181: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

181

DESIGN OF RTOS SYSTEMS

Prikaz tvrdog RT naprema čvrstom RT , napremamekom RT

Page 182: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

182

DESIGN OF RTOS SYSTEMS

Tipične aktivnosti tvrdog realnog vremena:Ove aktivnosti su :

* prikupljanje podataka sa senzora* detekcija kritičnih uslova* servo praćenje aktuatora* nisko nivovska kontrola kritičnih komponenata sistema

Tipične oblasti primjene su:automobilska: kontrola pogonskog stroja automobila,

kontrola zračnih jastukaupravljanje preko žice ( steer by wire)kočenje preko žice ( break by wire)

avio : kontrola turbo motora , aerodinamička kontrola( fly by wire)

Page 183: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

183

DESIGN OF RTOS SYSTEMS

Tipične aktivnosti čvrstog RT sistema:- podrška donošenju odluka- predikcija vrijednosti

Tipične oblasti primjene :- prognoza vremena- odluke za akcije na berzi , kupoprodaja dionica

Tipične aktivnosti mekog RT- komandni interpreter za korisnički interfejs- obrada komandi sa tastature- prikaz poruka na ekranima

- prikazivanje varijabli stanja sistema na ekranima- prenos striming podataka

Page 184: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

184

DESIGN OF RTOS SYSTEMS

Tipične oblasti primjene:- komunikacioni sistemi ( napr. glas putem IP , voiceover IP)- korisničke interakcije- elektronika komfora ( napr. elektronika za udobnosttijela putnika )

Real – time ≠ Brzo

Page 185: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

185

DESIGN OF RTOS SYSTEMS

Poželjne karakteristike real-time sistemaPravovremenost ( timeliness)

- OS treba da obezbjedi kernel mehanizme za- menadjment vremena- taskove rukovanja sa eksplicitnim vremenskimogranićenjima- dizajn za vršna opterećenja- prediktabilnost (predvidivost)- tolerantnost na greške ( fault tolerance)- održivost

Postizanje predvidivosti se postiže sa korištenjem: InteraptReducirati drajvere na najmanju moguću mjeru

- drajver samo aktivira odgovarajući task da se pobrineo uredjaju koji kontroliše- ovaj task se izvršava pod direktnom kontrolom OS,kao i svaki drugi task

Page 186: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

186

DESIGN OF RTOS SYSTEMS

-kontrolni taskovi imaju veće priorotete nego taskovi uredjaja

Page 187: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

187

DESIGN OF RTOS SYSTEMS

Postizanje predvidivosti sa semaforima

* Uobićajeni mehanizam semafora nije pogodan za primjenerealnog vremena:

problem je u inverziji prioritetaTask većeg prioriteta je blokiran sa taskom manjeg

prioritetaRiješenje za ovo je :

- korištenje umjesto semafora specijalnog mehanizma :- protokol sa naslijedjivanjem prioriteta- protokol sa ograničenjem prioriteta ( ceiling)

Osnovni konceptiU ovom dijelu mi želimo da adresiramo slijedeće aspekte:

- Ograničenja taska- probleme rasporedjivanja

Osnovni softverski entitet kojim upravlja OS je

Page 188: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

188

DESIGN OF RTOS SYSTEMS

PROCESProces je task u našem kontekstuKada imamo konfiguraciju sa jednim procesorom ikonkurentnim taskovimaCPU se mora doznačavati taskovima , u skladu sa unaprijeddefiniranim kriterijem koji se naziva :

strategija rasporedjivanja

Implementacija strategije rasporedivanja se naziva:algoritam rasporedivanja

Alokacija izabranog taska ka CPU na izvršenje se naziva : dispečing

Tri glavna stanja taska su:aktivan : task se može potencijalno izvršavatispreman : task ćeka na CPUizvršava se : task se izvršava od strane CPU

Page 189: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

189

DESIGN OF RTOS SYSTEMS

Svi spremni taskovi se drže u redu spremnih taskova kao naslici:

Moguć je više od jedan red spremnih taskova.

Priempcija ( preemption)

Task koji se izvršava može biti u bilo kojem trenutku prekinutda bi dozvolio važnijem tasku da trenutačno dobije kontrolunad CPU.

Page 190: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

190

DESIGN OF RTOS SYSTEMS Priempcija je prikazana na slijedećoj slici:

Rasporedjivanje je doznačavanje taskova procesorima zaizvršenje.Predostavimo tri taska J1, J2 i J3

Rasporedjivanje dobijeno izvršavanjem tri taska J1, J2 i J3U trenutcima vremena t1, t2, t3 i t4 procesor izvršava contextswitch.

Page 191: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

191

DESIGN OF RTOS SYSTEMS

Ostvarivi i rasporedljivi skupovi taskova ( feasible and schedulable)

* Svaki interval [ t1, t1+1] sa s (t) konstantno , za t € [ t1,t1+1] , se naziva vremenski isječak ( time slice).* Priemptivni rasporedjivač dozvoljava tasku koji se izvršavada bude suspendiran u bilo kojem trenutku vremena. Dakletaskovi mogu biti izvršavani u razdvojenim intervalimavremena.* Rasporedjivanje se naziva ostvarivim (feasible), ako svitaskovi se mogu kompletirati u skladu sa skupomspecificiranih ogranićenja.* Skup taskova se zove rasporedivim ako postoji najmanjejedan algoritam koji može proizvesti ostvarivo ( feasible)rasporedjivanje.

Page 192: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

192

DESIGN OF RTOS SYSTEMS

Primjer priemtivnog rasporedjivanja

Page 193: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

193

DESIGN OF RTOS SYSTEMS

Tipovi ogranićenja

Slijedeći tipovi ogranićenja se razmatraju :

- Vremenska ogranićenjada zadovolji graničnu vrijednost ( deadline)

- Ogranićenja precedencijepoštovanje redoslijeda zahtjeva

- Ogranićenje resursadostupnost ka samo raspoloživim resursima.

Page 194: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

194

DESIGN OF RTOS SYSTEMS

Vremenska ograničenjaSistemi realnog vremena se najčešće karakterišu prekovremenskih ogranićenja.Tipično vremensko ogranićenje je : granično vrijeme (deadline)

deadline = vrijeme prije kojeg task mora biti izvršen

Nestizanje na izvršenje unutar graničnog vremena razlikuje sekod dvije klase RT sistema:

* tvrdo ( hard) : nestizanje na granično vrijemeprouzrokuje katastrofalne posljedice* meko (soft): nestizanje izvršenja do deadlineasmanjuje performansu sistema

Page 195: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

195

DESIGN OF RTOS SYSTEMS

Parametri koji karakteriziraju RT task JiVrijeme stizanja ( arrival time ) ai :

- je vrijeme kada task Ji postaje spreman zaizvršenje koje se takodjer naziva vrijeme zahtjeva( request time) ili vrijeme izdanja ( release time), ioznačava se sa ri

Vrijeme računanja ci :je vrijeme potrebno za izvršenje bez prekidanja.

Granično vrijeme (deadline) di :je vrijeme unutar kojeg task mora kompletiratisvoje izvršenje

Startno vrijeme si :je vrijeme kada task Ji starta svoje izvršenje

Page 196: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

196

DESIGN OF RTOS SYSTEMS

Vrijeme završetka ( finishing time) fi :je vrijeme kada task Ji završava svoje izvršenje

Tipični parametri taska realnog vremenaPrimjer periodičnih i aperiodičnih taskova :

Page 197: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

197

DESIGN OF RTOS SYSTEMS

Relacije precedencije ( prethodjenja) – primjer:

Page 198: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

198

DESIGN OF RTOS SYSTEMS

Ograničenja resursa

Tačka gledišta procesa:Resurs je bilo koja softverska struktura koju može koristitiprocesPrimjeri za ovo su: struktura podataka, set varijabli, fajl samemorijskom oblasti.privatni resurs : posvećen specifičnom procesudijeljeni resurs : onaj koji će se koristiti od strane više procesaekskluzivni resurs : dijeljeni resurs kod kojeg nije dozvoljensimultani pristup od strane različitih procesa.kritični region : dio koda koji se izvršava pod ograničenjimamedjusobnog iskljućenja. Primjer za ovo je menadjment sasemaforima.

Page 199: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

199

DESIGN OF RTOS SYSTEMS

Blokirani taskovi

Za task koji ćeka na neki ekskluzivni resurs se kaže da jeblokiran. Procesi koji su blokirani na istom resursu se drže uredu koji je pridružen sa semaforom s koji štiti ovaj resurs.Signal(i) koji su na vrhu reda kod s se prebacuju u stanjespreman ( ready state),

Stanje ćekanja uzrokovano ogranićenjem resursa

Page 200: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

200

DESIGN OF RTOS SYSTEMS Inverzija prioritetaPredpostavimo da imamo priempciju izmedju dva taska J1 i J2. Prioritet J1 može biti veći od J2.Ako je task J2 startovao ranije on može ući u kritičnu sekciju.Nakon toga on može biti priemtiran od strane taska J1.Medjutim kada J1 želi da udje u svoju kritićnu sekciju, J1 jeblokiran i J2 se ponovno nastavlja.

Primjer blokiranja ekskluzivnog resursa

Page 201: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

201

DESIGN OF RTOS SYSTEMS

Rasporedjivanje u realnom vremenu

Rasporedjivanje

Za dati skup od n taskova : J = { J1, …., Jn}skup od m procesora P = { P1, …., Pm}

i skup resursa R = { R1, …., Rn}

Precedencija može biti data koristeći graf precedencije ivremenska ogranićenja mogu biti pridružena svakom tasku.

Rasporedjivanje znači doznaćavanje procesora iz P i resursaiz R taskovima u J skupu , da bi se kompletirali svi taskovi podpostavljenim ogranićenjima.

Ovaj problem je NP- kompleksan.

Page 202: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

202

DESIGN OF RTOS SYSTEMS

Klasifikacija algoritama rasporedjivanja

* Preemptive : task koji se izvršava može biti prekinut u bilokojem trenutku vremena* Non-preemptive: task kada se starta se izvršava dokompletiranja* Statički: odluke rasporedjivanja su bazirane na fiksnim ( off-line) parametrima* Dinamički : odluke rasporedjivanja su bazirane naparametrima koji se mjenjaju za vrijeme evolucije sistema.

Off-line: algoritam rasporedjivanja se izvršava na cjelokupnomskupu taskova prije starta sistema. Izračunati raspored seizvršava od strane dipečera.On-line: odluke rasporedjivanja se donose u toku izvršenja (run-time) , svaki put kada task udje ili napusti sistem.

Page 203: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

203

DESIGN OF RTOS SYSTEMS

Optimalni: algoritam minimizira neku datu funkciju troška,alternativno: može da ne zadovolji deadline samo ako nitijedan drugi algoritam date klase ne može da ga zadovolji.

Heuristični: algoritam koji ima tendenciju da nadje optimalanraspored ali nema garancije da će ga naći.

Tvrdi real-time sistemi.

Kod ovih sistema ponašanje je vrlo predvidivo, tj. ostvarljivostrasporeda mora biti unaprijed garantovana.Sistem mora planirati akcije gledajući unaprijed u budućnost,predpostavljajući scenario najgoreg slućaja ( worst casescenario).

Page 204: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

204

DESIGN OF RTOS SYSTEMS

Statički sistemi realnog vremena ( skup taskova je fiksan i apriori poznat ):- aktivacije svih taskova mogu se unaprijed izračunatioff-line- cjelokupan raspored se može pohraniti u tabelu.- u run time-u se vrši jednostavno rasporedjivanje prematabeli.

Prednosti su:* mogući su off-line vrlo sofisticirani algoritmi

Mane su:* sistem nije fleksibilan na promjene u okruženju.

Page 205: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

205

DESIGN OF RTOS SYSTEMS

Dinamički real-time sistemi

Garancija mora biti data on-line svaki put kada se novi taskunese u sistem.Tipična šema mehanizma garancije za dinamički real-timesistem je data na slijedećoj slici:

Šema mehanizma garancije koji se koristi kod dinamičkihsistema sa tvrdim realnim vremenom

Page 206: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

206

DESIGN OF RTOS SYSTEMS

Algoritmi najboljeg naporaMekani real-time sistemi

Jedina posljedica grešaka u tajmiranju je degradacija sistema.Primjer za ovo je striming videa ( može se primjetiti malojittera). Adekvatan za ove tipove mekanih real-time sistema jealgoritam najboljeg napora ( Best-effort).Daljnji algoritam je '' tries its best'' , tj pokušava najbolje štomože, tj. taskovi se stavljaju u redove zbog vremenskihogranićenja, ali se ne provodi provjera ostvarivosti ( feasibilitytest), tako da se task može i odbaciti .Prednosti:najbolji napor ima bolju performansu kod srednjih taskova (

ima manje overheada).Mane su:nepredvidivost, nije pogodan za tvrde real-time aplikacije.

Page 207: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

207

DESIGN OF RTOS SYSTEMS

Rasporedjivanje u realnom vremenu

Aperiodično rasporedjivanje* najraniji deadline prvi ( earliest deadline first- EDF)* modificirani EDF

Periodično rasporedjivanje* doznačavanje prioroteta sa monotonim tempom ( ratemonotonic priority assignment – RM )* najraniji deadline prvi ( EDF – earliest deadline first)

Serveri* fiksni prioriteti* dinamički prioriteti

Page 208: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

208

DESIGN OF RTOS SYSTEMS

Aperiodsko rasporedjivanje : najraniji deadline prvi ( EDF)

Karakteristike su:- mono procesor- dinamičko pristizanje, priempcija dozvoljena- minimiziraj maksimalno kašnjenje

Hornov algoritam

Teorem HornaZa dati skup od n nezavisnih taskova sa arbitrarnim vremenimapristizanja, svaki algoritam koji u bilo kojem trenutku izvršavatask sa najranijim aposlutnim deadline-om izmedju svihspremnih taskova je optimalan u odnosu na minimizacijumaksimalnog kašnjenja.

Page 209: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

209

DESIGN OF RTOS SYSTEMS

Kompleksnost : po tasku: unoseći novo prispjeli task u uredjenulistu korektno, je dato sa : O(n)

za n taskova = ukupna kompleksnost je O(n2)

Primjer za EDF

Page 210: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

210

DESIGN OF RTOS SYSTEMS

Kompleksnost : po tasku: unoseći novo prispjeli task u uredjenulistu korektno je dato sa : O(n)Big O notacija ( naziva se još Landau ili asimptotska notacija, jematematska notacija, koja se koristi da opiše asimptotskoponašanje funkcija. Njena namjena je da karakteriziraponašanje funkcije za vrlo velike( ili vrlo male) ulaze najednostavan ali strog način, koji će omogućiti poredjenje sadrugim funkcijama. Simbol veliko O( big O) se koristi da opišegornju granicu za velićinu funkcije u terminima neke druge,obićno jednostavnije funkcije. Postoje i drugi simboli koji sekoriste kao: o, W,w i Q za različite druge: gornje, niže itvrde granice. O notacija se obićno koristi da opiše asimptotskitvrdo ograničenje, ali tvrde granice se formalnije i preciznijeoznačavaju sa simbolom QQQQ.

Page 211: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

211

DESIGN OF RTOS SYSTEMS

* U opštem slučaju radi se o NP- hard problemu.* Za specijalne slučajeve mogući su i algoritmi polinomijalnogvremena.NP-hard ( nondeterministic Polynomial-time hard), uračunarskoj teoriji kompleksnosti, je klasa problema koja jeneformalno ‘’u najmanjoj mjeri’’ isto tako teška kao i problemi uNP. Problem H je NP-hard, ako i samo ako postoji NP-kompletan problem L koji je Turing- reducibilan upolinomijalnom vremenu, tj. L≤T H. Drugim riječima L se možeriješiti u polinomijalnom vremenu sa oracle mašinom sa jednimoraclom za H.NP-hard problemi mogu biti bilo kojeg tipa, kao : problemiodlučivanja, problemi traženja, optimizacioni problemi.

Page 212: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

212

DESIGN OF RTOS SYSTEMS

Kao posljedica takve definicije, mi imamo :•Problem je u najmanju ruku isto tako težak kao i L, pošto H semože koristiti da se riješi L.•* pošto je L NP-complete, i time i najteži u klasi NP, takodjerproblem H je u najmanju ruku isto tako težak kao NP, ali H nemora da bude u NP i time ne mora da bude problemodlučivanja.Rasporedjivanje sa ograničenjima precedencijeEDF sa ograničenjima precedencije

Predpostavimo n taskova sa ograničenjima precedencije idinamičkim aktivacijama .Mogu se riješiti po polinomijalnom vremenu samo ako jedozvoljena priempcija.

Page 213: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

213

DESIGN OF RTOS SYSTEMS

Riješenje Chetto, Silly i Bouchentouf

Transformisati skup J zavisnih taskova u skup J* nezavisnihtaskova pomoću adekvatne modifikacije vremenskihparametara,Nakon toga aplicirati EDF.

Transformacija obezbjedjuje:

J* je rasporedivo ↔ J je rasporedivo i sva ogranićenja suzadovoljena.

Modifikacija vremena oslobadjanja ( release) i deadline-a sutakva da svaki task neće startovati, prije nego njegoviprethodnici, i oni ne mogu priemptirati svoje nasljednike ( drugitaskovi medjutim mogu biti priemptirani).

Page 214: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

214

DESIGN OF RTOS SYSTEMS

Modifikacija vremena oslobadjanja ( release)

Za data dva taska Ja i Jb , Ja → Jbslijedi da slijedeća dva uslova moraju biti zadovoljena:

* sb > rb ( tj. Jb ne može startati prije svog vremenaoslobadjanja)* sb ≥ ra + ca ( Jb ne može startati dok Ja nije završio)

If Ja → Jb tada vrijeme objave Jb se može zamjeniti sa max( rb, ra + ca )→ da je novo vrijeme objave za Jb = max (rb, ra + ca )

Page 215: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

215

DESIGN OF RTOS SYSTEMS

Modifikacija deadline-aNeka su data dva taska Ja i Jb , Ja → JbSlijedi, da u bilo kojem ostvarivom rasporedjivanju koje

zadovoljava ogranićenja precedencije, slijedeća dva uslovamoraju biti zadovoljena:* fa ≤ da ( Ja mora završiti prije svoga deadlinea)* fa ≤ da – cb (Ja mora završiti prije maksimalnog startnog

vremena Jb )

If Ja → Jb, onda deadline od Ja može biti zamjenjen sa min ( da, db + cb)novi deadline za Ja : da* = min( da, db – cb)

Page 216: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

216

DESIGN OF RTOS SYSTEMS

Periodično rasporedjivanje taskova

Aspekti koji će biti razmatrani u ovoj sekciji su:

- aplikaciona oblast periodičnih taskova- termini koji se koriste u ovom kontekstu- rasporedjivanje sa monotonim ritmom ( rate monotonicscheduling – RM)- rasporedjivanje sa prvim taskom koji ima najranijideadline ( EDF )

Aplikacione oblasti periodičnih taskova

Periodične aktivnosti predstavljaju najveće računarskoopterećenje u mnogim aplikacijama:

Page 217: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

217

DESIGN OF RTOS SYSTEMS

* akvizicija podataka sa senzora* nisko nivovski servo sistemi* regulacione i upravljačke konture* planiranje akcija* monitoring sistema

Nekoliko periodičnih taskova koji se izvršavaju konkurentno:

* individualna ograničenja tajmingaSvaki task je

- regularno aktiviran- sa adekvatnom brzinom- i kompletiran je unutar deadline-a

Page 218: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

218

DESIGN OF RTOS SYSTEMS Više brzinski sistemi

Osnovne oznakeг - je skup periodičnih taskovaτi – je generički periodični taskτij – je instanca j taska τiri,j - je vrijeme izdavanja ( release) od taska τiΦi – je faza od τi ( τi,1 je vrijeme izdavanja prve instance )Ti - je period od τi ( jednak je intervalu izmedju dvijekonsekutivne aktivacije )Di – je relativni deadline od τi ( relativno u odnosu na vrijemeizdavanja)di,j - je apsolutni deadline od tijtj. di,j = Φi + ( j-1) Ti + Di )si,j - je startno vrijeme od τij (si,j ≥ ri,j )fi,j – je vrijeme završetka od τij (fi,j ≤ di,j )

Page 219: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

219

DESIGN OF RTOS SYSTEMS Skup ostvarivih zadataka

Periodični task τi se naziva ostvarivim ako:

- sve njegove instance se završavaju u okviru deadline-a

Skup taskova T se zove ostvarivim ili rasporedivim ako :svi taskovi u T su ostvarivi.

Faktor iskorištenja procesora U

Za dati skup T periodičnih taskova , faktor iskorištenjaprocesora U je dio procesorskog vremena proveden uizvršenju skupa taskova.Ci/Ti je dio procesorskog vremena provedenog u izvršenjutaska τi

Page 220: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

220

DESIGN OF RTOS SYSTEMS

Primjer za najmanju gornju granicu za U

Page 221: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

221

DESIGN OF RTOS SYSTEMS

Rasporedjivanje sa monotonim ritmom

Precizniji naziv za ovo rasporedjivanje je: Doznačavanjeprioroteta sa monotonim ritmom ( rate monotonic priorityassignment)Taskovi sa većim brzinama zahtjeva ( tj. sa kraćim periodom),dobijaju veće prioritete.Ako su periodi konstantni, slijedi da je RM sa doznačavanjemfiksnih prioriteta.RM je intrisički ( izvorno) priemptivna strategija, task koji setrenutno izvršava se priemptira od strane novo oslobodjenog (released) taska sa kraćim periodom.

Page 222: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

222

DESIGN OF RTOS SYSTEMS

Primjer rasporedjivanja sa monotonom brzinom ( ritmom)

Page 223: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

223

DESIGN OF RTOS SYSTEMS

Optimalnost RM algoritmaRM je optimalan izmedju svih algoritama doznačavanja safiksnim prioritetom , tj.

Ako postoji skup taskova г koji ne može biti rasporedjensa RM tada slijedi :

da svaki algoritam sa fiksnim prioritetima ne možerasporedjivati г.

Izračunavanje Ulub za n taskova

Najmanja gornja granica iskorištenja procesora kod RMalgoritma je:

Page 224: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

224

DESIGN OF RTOS SYSTEMS Ova vrijednost opada sa povećanjem n i konvergira ka :

Zaključna razmatranja o RM algoritmu

RM algoritam je optimalni, izmedju svih algoritama sadoznačavanjem fiksnog prioriteta.

* RM garantira da arbitrarni skup periodičnih taskova jerasporediv ako ukupno iskorištenje procesora U ne prelazivrijednost 0.69.

* Ulub = 0.69 je dovoljno ali ne i nužno da garantira ostvarivostdatog skupa taskova.

Page 225: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

225

DESIGN OF RTOS SYSTEMS

Algoritam prvi sa najmanjim deadline-om ( earliest deadline first-EDF)

EDF algoritam je :

- pravilo dinamičkog rasporedjivanja- izabire taskove u skladu sa njihovim apsolutnimdeadlajnima- Taskovi sa ranijim deadlajnima će biti izvršavani savećim prioritetima- Apsolutni deadline periodićnog taska zavisi od tekućej-te instance:

Page 226: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

226

DESIGN OF RTOS SYSTEMS

slijedi da je : EDF doznaćavanje sa dinamičkim prioritetom* intrisikalno ( izvorno ) priemtiv algoritam* primjenjljiv takodjer za periodične taskove

Analiza rasporedivosti kod EDF algoritma* Rasporedivost skupa periodičnih taskova kojimaupravlja EDF algoritam se može verificirati pomoćufaktora iskorištenja procesora.* Ovdje je Ulub = 1, tj. postiže se 100% iskoristivosti.

TeoremSkup periodičnih taskova je rasporediv sa EDF ako i samo ako :

Page 227: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

227

DESIGN OF RTOS SYSTEMS

Primjer analize EDF rasporedivosti

Page 228: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

228

DESIGN OF RTOS SYSTEMS Rasporedjivanje periodičnih taskova – Zaključci* Ogranićenja na nezavisne i priemptivne periodićne taskove* Riješenje za fiksno i dinamičko doznačavanje prioriteta.* Algoritam monotone brzine ( rate monotonic- RM) je optimalanizmedju svih algoritama sa fiksnim doznačavanjem prioriteta.* Algoritam : Prvi task sa najranijim deadline-om – EDF, jeoptimalan medju algoritmima sa dinamičkim doznačavanjemprioriteta.* Deadlajni su jednaki periodima . Ovo garantira test u O(n)

koristeći korištenje procesora, primjenjiv je i na RM i EDFalgoritme.

* Deadlajni ‹ perioda → slijedi da su algoritmi sa polinomijalnimvremenom za garantne testove:

- sa fiksnim prioritetom : analiza vremena odziva- dinamičkim prioritetom : iskorištenje procesora

Page 229: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

229

DESIGN OF RTOS SYSTEMS Uvod u servere* Zahtjevi koji se pojavljuju kod većine aplikacija sa realnimvremenom su:

- periodični i aperiodični taskovi- tipično , periodični taskovi su vodjeni vremenom ( time –driven) , sa tvrdim realnim vremenom ( hard RT )- tipični aperiodični taskovi su vodjeni dogadjajima ( event– driven) sa mekim ili tvrdim RT.

* Glavni ciljevi za RT kernel su:- da garantira taskove za tvrdo RT- obezbjedi dobro prosječno vrijeme odziva za mekaneRT.

* Aperiodični taskovi koji su karakterizirani sa minimumomvremena medju dolaska ( inter-arrival time), nazivaju sesporadičnim.

* Aperiodični taskovi koji zahtjevaju on-line garantije zaindividualne instance se zovu čvrstim ( firm).

Page 230: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

230

DESIGN OF RTOS SYSTEMS

Rasporedjivanje u pozadini

Najednostavniji metod:Rukuje sa mekim aperiodičnim taskovima u pozadini izaperiodičnih taskova, tj. u preostalom vremenu procesora nakonrasporedjivanja svih periodičnih taskova.Aperiodični taskovi dobijaju prioritete koji su niži od onih zaperiodićne taskove.

Page 231: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

231

DESIGN OF RTOS SYSTEMS Organizacija rasporedjivanja u pozadini

Primjer servera sa fiksnim prioritetom – polling serverIdeja, da bi se postiglo bolje planiranje upravljanja sa periodičnimtaskom:Neka neki specifični periodični task servisira aperiodične zahtjeve.Ovo se naziva serverom, i ima ( kao i kod svakog periodičnogtaska ), period Ts kao i vrijeme računanja Cs.Vrijeme računanja Cs se naziva kapacitet u ovom slučaju.Server je rasporedjivan kao i bilo koji drugi periodični task, ne inužno na nižem priorotetu.

Page 232: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

232

DESIGN OF RTOS SYSTEMS

Polling server ( PS ) je specijalni server sa:* svojim periodom Ts , PS postaje aktivan i opslužuje bilo kojićekajući aperiodični zahtjev unutar granica svog kapaciteta Cs.

* Ako nema niti jednog čekajućeg aperiodičnog zahtjeva , slijedida PS suspenduje sebe sve do početka svog slijedećeg perioda.Procesorsko vrijeme se onda koristi za periodične taskove.

* Ako aperiodični task prispije neposredno nakon suspenzije PS,on će se opslužiti u slijedećem periodu.

* Na početku svog perioda PS se vraća na svoju punu vrijednostCs.

Page 233: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

233

DESIGN OF RTOS SYSTEMS

Primjer polling servera

Page 234: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

234

DESIGN OF RTOS SYSTEMS

Serveri sa dinamičkim prioritetomUvodPodsjetimo se da algoritmi sa dinamičkim rasporedjivanjem imajuveće granice rasporedivosti nego algoritmi sa fiksnim prioritetima.Naprimjer: Skup periodičnih taskova sa faktorom iskorištenja

Up= 0.6Ako su periodični taskovi opsluživani od OS sa EDF algoritmom,tada granice iskoristivosti procesora idu i do 1.

Slijedi iz toga da maksimalna velićina servera može dosegnuti:Us = 1 – Up = 0.4

Predpostavke* Svi periodični taskovi ti : 1,....,n imaju tvrde ( hard ) deadline.* Svi aperiodični taskovi Ji : 1, ...., m nemaju tvrde deadline.* Svaki periodični task ti ima period Ti , vrijeme izračunavanja Ci ,i relativni deadline Di jednak svom periodu , tj Di = Ti .

Page 235: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

235

DESIGN OF RTOS SYSTEMS

* Svi periodični taskovi su simultano aktivirani u trenutku t= 0.* Svaki periodični zahtjev ima poznato vrijeme računanja, alinepoznato vrijeme pristizanja ( arrival time ).

Exchange server sa dinamičkim prioritetom ( DPE)Osnovna ideja:Neka server zamjeni svoje vrijeme izvršenja sa izvršenjemperiodičnih taskova nižeg prioriteta ( ovo znači veći deadlinepod EDF algoritmom), u slučaju da nema aperiodičnih zahtjevakoji ćekaju na izvršenje.

Slijedi da runtime servera se može zamjeniti sa periodičnimtaskovima ali ne i rasipati ( izuzev ako ima i idle vremena ). On jesačuvan kod niskog prioriteta i može se ponovno tražiti kasnijekada aperiodični zahtjevi udju u sistem.

Page 236: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

236

DESIGN OF RTOS SYSTEMS

Definicija DPEKada god je entitet sa največim prioritetom u sistemu aperiodični

kapacitet od C vremenskih jedinica, slijedeće se dogodi:- aperiodični zahtjevi u sistemu , se opslužuju sve dok sene kompletiraju ili dok se kapacitet ne iscrpi( kapacitetkoji se koristio jednak je vremenu izvršenja ), koristećikapacitet servera ili posudjeni kapacitet.- nema aperiodičnih zahtjeva na ćekanju , slijedi da će seizvršiti periodični task koji ima najkraći deadline, i kapacitetjednak dužini izvršenja će se dodati ( tj. posuditi )aperiodskom kapacitetu deadlina taska i oduzeti od C > 0za najveći tekuči kapacitet ( tj. deadlajni kapacitetasa najvećim prioritetom i oni za periodične taskove sumedjusobno zamjenjeni ).- nema na ćekanju za izvršenje ni zahtjeva aperiodičnih nitiperiodičnih instanci taskova.

Page 237: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

237

DESIGN OF RTOS SYSTEMS

Slijedi da u tom slučaju je idle vrijeme, tj. kapacitet C jekonzumiran.Primjer za DPE strategiju

Page 238: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

238

DESIGN OF RTOS SYSTEMS PROTOKOLI ZA ALOKACIJU RESURSAProtokoli za pristup resursima* Resurs je bilo koja softverska struktura koja se može koristitiod strane procesa da unaprijedi svoje izvršenje* Za resurs se kaže da je :

- privatan , ako je posvećen samo nekom specifičnomprocesu

- dijeljen , ako se koristi od strane više taskova- ekskluzivan , ako je dijeljen ali zaštičen protiv

konkurentnih ( tj. istovremenih ) pristupa.

Terminologija

Page 239: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

239

DESIGN OF RTOS SYSTEMS Fenomen inverzije prioriteta

Posmatrajmo dva taska koji dijele jedan ekskluzivni resurs

Predpostavimo da J1 ima veći prioritet od J2Uprkos ove činjenice J1 može biti blokiran od strane J2.

Page 240: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

240

DESIGN OF RTOS SYSTEMS

Primjer blokiranja ekskluzivnog resursa

Vrijeme blokiranja u gornjem primjeru je :maksimalno vrijeme blokiranja od J1 jednako je trajanju J2 ukritičnoj sekciji i neizbježno je zbog semantike kritične sekcije.

Page 241: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

241

DESIGN OF RTOS SYSTEMS

Medjutim, vrijeme blokiranja može biti i neograničeno ako imataskova sa srednjim prioritetima.

Inverzija prioriteta se pojavljuje u intervalu [ t3, t6 ]

Page 242: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

242

DESIGN OF RTOS SYSTEMS

Protokol naslijedjivanja prioriteta ( PIP)

Predloženo od strane Sha , Rajkumara i Lehoczsky , 1990

Osnovna ideja :

- kada task Ji blokira jedan ili više taskova većegprioriteta, on privremeno naslijedi najveći prioritetblokiranog taska- razlog : ovo spriječava da zadaci srednjeg nivoaprioriteta priemptiraju Ji i time produže period blokiranja.

Page 243: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

243

DESIGN OF RTOS SYSTEMS

PIP definicija* Poslovi se rasporedjuju na bazi njihovih aktivnih prioriteta.

Ako su isti prioriteti slijedi da je algoritam FCFS

* Ji pokušava da udje u kritičnu sekciju zi,j :

-slučaj a) Ri,j je već u posjedu posla nižegprioriteta i Ji je blokiran ( od strane taska koji drži Ri,j )- slučaj b) su svi ostali slučajevi , Ji ulazi u zi,j

* Ji je blokiran , slijedi da on prenosi svoj aktivni prioritet na Jk, tj. na posao koji drži semafor.

slijedi da Jk ponovo uzima procesor i izvršava se uostatku svoje kritične sekcije sa pk = pi , tj. Jknaslijedjuje prioritet od Ji.

Page 244: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

244

DESIGN OF RTOS SYSTEMS

U opštem slučaju task naslijedjuje največi prioritet od poslovakoje je blokirao.

* Jk izlazi iz kritične sekcije :- on odključava semaforslijedi da posao najvećeg prioriteta, koji je bio blokiran

na ovom semaforu ( ako je bilo takvih) se budi .- aktivni prioritet posla Jk se ažurira:- drugi poslovi koji su još uvjek blokirani od strane poslaJk : Jk naslijedjuje najveći prioritet od poslova koje jeblokirao Jk .- inače Jk će dobiti svoj normalni prioritet

* Naslijedjivanje prioriteta je tranzitivno :ako J3 blokira J2 a J2 blokira J1 tada : J3 naslijedjujeprioritet od J1 preko J2.

Page 245: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

245

DESIGN OF RTOS SYSTEMS

Primjer PIP algoritma

Ista situacija kao i na prethodnoj slici ali sada sa primjenjenimPIP algoritmom:

Page 246: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

246

DESIGN OF RTOS SYSTEMS Osobine PIPTeorem : ( Sha – Rajkumar- Lehoczky) : Pod protokolomnaslijedjivanja prioriteta, posao može biti blokiran za najvišedužinu trajanja od min( n,m) kritičnih sekcija, gdje je n – brojposlova niskog nivoa prioriteta koji mogu blokirati J , a m – jebroj različitih semafora koji mogu biti korišteni da blokiraju J.

Protokol limitiranja prioriteta ( priority ceiling protocol -PCP )

PCP protokol koji je uveden od strane Sha, Rajkumara iLehoczky 1990 , kao poboljšanje PIP protokola postiže:

* prevenciju formiranja deadloka* spriječava formiranje lančanog blokiranja.Ideja je slijedeća:

Proširiti PIP sa specijalnim pravilom za zaključavanjeslobodnog semafora. Ovo pravilo ne dozvoljava poslu da udjeu kritičnu sekciju ako ima zaključanih semafora koji bi ga mogliblokirati.

Page 247: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

247

DESIGN OF RTOS SYSTEMS

Slijedi da : jedanput kada posao udje u u svoju prvu kritičnusekciju, on ne može nikad biti blokiran od straneposlova nižeg nivoa prioriteta.

Metod kojim se ovo postiže: doznačiti granicu prioriteta zasvaki semafor,Pri tom ova granica prioriteta je jednaka prioritetu poslanajvećeg nivoa prioriteta koji bi ga mogao zaključati.

- Poslu J je dozvoljeno da udje u kritičku sekciju samo ako jenjegov prioritet > od svih graničnih prioriteta semaforazaključanih od strane poslova koji su različiti od posla J.

Definicija protokola PCPSvakom semaforu Sk doznačen je granični ( ceiling) prioritetC( Sk) , koji je jednak prioritetu posla najvećeg prioriteta kojiga može zaključati. Primjetimo da C( Sk) je statička velićinakoja se može izračunati i off-line.

Page 248: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

248

DESIGN OF RTOS SYSTEMS

* Neka Ji je posao sa najvećim prioritetom medju svimposlovima koji su spremni za izvršenje: dakle, procesor jedoznačen poslu Ji da se izvršava.

* Neka S* je semafor sa najvećim plafonom izmedju svihsemafora koji su trenutačno zaključani od strane svih drugihposlova izuzev Ji , i neka C(S*) je njegova gornja granica (ceiling).

* Da udje u kritičnu sekciju koja je čuvana od strane semaforaSk, Ji mora imati prioritet veći nego C(S*). Ako Pi ≤ C(S*),zaključavanje na Sk se ne dozvoljava i za Ji se kaže da jeblokiran na semaforu S* od posla koji drži zaključanim S*.

Page 249: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

249

DESIGN OF RTOS SYSTEMS * Kada je posao Ji blokiran na semaforu, on prenosi svojprioritet na posao, recimo Jk , koji drži taj semafor. Dakle, Jk seponovo aktivira i izvršava ostatak svoje kritične sekcije saprioritetom od Ji. Za Jk se kaže da naslijedjuje prioritet Ji. Uopštem slučaju, task naslijedjuje najveći prioritet od poslovakoje je blokirao.* Kada Jk izadje iz kritične sekcije, on odključava semafor i

posao najvećeg prioriteta ( ako ih ima ), koji je blokiranna semaforu se budi.

Šta više, aktivni prioritet od Jk se ažurira kako slijedi:ako nema drugih poslova koji su blokirani od strane Jk ,pk se postavlja na nominalni prioritet Pk : inače, onse postavlja na najveći prioritet od svih poslovakoji su blokirani od strane Jk.

* Naslijedjivanje prioriteta je tranzitivno, tj. ako posao J3 blokiraposao J2 , i J2 blokira J1 , tada J3 naslijedjuje prioritetod J1 preko J2.

Page 250: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

250

DESIGN OF RTOS SYSTEMS

Primjer PCP

Razmatrajmo : 3 posla J0, J1 , J2 sa smanjujućim prioritetimaJ0 sekvencijalno pristupa kritičkim sekcijama

koje su čuvane od strane S0 , S1.J1 pristupa samo kritičnim sekcijama koje sučuvane od strane S2J2 koristi S2 a zatim i ugnjezdjen pristup ka S1

Ovo rezultira u slijedećim graničnim vrijednostimaprioriteta semafora :

C( S0) = P0

C( S1) = P0

C( S2) = P1

Page 251: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

251

DESIGN OF RTOS SYSTEMS

* U trenutku t0 , J2 se aktivira, i pošto je on jedini posao koji jespreman za izvršenje, on starta da se izvršava i kasnijezaključava semafor S2.* U trenutku t1 , posao J1 postaje spreman i priemptira J2.* U trenutku t2 , posao J1 pokušava da zaključa S2, ali jeblokiran od strane protokola pošto P1 nije veće od C( S2).Tada, J2 naslijedjuje prioritet od J1 i ponovno uzima njegovoizvršenje.

Page 252: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

252

DESIGN OF RTOS SYSTEMS * U trenutku t3, J2 uspješno ulazi u svoju ugnježdenu kritičnusekciju, zaključavanjem S1. Primjetimo da je dozvoljeno J2da zaključa S1 pošto nema semafora koji su zaključani odstrane ostalih poslova.* U trenutku t4 , dok se J2 izvršava sa prioritetom p2 = P1 , J0postaje spreman i priemptira J2 pošto P0 › p2 .

Page 253: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

253

DESIGN OF RTOS SYSTEMS

* U trenutku t5 , J0 pokušava da zaključa S0 , koji nijezaključan niti i od jednog posla. Medjutim, J0 , je blokirano odstrane protokola, pošto njegov prioritet nije veći nego C(S1),koje je najveća granica izmedju svih semafora koji su trenutnozaključani od strane drugih poslova. Pošto S1 je zaključan odstrane J2, J2 naslijedjuje prioritet od J0 i ponovno preuzimasvoje izvršenje.

Page 254: LITERATURA : 1. William Stallings:Operating Systems Forth ...people.etf.unsa.ba/~asalihbegovic/RTOS/Projektovanje RTOS predavanja... · Glavni principi Operativnih sistema Danas su

254

DESIGN OF RTOS SYSTEMS

Osobine PCPTeorem : Protokol plafona ( ceiling) prioriteta spriječavapojavu deadlocka.

Teorem : ( Sha- Rajkumar- Lehoczky ) . Pod protokolomplafona prioriteta, posao Ji se može blokirati najviše za vrijemetrajanja jedne kritične sekcije.