seminarski-marko marinović-operativni sistem za rad u realnom vremenu
Post on 06-Jul-2018
218 Views
Preview:
TRANSCRIPT
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
1/15
TEHNIČKI FAKULTETInžinjerska Informatika
Operativni sistemi
SEMINARSKI RA
Tema! Operativni sistem "a ra# $ rea%nom vremen$
Mentor: Student:Doc. dr Goran Popović Marko Marinović
Brčko Distrikt
Sa#ržaj
1. Uvod………………………………………………………………32. Osnovne karakteristike operativnog sistema……………………...4
3. Opis realizacije……………………………………………………64. Rukovanje procesima……………………………………………..8
!RO"#$% U&%!R'%(()R*$O +%#(R%$(
)O#&, % -R/O!%&,
!RO"#$% U&%!R'%(()R*$O +%#(R%$(
)O#&, % -R/O!%&,
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
2/15
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
3/15
&' U(O"ojava i primjena mikroprocesora i mikrokontrolera omoguila je praktino
realizovanje je5tini i jednostavni7 a 5leksiilni i e5ikasni7 potpunospecijalizovani digitalni upravljaki raunarski sistema 9172:. (akvi sistemioino rade u realnom vremenu i potpuno su ardverski i so5tverski prilago;enikonkretnoj primjeni. $od nji su svi programi namijenjeni izvr
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
4/15
)' OSNO(NE KARAKTERISTIKE O*ERATI(NO+SISTEMA$ao
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
5/15
pokazivaa za povezivanje u liste je pokaz[i]. >emorija i?tog procesa poinje naadresi frame[i] i ouvata HR,>#%' uzastopni memorijski lokacija.
"rekidna rutina Tajmera 0 zadu=ena je za raspodjelu procesorskog vremena7 tj. zaoduzimanje i dodjelu procesora procesima. (ajmer A je kon5igurisan da odrojavakvant vremena. &akon isteka tog kvanta vremena generi
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
6/15
,' O*IS REALI-A.I/E &a sl. 2 su prikazane osnovne konstante operativnog sistema i njiove de5inicije u
dijelu koda programa.
NF ??? Osnovne konstante O#?a ??? FN
de5ine &>,E 3de5ine HR,>#%' 22de5ine O&(E(#%' 16de5ine %L#(,R( AP82Sl.2. Osnovne konstante sistema
&>,E je maksimalan roj konkurentni poslova. 'a osnovnu kon5iguraciju 8A01to je 3. HR,>#%' je veliina memorije dodjeljena jednom procesu. U ovomsluaju 22 ajta. (o je veliina stek prostora procesa gdje se uva kontekst procesa iadresa povratka prilikom eventualnog poziva procedure ili prekidne rutine u tokuizvr AP8ASl.3. Stanja procesa operativno sistema
U !"#$% procese spadaju aktivni procesi. (o su svi kreirani procesi7 tj. procesiiji se deskriptori nalaze u taeli7 koji su radnosposoni i nastavie sa radom im imdispeer dodijeli procesor. &ije uveden posean kod za proces u stanju izvr&avanje @RU&&%&/B ve je i taj proces oilje=en kao R,+I7 s tim
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
7/15
"roces u stanju '#(T)S"* je lokiran na sema5oru. "rimitiva Sem)Sinalsem/ delokira prvi u listi procesa lokirani na sema5oru sem7 ako takvi procesa ima.
&a sl. 4 je prikazan dio koda u kom se de5ini,E:7 prio9&>,E:7 pokaz9&>,E:7 stack5rame9&>,E:9HR,>#%':GUcar data Fstek9&>,E:GUcar data curtaskAG#car data sem93:SA7 ?17 ?1TGSl.. Strukture poataka operativno
sistema
(o su promjenljive koje opisuju razne parametre procesa. (ako status[i] predstavlja stanje i?tog procesaG prio[i] njegov prioritet @u varijanti prioritetnogupravljanjaBG pokaz[i] roj sledeeg procesa u listi procesa lokirani na odre;enomsema5oru @ako takav proces postojiG a ako ne7 sadr=aj ovog polja je APHHBG frame[i][] stek i?tog procesaG stek[i] pokaziva steka i?tog procesa @kad je taj proces neaktivanGvrednost stek pointera za aktivni proces je sadr=aj registra #"BG curtask redni roj
procesa koji se trenutno izvr,EG iWWB
i5@status9i:rojLprekidaB status9i:AG
Sl.4. *etoe za rukovanje prekiima
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
8/15
>ikrokontroler %ntel 8A01 razlikuje 2 nivoa prioriteta prekidaC vi
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
9/15
NF ontePt#Xitc@B ? prekidna rutina zarukovanje
procesima. FNvoid ontePt#Xitc@voidB interrupt 1 using A S
pragma asm
"U#- %R ,pragma endasmi5@curtask,K,I#L(,#$B
alLstek@Ucar data FB#"Gelse S
pragma asm"U#- +""U#- +"-"U#- A"U#- 1
"U#- 2"U#- 3"U#- 4"U#- 0"U#- 6"U#- pragma endasmstek9curtask:@Ucar data FB#"G
Ta/
ii&>,EGdo S
ii??Gcurtask@UcarB
@curtaskW1BZ&>,EGT Xile @ii [[ status9curtask:BG
b/
\
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
10/15
i5 @status9curtask:B Scurtask,K,I#L(,#$G#"alLstekG
Telse S
#"stek9curtask:Gpragma asm"O" "O" 6"O" 0"O" 4"O" 3"O" 2"O" 1"O" A"O" +"-
"O" +"pragma endasm
Tpragma asm"O" %pragma endasm
Tc/
Sl.6. 7roceura za rukovanje procesima
]o< trea restaurirati kontekst novoizaranog procesa kome e procesor itidodijeljen za sljedei kvant vremena @sl.cB. ,ko se prona;e radnosposoan proces ulisti njegov kontekst se restaurira tako
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
11/15
NN prio9i:prG
Sl.9. Kreiranje procesa
'a kreiranje novog procesa u taeli potrean je naziv 5unkcije procesa @taskname/7ulaz u taeli u koji e se smjestiti proces @i/ i poetni prioritet procesa @ pr B. %nicijalnododijeljeni prioritet mo=e se mijenjati. "rioritet procesa opada kada mu dispeeroduzima procesor a raste kad eka poruku7 prekid ili na nekom sema5oru. Ovo va=iako je izarana varijanta prioritetnog upravljanja. %nae nema potree za argumentom
pr .
+a i se proces korektno kreirao prvo trea maskirati sve prekide @,AB.(renutnu vrednost ita , trea sauvati tako ogue su dvijevarijante risanja procesa. ,ko se ne ri
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
12/15
eskonanoj petlji dok se ne generi
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
13/15
#lino se pona#/QcurtaskBS
status9task:AG pragma asm "O" % pragma endasm
Telse S
status9curtask:K,%(L>#/L,$QtaskG pragma asm "O" % >O! ,7 OK @ontePt#XitcB "U#- , >O! ,7 -%/- @ontePt#XitcB "U#- , pragma endasmT
TSl. 10. 7rimitiva za slanje poruka
'a rad sa sema5orima de5inisane su primitive Sem)'ait i Sem)Sinal kojeoavljaju operacije ait i sinal na sema5orima. Operacija sinal na sema5oru nedovodi do lokiranja tekueg procesa pa je ona realizovana kao makro Sem)Sinal .(ako nije sa operacijom ait koja mo=e dovesti do lokiranja tekueg procesa i morase trenutno predati kontrola dispeeru. (e primitive rade po algoritmu sa sl. 11.
K,%( @semB
i5 @??sem.value V AB S lokiraj tekui procesG ulanaj ga u listu procesa koji ekaju na tom sema5oruG poziv dispeeraGT#%/&, @semBi5 @WWsem.value V AB S delokiraj prvi proces iz liste oni koji ekajuGT
Sl. 11. #loritam raa sa semaforima
13
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
14/15
2' -AKL/UČAK U radu je opisana jedna realizacija multiprocesnog operativnog sistema za
upravljake sisteme koji rade u realnom vremenu a koriste mikrokontrolere iz 5amilije%ntel >#?01. Opisani sistem je namijenjen za upravljake sisteme sa osnovnimmikrokontrolerima 8A01 i 8A02 iz navedene 5amilije. +odavanjem odgovarajueg
so5tverskog modula i eventualno vanjske memorije mo=e se prilagoditi i koristiti i usistemima sa ostalim mikrokontrolerima iz te 5amilije. U principu je namijenjen za
jednostavnije upravljake sisteme sa maksimalno 3 @za 8A01B ili 8 @za 8A02Bkonkurentni procesa7 ali ukupan roj procesa nije ogranien. ako se mo=e
prilagoditi i za sisteme sa vi
-
8/17/2019 Seminarski-Marko Marinović-Operativni Sistem Za Rad u Realnom Vremenu
15/15
LITERATURA1BXXX.raisonance.com2B XXX.mYke.com 3B XXX.nilsenelektronikk.no
4B XXX.keil.com
10
http://www.raisonance.com/http://www.myke.com/51-rtos.htmhttp://www.nilsenelektronikk.no/http://www.keil.com/http://www.raisonance.com/http://www.myke.com/51-rtos.htmhttp://www.nilsenelektronikk.no/http://www.keil.com/
top related