seminarski-marko marinović-operativni sistem za rad u realnom vremenu

Upload: mirela

Post on 06-Jul-2018

218 views

Category:

Documents


0 download

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/