he dieu hanh thoi gian thuc

Upload: banh-xoai

Post on 15-Jul-2015

153 views

Category:

Documents


0 download

TRANSCRIPT

H thi gian thc1MJC LJCGioi thiu :CHUONG 1 : TONG QUAN VE HJ THI GIAN THJC1. Khi nimh thng thi gian thc :2. Cc loi h thng thi gian thc: 3. D}c dim cua cc h thng thi gian thc4. Thi gian trong h thng thi gian thc: 4.1. Dng h h thng: 4.2. Cc loi dng h h thng: 4.3. Quan nim v s ri rc thi gian: 4.4. Rng buc v thi gian: 5. Xu l thi gian thc6. H thng diu khin v h thi gian thcCHUONG 2 : HJ DIEU HNH THI GIAN THJC1. Di cuong v h diu hnh thi gian thc1.1. H diu hnh 1.2. H diu hnh thi gian thc so vi h diu hnh trn PC 1.3. D}c dimcua h diu hnh thi gian thc1.4. Phn loi h diu hnh thi gian thc4.1. H diu hnh thoi gian thuc nho voi muc dch thuong mai4.2. H diu hnh thoi gian thuc mo rong toi Unix v cc h diu hnh khc 4.3. Cc nhn cho muc dch nghin cuu2.T chc v kin trc h diu hnh thi gian thc2.1. Tng quan2.2. Cc kin trch diu hnh 2.2.1.Vi hat nhn :2.2.2.Don hat nhn: 2.3. Ht nhn h diu hnh thi gian thc2.3.1.H thong thoi gian thuc nho:2.3.2. Cng ngh da nhim2.3..3. Cc dich vu cung cap boi hat nhn 3. Cc d|ch v co ban3.1. Tc vu v cc trang thi tc vu3.2. Bo lap lich 3.3. Tc vu v d liu3.4. n bo v chia se d liu (Semaphore) 4. Cc d|ch v mo rng cua RTOS thuong mi4.1. Message Queues, Mailboxes v Piles a. Hng doi - Queue b. Mailbox c. Pipe d. Su dung queue, mailbox, pipe H thi gian thc24.2. Chuc nng bo dinh thoi (Timer Functions) 4.3. Cc su kin - Event 4.4. Cc hm ngt trong mi truong RTOS 5. Gii thiu mt s h diu hnh thi gian thc5.1. RTX51-Real Time Operating System 5.2. ARTX-Advanced Real Time Operating System 5.3. C/OS 5.4. QNX Neutrino a. Kin trc microkernel b. Giao tip lin qu trnh dua trn vic truyn thng dipCHUONG 3 :KY THAT LAP TRNH THI GIAN THJC1 Tc v v qu trnh (process) 2. Da nhim(Multitasking)v dng thi (Concurrency)2 Lp l|ch (Scheduling) 2.1 Cc khi nim2.2 Cc phuong php lp l|ch ph bin2.2.1.Lp l|ch offline/tinh: 2.2.2.Lp l|ch online/dng: 2.2.3.Lp l|ch tp trung ho}c phn tn:2.2.4.Lp l|ch Mono hay Multi-processor: 2.3 K thut lp l|ch 2.3.1.FCFS 2.3.2.Shortest Job First -SJF 2.3.3.Rate monotonic (RM): 2.3.4.Earliest-deadline-first (EDF) 2.3..5Minimum Laxity first (MLF) 2.3.6.Round Robin 3 Truyn thng v dng b3.1 Semaphore 3.2.Cc loi Semaphore 3.3 Monitor 3.4 Xu l ngtCHUONG 4 : THIET KE UNG DJNG THI GIAN THJC1. B d|nh thi gian cua 8051 2.1 Cc thanh ghi co so cua b d|nh thi. 2.1.1 Cc thanh ghi cua b Timer 0. 2.1.2 Cc thanh ghi cua b Timer 1. 2.1.3 Thanh ghi TMOD (ch d cua b d|nh thi). a.Cc bt M1, M0: b. C/ T (dong ho/ bo dinh thoi). c. Bt cong GATE. 2.1.4 Ngun xung dng h cho b d|nh thi: H thi gian thc31.2. Cc ch d cua b d|nh thi1.2.1 Lp trnh cho ch d Mode1. 1.2.2. Cc buc lp trnh o ch d Mode 1. 1.2.3 Tm cc gi tr| cn duc np vo b d|nh thi. 1.2.4 Ch d 0. 1.2.5 Lp trnh ch d 2. 2. Lp trnh xu l ngtH thi gian thc4GII THIJUGio trnh ny nhm cung cp cho sinh vincc ni dung chu yu sau dy - Tng quan v h thng thoi gian thuc v ung dung - Mi truong chung quanh cua h thng my tnh thoi gian thuc- Kin trc phn b cho h thng thoi gian thuc- Thoi gian ton cuc; m hnh cua h thng thoi gian thuc- Dai luong thoi gian thuc v khi nim anh - Cc giao tip thoi gian thuc;- Cc giao thuc kch hoat do thoi gian; input/output;- Cc h diu hnh thoi gian thuc; dinh thoi; validation; - Thit k h thng; kin trc kch hoat do thoi gian. H thi gian thc5CHUONG 1 : TONG QUAN VE HJ THI GIAN THJCREALTIME SYSTEM - RTS Mc dch : Gii thiu tng quan v mhnh h thi gian thc, cc khinimco ban cua h thi gian thc, d}c dim cua cc h thi gian thc, phn bit cc h thi gian thc . Chuong ny cng dng thi gii thiu h thng diu khinvi thi gian thcTrongnhungnm gn dy,cch thngdiu khin theothoi gianthuc l mt trong nhung linh vuc thu ht nhiu su ch trong gioi khoa hoc nghin cuuv khoa hoc my tnh. Trong d, vn d diu hnh thoi gian thuc v vn d lp lich ldc bit quantrong.Mt s ungdungquantrongcua h thngthoi gianthuc(RTS)d vdangduoc ungdungrngrihin naylccdychuyn san xut tudng, rbt, diu khin khng luu, diu khin cc th nghim tu dng, truyn thng, diu khin trongqunsu...Th h ungdungtip theocua h thngnys ldiukhin rbt c hoat dng ging con nguoi, h thng kim sot thng minh trong cc nh my cng nghip, diu khin cc tram khng gian, thm d dy dai duong... 1. Khi nimh thng thi gian thc :Mt h thng thoi gian thuc (RTS Realtime Systems) c th duoc hiu nhul mt m hnh xu l m tnh dng dn cua h thng khng chi phu thuc vo ktqua tnh ton lgic m cn phu thuc vo thoi gian m kt qua ny pht sinh ra. H thngthoi gianthuc duoc thit k nhm chophptra loi (response)laicc yu t kch thch pht sinh tu cc thit bi phn cung trong mt rng buc thoigianxcdinh.O dytacth hiu th nolmt RTSbngcchhiu th nol mt tin trnh, mt cng vic thoi gian thuc.Nhn chung, trong nhung RTS chi c mt s cng vic duoc goi l cng victhoi gian thuc, cc cng vic ny c mt muc d khn cp ring phai hon tt, v dumt tin trnh dang c gng diu khin hot gim st mt su kin dang xay ra trong th gioi thuc. Boi vmi su kin xut hin trong th gioi thuc nn tin trnhgim st su kin ny phai xu l theo kip voi nhung thy di cua su kin ny. Su thay dicua su kin trong th gioi thuc xay ra rt nhanh, mi tin trnh gim st su kin ny phai thuc hin vic xu ltrongmt khoan thoi gianrngbuc goi ldeadline, khoan thoi gianrngbuc nyduoc xcdinhboi thoi gianbt du vthoi gian hontt cngvic.Trongthuc t, ccyu t kchthchxay ratrongthoi gianrtngn vo khoang vi mili giy, thoi gian m h thng tra loi lai yu t kch thch dtt nht vokhoangduoi mt giy,thuongvokhoangvichuc miligiy, khoang thoi gian ny bao gm thoi gian tip nhn kch thch, xu l thng tin v traloi lai kch thch. Mt yu t khc cn quan tm trong RTS l nhung cng vic thoigian thuc ny c tun hon hay khng ? Cng vic tun hon th rng buc thoi gian n dinh theo tung chu ky xc dinh. Cng vic khng tun hon xay ra voi rng bucthoi gian vo lc bt du v lc kt thc cng vic, rng buc ny chi duoc xc dinh vo lc bt du cng vic. Cc bin c kch hoat cng vic khng tun hon thuong dua trn k thut xu l ngt cua h thng phn cung. H thi gian thc6V mt cu tao, RTS thuong duoc cu thnh tu cc thnh t chnh sau : -Dng h thoi gian thuc : Cung cp thng tin thoi gian thuc. -B diu khin ngt : Quan l cc bin c khng theo chu ky.-B dinh biu : Quan l cc qua trnh thuc hin. -B quan l ti nguyn : Cung cp cc ti nguyn my tnh. -B diu khin thuc hin : Khoi dng cc tin trnh. Ccthnht trncth duoc phndinhlthnhphn cunghaymm ty thuc vo h thng v nghia su dung. Thng thuong, cc RTS duoc kt hop vo phn cung c kha nng tt hon so voi h thng phn mm c chuc nng tuong ung vtrnhduoc chiphqudt chovic ti uu hophn mm.Ngynay,chiphphn cungngycngre, chon luu uu tinphn cunglmt xuhuong chung. 2. Cc loi h thng thi gian thc: CcRTSthuongduoc phnthnhhailoai sauSoftreatimesystemv Hardrealtimesystem:Di voi Soft realtime system, thoi gian tra loi cua h thng choyu t kch thchlquantrong,tuynhintrongtruonghop rngbuc nybi vipham,tuc l thoi gian tra loi cua h thng vuot qu gioi han tr cho php, h thng vn cho php tip tuc hoat dng bnh thuong, khng quan tm dn cc tc hai do su vi pham ny gy ra (Thuong th tc hai ny l khng dng k). Nguoc lai voi Soft realtime system l Hard realtime system, truong hop ny nguoi taquantmkhc khedn cchu qua dosu vipham gioi han thoi giand cho php boi v nhung hu qua ny c th l rt ti t, thit hai v vt cht, c thgy ranhung anh huong xu dn doi sng con nguoi. Mt v du cho loai ny l hthng diu khin khng luu, mt phn phi duong bay, thoi gian ct cnh, ha cnh khnghop l,khngdnglccth gyratainan mybaymtham hoa cua n kh m luong truoc duoc. Trongthuc t thcnhiu RTSbaogm ca hailoai softvhard.Trongcahai loai ny, my tnh thuong can thip truc tip hoc gin tip dn cc thit bi vtl d kim sot cung nhu diu khin su hoat dng cua thit bi ny.Dung trn gc d ny, nguoi ta thuong chia cc RTS ra lm hai loai sau : (1) Embedded system : B vi xu l diu khin l mt phn trong ton b thit bi, n duoc san xut tron gi tu yu t cung dn yu t mm tu nh my, nguoi su dung khng bit v chi tit cua n v chi su dung thng qua cc nt diu khin, cc bang s. Voi h thng ny, ta s khng thy duoc nhung thit bi nhu trong my tnh bnh thuong nhu bn phm, mn hnh...m thy vo d l cc nt diu khin, cc bang s, dn tn hiu hay cc mn hnh chuyn dung dc trung cho tungh thng. My git l mt v du. Nguoi su dung chi vic bm nt chon chuong trnh git, xem ktqua qua h thng dnhiu... B vi xu ltrong Embeddedsystemnyd duoc lptrnh truoc v gn cht vo ngay tu khi san xut v khng th lp trnh lai. Nhung chuong trnh ny chay dc lp, khng c H thi gian thc7su giao tip voi h diu hnh (HDH) cung nhu khng cho phpnguoi su dung can thip vo. (2)Loai thu hailbaogm nhungh thngcsu canthip cua mytnhthng thuong. Thng qua my tnh ta hon ton c th kim sot cung nhu diu khin moihoat dng cua thit bi phn cung cua h thng ny. Nhung chuong trnh diu khinny c rt nhiu loai, phuc vu cho nhiu muc dch khc nhau v c th duoc vit laicho ph hop voi yu cu thuc t. Hin nhin th loai h thng ny hoat dng duocphai cn mt HDH diu khin my tnh. HDH ny phai c kha nng nhn bit duocthit bi phn cung, c kha nng hon tt cng vic trong gioi han thoi gian nghim ngt.HDH nyphai lHDH h tro xu lthoi gianthuc Realtimeoperating system (RTOS). 3. D}c dim cua cc h thng thi gian thcKhi nim h thoi gian thuc khng dng nghia voi khi nim h xu l tc d cao, xu l nhanh. Nu ta cho rng, phai l cc ung dung diu khin c yu cu thoigiantnhtonrt nhanhmoi goi ldiu khin thoi gianthuc,thmt cuhoi sduoc dt ra l: nhu th no moi duoc goi l nhanh? Ta c th thng nht l, c mtvimicro-giylrt nhanh,tuynhinnu mt vichuc micro-giythsao,mttrm micro-giy th sao? Nu mt trm micro-giymoi goi l nhanh, th 101, 102, ... c nhanh khng? Cc h diu khin voi chu ky trch mu 5ms, 6 ms, 7ms c duocgoi l h thoi gian thuc hay khng? C th ni mt cch nm na, tnh thoi gian thuc l kha nng dp kip thoi v chnhxc. V ta honton c th dinh nghia nhu th no l kip thoi theo bn yu cu khc nhau, nhu minh hoaMt h thng thoi gian thuc c cc dc dim tiu biu sau: * Tnh bi dng: H thng phai phan ung voi cc su kin xut hin vo cc thoi dimthuongkhngbit truoc.Vdu, su vuot ngungcua mt gitri do,su thayditrang thi cua mt thit bi qu trnh phai dn dn cc phan ung trong b diu khin. * Tnh nhanh nhay: H thng phai xu l thng tin mt cch nhanh chng d c thH thi gian thc8dua rakt qua phan ungmt cchkip thoi.Tuytnhnhanhnhay lmt dc dimtiu biu, nhung mt h thng c tnh nng thoi gian thuc khng nht thit phai c dp ung tht nhanh m quan trong hon l phai c phan ung kip thoi di voi cc yu cu, tc dng bn ngoi. * Tnh dng thoi: H thng phai c kha nng phan ung v xu l dng thoi nhiu sukin din ra. C th, cng mt lc mt b diu khin duoc yu cu thuc hin nhiuvngdiu chinh,gimstngunggitri nhiu du vo,canhgioi trangthilm vic cua mt s dng co.* Tnh tin dinh: Du don truoc duoc thoi gian phan ung tiu biu, thoi gian phanung chm nht cung nhu trnh tu dua ra cc phan ung. Nu mt b diu khin phaixu l dng thoi nhiu nhim vu, ta phai tham gia quyt dinh duoc v trnh tu thuchin cc cng vic v dnh gi duoc thoi gian xu l mi cng vic. Nhu vy nguoisu dung moi c co so d dnh gi v kha nng dp ung tnh thoi gian thuc cua hthng. 4. Thi gian trong h thng thi gian thc: 4.1. Dng h h thng: Thoi gianh thngduoc bobngmt dngh goi ldngh h thng. Trong mi truong c nhiu vi xu l c th tn tai nhiu dng h, th nhung dng hny phai duoc dng b voi nhau. C th biu din muc d chnh xc cua dng h h thng qua hm s sau: C(t) = t,. Dng h duoc goi l chnh xc vo thoi dim ti nu : C(ti) = ti 4.2. Cc loi dng h h thng: Don gian nht lh thngchi cmt dngh (severclock),yucu d chnh xc v tin cy rt cao. Loai ny gi thnh rt dt. Mt loai khcgm mt dngh chnh(masterclock)dngb voi nhiudng h phu (slave clock) theo kiu polling, tt ca cc dng c cng d chnh xc, nu dng h chnh bi hong th mt trong nhung dng h phu s thay th.Di voi cc h thng phn tn, dng h h thng bao gm tt ca cc dng hphn tn v duoc dng b voi nhau theo cng mt thut ton. 4.3. Quan nim v s ri rc thi gian: Trongquannim cua RTS,thoi gianduoc xemnhu lmt yu t roi rac. Dy l mt kha canh rt phuc tap v l th. (1)TrongccHDH kinhdin,cmt dngh quan lthoi giandngbgiua cc tin trnh. Dng h ny pht sinh ra ngt bo hiu cho h thng theo chu ky. Chu ky ny c th duoc diu chinh nhung khng qu nhanh hay qu chm lmanhhuongdn thoi gianthuc thicctin trnh,vthuonglvo khoangvichuc miligiy.Chnhchuky nyd chiathoi gianrathnhcc manh du nho.(2) Cn trong cc RTOS, h thng su dung mt dng h c kha nng lpH thi gian thc9trnhdiu phi ngt theomt chuky dunho hop l,chuky o h thngnyvo khoang vi micr giy. Trongthuc t thccRTSthuongdua trncchtip cn kt hop giua hai quan nim trn, thuong th quan dim (1) l nn tang c su h tro cua quan dim(2). 4.4. Rng buc v thi gian: Voi mi yu t kch thch, h thng tip nhn vo mt thoi dim t0, h thng tin hnh cp pht ti nguyn, thuc hin cc xu l tnh ton v hon tt vic tra loivo thoi dim tk khc sau d. Mt rng buc ti thiu c th duoc dinh nghia qua b ba sau: (ID, Tbegin(condition1), Tend(condition2))Trong d: ID : Chi s cua tin trnh Tbegin(condition1) : Thoi gian bt du tin trnh Tend(condition2) : Thoi gian tin trnh hon tt xu l Phu thuc vo h thng v thoi gian xc dinh duoc ti nguyn cn cp pht, cungnhu qutrnhgiai phngtinguynsaukhitin trnhsu dungMt rng buc khc khe hon c th xc dinh nhu sau: (ID, Tbegin(condition1), CID, FID, Tend(condition2)) dC(t) dt ti Trong d: ID : Chi s cua tin trnh Tbegin(condition1) : Thoi gian bt du tin trnh Tend(condition2) : Thoi gian tin trnh hon tt xu l CID : Thoi gian uoc tnh cua tin trnh (s mu thoi gian) FID : Tn s mu thoi gian Mi chi thi co so (Assembly) c mt thoi gian thuc thi c dinh phu thucvo phn cung, v du :Chi thi Thoi gian thuc thi (clock) MOV reg8, reg8 2 JMP 15 IRET 24 IN 10 OUT 10 Nhu vy,mi tiu trnhthuc hin mt cngvic duoc vit bngmt nhm cc chi thi (hm) s c thoi gian thuc hin l c dinh, thm vo d cn c thoi gian dng d khoi tao tiu trnh, kt thc tiu trnh dn dn thoi gian thuc hin cng vicd s lon hon thoi gian thuc thu thuc hin tiu trnh. Cu hoi dt ra l lm th no nhungcngvic cth thuc thimt cchhonchinhtrongthoi gianbi han ch.Cu tra loi d l co ch Diu Phi Qu Trnh duoc xem xt o phn sau. 5. Xu l thi gian thcXu l thoi gian thuc l hnh thuc xu l thng tin trong mt h thng d dambao tnh nng thoi gian thuc cua n. Nhu vy, xu l thoi gian thuc cung c cc dcdim tiubiu nutrnnhu tnhbi dng,tnhnhanhnhay,tnhdngthoi vtnh tin dinh. D c th phan ung voi nhiu su kin din ra cng mt lc, mt h thng xu l thoi gian thuc su dung cc qu trnh tnh ton dng thoi.H thi gian thc10 Qutrnhtnhtonlmt tin trnhthuc hin mt hoc mt phn chuong trnh tun tu do h diu hnh quan l trn mt my tnh, c th tn tai dng thoi voiccqutrnhkhck ca trongthoi gianthuc hin lnhvthoi gianxp hngchodoi thuc hin. Cc hnh thuc t chuc cc qu trnh tnh ton dng thoi: * Xu l canh tranh: Nhiu qu trnh tnh ton chia se thoi gian xu l thng tin cuamt b xu l. * Xu l song song: Cc qu trnh tnh ton duoc phn chia thuc hin song song trn nhiu b xu l cua mt my tnh. * Xu l phn tn: Mi qu trnh tnh ton duoc thuc hin ring trn mt my tnh. Trong cc hnh thuc trn dy th hnh thuc xu l canh tranh c vai tr chu cht. Mcd h thng diu khin c th c nhiu tram, v mi tram c th l mt h da vi xul, s luong cc qu trnh tnh ton cn thuc hin thuong bao gio cung lon hon sluong vi xu l. Trong khi mt vi xu l khng th thuc hin song song nhiu lnh, n phai phn chia thoi gian d thuc hin xen k nhiu nhim vu khc nhau theo thu tuty theo muc uu tin v phuong php lp lich. Trongcch thngdiu khin,khinim tcvu (task)cunghayduoc sudung bn canh qu trnh tnh ton. C th ni, tc vu l mt nhim vu xu l thng tin trong h thng, c th thuc hin theo co ch tun hon (periodic task) hoc theo su kin (eventtask).Ccdangtcvu quidinhtrongchun IEC 61131-3 (ProgrammableControllersPart3:ProgrammingLanguages)duoc minhhoa trn hnh 2. V du, mt tc vu thuc hin nhim vu diu khin cho mt hoc nhiu mach vng kn c chu ky trch mu ging nhau. Hoc, mt tc vu c th thuc hin nhimvu diu khin logic, diu khin trnh tu theo cc su kin xay ra. Tc vu c th thuchin duoi dangmt qutrnhtnhtonduynht,hoc mt dyccqutrnhtnh ton khc nhau. 6. H thng diu khin v h thi gian thcH thi gian thc11 Cth ni,tt cccch thngdiu khin lh thoi gianthuc.Nguoc lai, mt s lon cch thngthoi gianthuc lcch thngdiu khin.Khngchthng diu khin no c th hoat dng bnh thuong nu nhu n khng dp ung duoccc yu cu v thoi gian, bt k l h thng diu khin nhit d, diu khin p sut, diu khin luu luonghaydiu khin chuyn dng.Mt b diu khin phai dua ra duoc tnhiu diu khin kip thoi saumt thoi giannhn duoc tnhiu do dduaqu trnh k thut v trang thimongmun.Mt mang truyn thng trongmt hthng diu khin c tnh nng thoi gian thuc phai c kha nng truyn tin mt cch tin cy v kip thoi di voi cc yu cu cua cc b diu khin, cc thit bi vo/ra, cc thit bi do vthit bi chp hnh.Tnhnngthoi gianthuc cua mt h thngdiukhin phntnkhngchi phu thuc votnhnngthoi gianthuc cua tungthnh phn trong h thng,m cn phu thuc vosu phi hop hoat dng giua cc thnh phn d. Trongthuc t, yucu v tnhthoi gianthuc di voi mi ungdungdiukhin cung c cc dc th khc nhau, muc d ngt ngho khc nhau. V du, cc hthng diu khin nhng thuong duoc ung dung voi cc san phm ch tao hng loat, chiphphn cungchotungsan phm cn duoc giam thiu,vvy dungluongbnho cung nhu hiu nng vi xu l thuong thp. Hon nua, diu khin nhng lai l giaiphpdc thtrongccungdungnhanh,tiubiu ldiu khin chuyn dng,dndn cc yu cu ngt ngho hon v hiu sut phn mm. Trong khi d, cc h diukhin cng nghip nhu PLC hoc DCS dt ra yu cu cao v kha nng lp trnh v dua vo vn hnh thun tin cho cc bi ton lon. Cc h thng ung dung PLC v DCScungthuongchm hon (vdu trongdiu khin ccqutrnhcngngh)Nhung nhu vy khng c nghia l cc giai php PLC hoc DCS khng phai l cc h thoi gianthuc.Diu gs xay ratrongmt nhmydin nguyntu haytrong mt nh my loc du, nu thut ton diu khin mc d rt hin dai nhung b diukhin khng c kha nng dua ra kt qua dp ung kip thoi vo nhung thoi dim trch mu,haykhikhngdua raduoc ccquyt dinhdungkhn cp mt cchkip thoitrong nhung tnh hung bt thuong? H thi gian thc12 CHUONG 2 : HJ DIEU HNH THI GIAN THJCREALTIME OPERATING SYSTEM RTOS Mc dch : Gii thiu v kin trc cua mt h diu hnh thi gian thc, cc khc bit cua h diu hnh thi gian thc vi cc h diu hnh PC. D}c dimv phn loi cc h diu hnh thi gian thc, vn d xu l thi gian trong hdiu hnh thi gian thc. Chuong ny cng dng thi gii thiu mt s h diuhnh thi gian thc ph bin nhu : Window Mobile, Symbyan . 1. Di cuong v h diu hnh thi gian thc1.1. H diu hnh Ngun gc radoi cua h diu hnhlddam nhim vaitrtrunggiand tuongtctruc tip voi phn cungcua mytnh,phuc vu chonhiu ungdungdadang. Cc h diu hnhcungcp mt tp cc chuc nngcn thitdchophpccgiphn mm diu khin phn cungmytnhmkhngcn phaicanthip truc tip su.H diu hnh cua my tnh c th thy n bao gm cc drivers cho cc ngoai vi tch hop voi my tnhnhu card mn hnh, card m thanh...Cc cng cu d quan l tinguyn nhu b nho v cc thit bi ngoai vi ni chung. Diu ny tao ra mt giao din rt thun loi cho cc ung dung v nguoi su dung pht trin phn mm trnccnn phn cungd c.Dngthoi trnhduoc yucu v hiu bit su sc v phn cung v c th pht trin dua trn cc ngn ngu bc cao. H thng diu hnh ban cht cung l mt loai phn mm nhung n khc voiccloai phn mm thngthuong.Su khcbit din hnhlh thngdiu hnh duoc nap v thuc thi du tin khi h thng bt du khoi dng v duoc thuc hin tructip boi b xu l cua h thng. H thng diu hnh duoc vit d phuc vu diu khinb xu l cung nhu cc ti nguyn khc trong h thng boi v n s dam nhim chucnng quan l v lp lich cc qu trnh su dung CPU v cng chia se ti nguyn H thi gian thc13 1.2. H diu hnh thi gian thc so vi h diu hnh trn PC H diu hnh thoi gian thuc (RTOS) cho cc h thng nhng rt khc so voih diu hnh trn my tnh desktop nhu Windows hay UNIX : Thu nht,trnmytnhdesktoph diu hnhs chim quyn diu khinngay sau khi my duoc bt v sau d moi cho chng ta bt du ung dung cua mnh. Chngtabindichvlinkt ccungdungcua mnhtchbit voi h diu hnh. Nguoc lai, trongmt h thng nhng, ung dung thuong xuyn linkt voi RTOS. Tai lc khoi dng, ung dung nhn ly quyn diu khin du tin v sau d n moibt du RTOS. Boi vy ung dung v RTOS phai c mi quan h cht ch hon. Thu hai, rt nhiu RTOS khng bao v chnh ban thnchngmt cchcnthn nhu h diu hnh trn desktop. Thu ba,dtit kim b nho ccRTOSmc dinhchi baogm ccdichvucn thit cho ung dung nhng cua chng ta. Hu ht cc RTOS cho php chng ta cu hnh bao qut truoc khi chng ta lin kt chng voi ung dung. Thu tu, hu ht cc diu hnh trn my desktop quan tm dn hiu nng trung bnh trongkhicch diu hnhthoi gianthuc lai quantmdn ccgioi han,thoi gian dp ung. O trongphn ny,chngtatmhiu khinim tcvu - Tasktrongmi truongRTOSvvn dchiase du liu,semaphores,mailbox,queueNgoira, chng ta cn xem xt vn d truyn thng lin qu trnh, dich vu b dinh thoi, quanl b nho v tuong tc giua cc thu tuc ngt. Cch diu hnhthoi gianthuc nhn manhdn kha nngdu donvcc rngbuc v thoi giandpung.Nichung,h diu hnhthoi gianthuc thuong duoc phn thnh ba kiu lai chnh l: 1.3. D}c dimcua h diu hnh thi gian thcH thi gian thc14 Do cc yu cu kht khe v thoi gian, v vic su dung ti nguyn, v su quan trongcua vic lp lich,ccRTOSdngvaitrrt quantrongtrongphttrin hnhng thoi gian thuc. Chng ging nhu nhung thu vin, chng ta c th dng, thm bot cc dich vu cho ph hop voi ung dung nhng thoi gian thuc d c th pht trinung dung nhng thoi gian thuc mt cchnhanh hon, tin tuong hon. Vvy su tntai cua cc RTOS l rt cn thit v quan trong. Truoc khi xem xt cc dich vu cua h diu hnh thoi gian thuc xc dinh, ta cn bitnhu th no d c th dnh gi dy l h diu hnh thoi gian thuc tt, ph hop voicc ung dung nhng thoi gian thuc cua ta. Theo FQA cho comp.realtime: Mt RTOS tt chi khi c mt nhn tt. Mt RTOS tt s c mt ti liu tt v duocphn pht cng cc cng cu tt d pht trin v vn hnh ung dung cua chng ta. V vy, cc tnh ton v khoang thoi gian ngt v thoi gian chuyn mach ngu canh l rt quan trong, cng voi cc thng s khc lm nn mt RTOS tt. Cho v du, mtRTOS h tro nhiu dich vu c nhiu thun loi hon mt RTOS don gian. Thm vo d, c nhung dc ta chnh xc l rt quan trong d nhn ra RTOS tt. Theo comp.realtime th cc nh san xut RTOS nn chi r cc yu t:1. Khoang thoi gian tr ngt - Interrupt Latency: l khoang thoi gian tu lc ngttoi lc chay tc vu. Khoang thoi gian ny phai tuong thch voi cc di hoi cua ung dungvphai du donduoc.Ccgitri nyphu thuc trns luongcua ccngtdng thoi cho doi. 2. Cho mi loi goi h thng, thoi gian ti da duoc bit truoc. N s c th don v khng phu thuc vo s luong cc di tuong trong h thng. 3. Thoi gian cuc dai cua RTOS v diu khin cc mt na ngt. 4. Cc muc ngt h thng. 5. Trnh thit bi diu khin cc ngt (IRQ: Interrupt ReQuest), thoi gian cuc daicua h thng m trnh thit bi diu khin ngt thuc hin. H diu hnhthoi gianthuc tuongtu nhu mt h diu hnhda muc dchvcung cp cc chuc nng nhu:+ Giao tip voi phn cung o lop duoi+ Lp lich v xu l uu tin + Quan l b nho+ Cc dich vu vo ra + H tro su lua chon b vi xu l + Tnh kha chuyn toi cc b vi xu l khc + Tnh mm deo d ph hop voi cc yu cu ung dung khc nhau + H tro b da vi xu l + Mo rng cc dich vu nhu h tro mang H thi gian thc15 Theo nhung tiu chun POSIX - Mt khuynh huong gip nhung nh thit kdi chuyn tu h diu hnh thoi gian thuc ny toi h diu hnh thoi gian thuc khc. Dc bit,bt cu RTOSnotuntheochun POSIXdu chiase mt chun API (giaodin lp trnhungdung).LynxOSlmt RTOStuntheody duchunPOSIX Mt RTOSthuongctnhmm deo vctnhcu trc.Nchophptch hop thm cc dich vu gia tng theo vng trn dng tm. Vng trong cng hay nhn cung cp nhung dc tnh quan trong nht cua h diu hnh thoi gian thuc. Cc dcdim khc c th duoc thmvo nhu mt vng ngoi khicn thit. Nhnnho cuamt RTOS thch hop cho mt ung dung b xu l nho, trong khi nhung vng ngoi c th gip d xy dung h thng thoi gian thuc lon. Cc RTOS thuong cungcpcc muc xu l uu tin. Cc cng vic uu tin cao hon s duoc thuc hin truoc. Cc RTOS thch hop voi cc yu cu cua h thng nhng. N cung cp khoidng tu ROM, cho nhung h thng khng c bt cu dia luu tru no, nhu vy giammt cch dng k thoi gian khoi dng cua h thng. Mt vivdu cua cch diu hnhthoi gianthuc l:VxWorks,QNX,LynxOS, COS, RTX-51 1.4. Phn loi h diu hnh thi gian thc+ H diu hnh thoi gian thuc nho voi muc dch thuong mai. + H diu hnh thoi gian thuc mo rng toi UNIX v cc h diu hnh khc. + Cc nhn cho muc dch nghin cuu. 4.1. H diu hnh thoi gian thuc nho voi muc dch thuong maiCch diu hnhnythuongnho vnhanh.Nhu: QNX,PDOS,pSOS, VxWorks,Nulceus,ERCOS,EMERALDS,WindowsCE,chngcccdc dimsau: + C thoi gian chuyn ngu canh v thoi gian dp ung nhanh. + Kch thuoc rt nho.+ Khng c b nho ao v c th c dinh m, du liu trong b nho.+ H thng da tc vu v chun giao tip lin qu trnh. Cc mailbox, cc su kin, cc tn hiu v cc dn bo duoc dinh nghia tt. Nhungh diu hnhnythuongcccdc ta tt vccccngcu tt d phttrin ccungdungnhngthoi gianthuc.Nh tro ccrngbuc thoi gian thuc voi cc dich vu nhu:+ Cc gioi han thoi gian thuc hin. + Dng h thoi gian thuc. + Lp lich thu tu uu tin. + Canh bo dc bit v thoi gian qu han (timeout). + H tro cc hng doi thoi gian thuc. + Cung cp vic xu l d tr, treo hay kch hoat vic thuc hin. H thi gian thc16 4.2. H diu hnh thoi gian thuc mo rong toi Unix v cc h diu hnh khc Cc h diu hnh ny nhu: RT-UNIX, RT-LINUX, RT-MACH, RT-POSIX. Chng chm hon v c kha nng du don t hon so voi cc h diu hnh thoi gian thuc thuongmai o trnnhungchnglai cnhiu chuc nngvmitruongpht trin tt hon dua trn tp cc giao tip chun v thn thin. 4.3. Cc nhn cho muc dch nghin cuuCc h diu hnh ny c cc dc dim sau: + H tro cc thut ton lp lich thoi gian thuc v vic phn tch thoi gian. + H tro cc dich vu co ban d dng b thoi gian thuc. + Nhn manh kha nng du don hon l hiu nng trung bnh. + H tro cho kha nng chiu li. V du nhu: Spring, MARS, HARTOS, MARUTI, ARTS, CHAOS, DARK. 2.T chc v kin trc h diu hnh thi gian thc2.1. Tng quanNhu chng ta d duoc bit di voi cc h thng thoi gian thuc, yu cu thitk mt h diu hnhkhdc bit.H nhngthoi gianthuc lai yucu hdiu hnhphai thuc hin voi mt ngun ti nguyn thuong rt han hp. Mc d kch thuoc b nho tch hop onchip s c th tng ln trong tuong lai nhung voi suphttrin hin nayh diu hnhchocch nhngchi nnc khoangnho hon 32 Kbytes. H thng diu hnh dam nhim vic diu khin cc chuc nng co ban cua hthng bao gm chu yu l quan l b nho, ngoai vi v vo ra giao tip voi h thng phn cung.Mtdim khcbit co ban nhu chngtad bit v h diuhnhvoi ccphn mm khc l n thuc hin chuc nng diu khin su kin thucthi trong h thng. Cnghia l nthuc hin cctc vu theo mnh lnhyu cu tucc chuong trnh ung dung, thit bi vo ra v cc su kin ngt. H thi gian thc17 Bn nhn t chnh tc dng truc tip toi qu trnh thit k h diu hnh l : (1) kha nng thuc hin, (2) nng luong tiu thu(3) gi thnh (4) kha nng tuong thch. Hin nay chngtacungcth bt gp rt nhiu h diu hnhkhcnhaudc bit chocch nhng cung v su tc dng cua 4 nhn t nu trn. Huht chng du c kiu dang v giaodin khgingnhaunhungco ch quan lvthuc thicctcvu bntrongrt khcnhau.Mi h diu hnhduoc thitk phuc vu truc tip ccchuc nngdc th phn cung cua h nhng v khng d dng so snh duoc giua chng voi nhau. 2.2. Cc kin trch diu hnh Haithnhphn chnhtrongthit k h diu hnhl:phn hat nhn(kernel)vcc chuong trnh h thng.Hat nhnchnhlphn licua h diu hnh.Nduoc su dungdphuc vucho cc b quan l qu trnh, b lp lich b quan l ti nguyn v b quan lvora.Phn hat nhndam nhim chuc nnglp lich,dngb vbao v hthng boi vic su dung sai, xu l ngtChuc nng diu khin chnh cua n l phucvu diu khin phn cung bao gm ngt, cc thanh ghi diu khin, cc tu trang thi v cc b dinh thoi gian. N nap cc phn mm diu khin thit bi d cung cp cc tin ch chung v phi hop voi cc hoat dng vo ra voi h thng. Phn hat nhn c vai tr diu khin rt quan trong d dam bao tt ca cc phn cua h thng c th lm vic n dinh v thng nht. Hai kin trc thit k phn hat nhn kinh din nht l kin trc vi hat nhn v don hat nhn (monolithic). Vi ht nhn :Cc vi hat nhn cung cp cc chuc nng diu hnh co ban ct li (th) theo co ch cc module tuong di dc lp dam nhim cc tc vu cu th v chuyn roi rtnhiu ccdichvu din hnhdiu hnhh thngthuc thitrongkhnggiannguoi su dung. Nho co ch ny m cc dich vu c th duoc khoi tao hoc cu hnh lai mkhngnht thit phai khoi tao lai tonb h thng.Kin trcvihat nhn cung cp d an ton cao boi v dich vu h thng chay o tng nguoi su dung voi hanch v truy nhp vo ti nguyn cua h thng v c th duoc gim st. Kin trc vi hat nhncth duoc xydungmt cchmm deo dphhop voi cu hnhphncung khc nhau mt cch llinh hoat hon sovoi kiu kin trc hat nhn monilithic. Tuy nhin do tnh dc lp tuong di giua cc modul trong vi hat nhn nn cn thitphai c mt co ch trao di thng tin hay truyn thng giua cc modul d v vy c th lldolmchm tc dvgiam tnhhiu qua hoat dngcua h thng.Dcdim ni bt v ct li cua kin trc vi hat nhn l kch thuoc nho v d dng suadi cung nhu xy dung linh hoat hon. Cc dich vu thuc thi o tng trn cua hat nhn vvy dat duoc dantoncao.Kin trcvihat nhnduoc phttrin manhmtrongcch thngda xu lvdu nhu Windows2000,Machv QNX. H thi gian thc18 Don ht nhn: Kiu kin trc monolithic cung cp tt ca chuc nng/dich vu chnh yu thng qua mt qua trnh xu l don le. Chnh vvy kch thuoc cua chng thuong lon honkiu kin trcvihat nhn.Loai hnhkin trcnythuongduoc pdungchu yucho cc phn cung cu th m hat nhn monolithic c su tuong tc truc tip voi phncung nho vy m kha nng ti uu cung d dng hon so voi p dung kiu kin trc vi hat nhn. Chnh v vy cung l l do tai sao kin trc monolithic khng th thay dimm deo linh hoat nhu kiu vi hat nhn.Vdu din hnh v loai hnhkin trc hat nhn monolithic bao gm Linux, MacOS, v DOS. Vh diu hnhcungdihoi v tinguynvkimca chuc nngquan l chng v vy nguoi thit k cn phai nm duoc thng tin v chng mt cch dy du.2.3. Ht nhn h diu hnh thi gian thcH thng diu hnh voi phn li l hat nhn phai dam nhim cc tc vu chnh nhu sau: Xu l ngt Luu tru ngu canh chuong trnh tai thoi dim xut hin ngt Nhn dang v lua chon dng b xu l v phuc vu dich vu ngt Diu khin qu trnh Tao v kt thc qu trnh/tc vu Lp lich v diu phi hoat dng h thng Dinh thoi Diu khin ngoai vi Xu l ngt Khoi tao giao tip vo ra Ty theo co ch thuc hin v xy dung hoat dng cua hat nhn nguoi ta phn loai mt s loai hnh (1)H thong thoi gian thuc nho:H thi gian thc19 Voi loai ny cc phn mm duoc pht trin m khng cn c h diu hnh, nguoilp trnh phai tu quan l v xu l cc vn d v diu khin h thng bao gm: Xu l ngt Diu khin qu trnh/ tc vu Quan l b nho(2) Cng ngh da nhim Mi qu trnh c mt khng gian b nho ring Cc qu trnh phai duoc chia nho thnh cc Thread cng chia se khng gian b nho.(3) Cc dich vu cung cap boi hat nhn Tao v kt thc qu trnh/ tc vu Truyn thng giua cc qu trnh Cc dich vu v dinh thoi gian Mt s cc dich vu cung cp h tro vic thuc thi lin quan dn diu khin hhng Hat nhn din hnh co ban Loai hat nhn don gian nht l mt vng lp v han thm d cc su kin xuthin trong h thng v phan ung lai theo su thay di nu c. Voi mt b xu l cu hnh nho nht, khng phai lc no n cung c th luuct ngu canh v khng th thay di con tro ngn xp hoc vng ngn xp rthan ch. Thay v su dung cc thanhghithit bi, vng lp thm d c th gim st cc bin m chiu su thay di cp nht boi cc b xu l ngt. Hat nhn c th duoc xy dung sao cho tt ca cc tn hiu logic duoc diukhin boi vng lp v nhip duoc diu khin boi cc ngt. Cc tc vu lon cn nhiu thoi gian thuc hin c th duoc chia nho thnh cc tc vu nho v duoc thuc hin tai cc thoi dim khc nhau nho vo co chchuyn v su dung b dm. Cchat nhnthuc thitheoco ch ngt rt gingvoi loai hat nhnthuc hin theo co ch vng lp thm d. N xu l tt ca cc tc vu thng qua cc dich vu ngt. Cc hat nhn lon v phuc tap hon s bao gm mt s cc dich vu phu phucvu cho vic truyn thng giua cc qu trnh. V nu duoc b sung dy du n s tro thnh mt h diu hnh dy du.Cc kiu loai hat nhn co ban Hat nhn thuc hin vng lp thm d Hat nhn thuc hin theo co ch ngt Hat nhn qu trnh vn hnh qu trnh H thi gian thc20 Vic lua chon loai hat nhnnohontontythuc voccb xulvkchthuoc phn mm, tuy nhin ring loai hat nhn vn hnh theo qutrnh khng ph hop voi cc b xu l nho.Ht nhn qu trnh Cc hat nhn qu trnh r rng l phuc tap hon cc hat nhn thuc hin theo co ch thm d v diu khin ngt. Cc duong truyn tn hiu logic bn trong cc qu trnh v cc dich vu ngt duoc tch hop v thuc hin thng qua vic truyn duliu. Hat nhn s phai dam nhim chuc nng lp lich cho cc qu trnh theo dng m hnh trang thi. RUN: qu trnh duoc thuc hin WAIT: cc qu trnh cho mt su kin hoc tn hiu vo ra kch hoat qu trnh READY: cc qu trnh sn sng duoc thuc hinCc phn tu thuc tnh cua mt qu trnh: Cc phn tu ny cn thit d phuc vu cho vic lp lich. V du di voi co ch lp lich theo muc d uu tin s yu cu thng tin sau voi mi qu trnh: Tn (dia chi b nho cua phn tu qu trnh) Trang thi: RUN, WAIT, READY Muc d uu tin Ngu canh (dng con tro d quan l luu ct thng tin trong ngn xp) 3. Cc d|ch v co ban3.1. Tc vu v cc trang thi tc vuXy dung cc khi co ban cua phn mm duoi RTOS l tc vu - Task. Victao ra cc tc vu duoi RTOS l rt don gian. Mt tc vu don gian chi l mt thu tuccon. Tai mt s dim trong chuong trnh, chng ta thuc hin mt hoc nhiu loi goitoi mt hm trong RTOS d bt du cc tc vu. Mi tc vu trong RTOS lun lun omt trong ba trang thi chnh: 1.Running:Voi nghia b xu ldangthuc hin tcvu. Voi mt b xu lth chng ta chi chay mt tc vu tai mt thoi dim nht dinh. 2. Ready: Voi nghia mt s tc vu khc sn sng chay nu b xu l ri. 3.Blocked:Voi nghia tcvu khngsn sngchay k ca khib xu ltrong trangthinghi - Idle.Tcvu o trongtrangthinyvchngdoi mt su kin bn ngoi tc dng d kch hoat n tro lai trang thi sn sng. H thi gian thc21 3.2. Bo lap lich Mt phn cua RTOS duoc goi l b lp lich, luu vt cctrang thi cua mitc vu v quyt dinh mt tc vu duy nht s di vo trang thi Running. Khng ging nhu b lp lichtrongWindowshayUNIX,b lp lichtronghu ht ccRTOSl kh don gian: Chng nhn vo muc uu tin duoc gn toi mi tc vu v giua nhung tc vu dang sn sng mt tc vu c muc uu tin cao nht s duoc thuc hin. B lplich s phuc vu tc vu no c muc uu tin cao hon trong khi cc tc vu uu tin thphon s doi cho dn khi giai phng b xu l khoi tc vu uu tin cao hon. B lp lich gip chng ta bit tc vu no phai lm truoc khi chng ta thit lp thu tu uu tin. D b lp lich bit duoc tc vu no kho v sn sng th RTOS cung cp mttp cc hm m tc vu c th goi d b lp lich nhn bit duoc cc su kin m cc tc vu ny dang doi tn hiu d su kin xay ra d. Nu tt ca tc vu du bi kho, khng th cho duoc tn hiu no lm cho cc tc vu tro lai trang thi sn sngbn trong hay bn ngoi RTOS th ta ni rng hthng cua chng ta bi hong, phn mm chng ta thit k bi li. Nu hai tc vu cng muc uu tinsn sng,thnphu thuc vocchxu lcua RTOSmchngtasudung. t nht mt h thng giai quyt vn d ny l vic khng bao gio cho php hai tcvu ccngmuc uu tin,mt s khcsu dungphnchiathoi gian(time-slice) giua cc tc vu d, mt s khc lai chay mt tc vu bt ky cho dn khi n bi kho. Nu mt tcvu dangchay,cmt tcvu khcuu tincaohon duoc kch hoat th RTOS s dung tc vu dang chay v s chay tc vu uu tin cao hon kia. Tc vu c muc uu tin thp hon s kho. 3.3. Tc vu v d liuMi tc vu c mt ngu canh ring, bao gm gi tri thanh ghi, b dm chuong trnh v mt stack. Tt ca nhung du liu khc duoc chia se giua cc tc vu.Khichngtasu dungbin chiase du liu giua cctcvu, diu d rt d dngd chuyn du liu tu tc vu ny toi tc vu khc: hai tc vu cn phai truy nhp toi cng bin.Tuynhin,vn dchiase du liu rt d dn toi vic khngnht quntrong chuongtrnhvcth gysup dh thngcua chngta,vvy cn cccbinphp trong RTOS d giai quyt vn d ny. 3.4. n bo v chia se d liu (Semaphore) Semaphore c th giai quyt vn d trong chia se du liu. Khi d chi c mttc vu c th nm quyn su dung dn bo tai mt thoi dim. Cc tc vu khc d c uu tin cao hon vn phai cho dn khi giai phng dn bo v vy m dn bo c thngn chn vic chia se du liu dn dn li. Dn bo c hai hm lin quan l take v release. Hm take nm ly quyn su dung dn bo tai thoi gian d v hm release l hm giai phng dn bo sau khi su dung xong. Chng ta c th su dung dn bo nhu tn hiu d giao tip giua cc tc vu voinhau hoc giua hm ngt v tc vu.Tuydnbokhngth giai quyt moi vn dv chiase du liu nhunghthngcua chngtacth lmvic tt hon,tthoi gianhon khichngtasu dung H thi gian thc22 dn bo. Vn d o dy l dn bo chi lm vic tt khi chng ta su dung chng dng dn. Nhung trong thuc t th chng ta gp phai mt s vn d nhu:- Qun ly quyn su dung dn bo truoc khi su dung. - Qun giai phng dn bo khi su dung xong, diu d c th gy ra treo chuong trnh cua chng ta. - Nm ly quyn su dungdnboli.Nu chngtadangsu dungnhiu dn bo,thvic ly quyn su dungdnbocnphu thuc voccdnbokhc,di khi chng ta qun nn gy ra li rt lon. - Giu mt dn bo trong thoi gian qu lu. Vn d ny c th vi pham thoi gian dp ung trong h thng nhng thoi gian thuc cua chng ta. Mt vn d duoc goi l thu tu uu tin dao nguoc (Priority Inversion), nu tc vu C c muc uu tin thp dang giu dn bo v phai nhuong quyn su dung b xu l cho tc vu B c quyn uu tin trung bnh. V mt tc vu c quyn uu tin cao l A mun su dung dn bo m C dang nm giu, nhung C khng th giai phng cho dnkhi n chim quyn su dung b xu l. Mt s RTOS giai quyt vn d nybng cch k thua muc uu tin, chng tam thoi nng muc uu tin tc vu C d chay v giai phng dn bo cho tc vu A. 4. Cc d|ch v mo rng cua RTOS thuong mi4.1. Message Queues, Mailboxes v Piles a. Hng doi - Queue Cc tc vu phai c kha nng giao tip voi nhau d kt hop cc hoat dng v dchiase du liu.Hu ht RTOSkt hop cua mt s dichvu nhu: hngccdoithng dip, ccmailboxe, ccpipe chomuc dch ny. Tnh nng xc dinh cua cc dich vu ny phu thuc vo RTOS, chng ta phai doc huong dn m RTOS d duara. Hu ht RTOS yu cu chng ta phai khoi tao hng doi truoc khi chng ta sudungchngbngvic goi hmcungcp chomuc dchny.Mt s h thngcho php chng ta cp pht b nho m RTOS s quan l nhu mt hng doi. Hu ht cc RTOS cho php ta su dung nhiu hng doi nu chng ta mun. Chng ta thm mt s thng s d dinh danh hng doi v tu d chng ta c th doc, ghi vo hng doi d. Nu chng ta c ghi vo hng doi khi n d dy, RTOS s tra lai mt thng bo li d chng ta bit hoat dng d bi hong hoc l hoat dng d phai bi kho cho dn khi c mt tc vu doc du liu khoi hng doi.Rt nhiu RTOSsu dungmt hmddoc tu mt hngdoi nu cdu liutrong hng doi vs tra ramt li nu hngdoi rng. V hmnys o trang thi kho (block) nu hng doi rng. S bytedu liu mRTOSghivohngdoi trongmt loi goi cth khng chnh xc voi s byte du liu chng ta mun ghi. Rt nhiu RTOS khng mm deov vn d ny nhung c mt s RTOS cho php chng ta ghi ln mt hng doi trong mt ln goi s luong byte mang dn bng mt con tro hm. b. Mailbox H thi gian thc23 Ni chung,mailbox l ging hng doi.Mc dinh RTOS c cchmd tao, doc v ghi vo mailbox v c l cc hm ny s kim tra xem mailbox c chua duochaykhngbt ky mt thngdip no.Khimailboxkhngcn thit nua thnsduoc hu dgiai phngb nho. TrongccRTOSthmailboxcnhungdc dimring: + Mt s RTOS cho php chnh xc s luong thng dip trong mi mailbox, con s nychngtacth chon khitao mailbox,mt s khcthchi chophpmtthngdip trongmt mailboxtai mt thoi dim.Mt thngdip duoc ghitoimailbox, mailbox s dy khi d cc thng dip khc chi c th ghi toi mailbox khi thng dip du duoc doc. + Trong mt s RTOS, s luong cua thng dip trong mi mailbox l khng bi gioihan.Chi cmt gioi han ltngs thngdip trongtt ca ccmailboxtronghthng. + Trong mt s RTOS, chng ta c th uu tin cc thng dip trong mailbox. Cc thngdip uu tincaohon s duoc doc truoc ccthngdip cuu tinthp hon, khng phu thuc vo thu tu chng duoc ghi vo mailbox. c. Pipe Ccpipecungrt ginghngdoi.RTOScth tao chng,ghilnchng, doc tu chng Nhung trong mi RTOS chng cung c nhung dc dim ring: + Mt s RTOSchophpchngtaghithngdip voi ddituy lntrnpipe (khng ging nhu mailbox v queue d di thng dip l c dinh). + Pipe trong mt s RTOS l ton b huong byte: Nu task A ghi 11 byte toi pipe v sau d task B ghi 19 byte toi pipe, sau d nu task C doc 14 byte tu pipe, n snhn duoc 11 byte cua task A d ghi cng voi 3 byte du tin m task B d ghi. +Mt s RTOS su dung hm thu vin chun C l fread v fwrite d doc v ghi toi pipe. d. Su dung queue, mailbox, pipe Mc d queue, mailbox, pipe c th lm vn d chia se du liu giua cc tc vu tro ln d dng hon nhung n cung rt d gy ra li trong h thng cua chng ta. Dy l mt s kinh nghim khi su dung chng: + Hu ht RTOS khng gioi han tc vu no c th doc, ghivoqueue,mailbox, pipevvy chngtaphai dam bao rngcctcvu duoc su dunglchnhxctaimi thoi dim. + RTOS khng dam bao rng du liu duoc ghi vo trong queue, mailbox, pipe sdng voi tc vu doc n. V du mt tc vu ghi vo mt s nguyn v tc vu khc docv coi n mt con tro.+ Chay rangoikhnggianqueue,mailboxhoc pipes gyramt su phhutrong phn mm nhng. + Chuyn con tro tu mt tc vu ny toi tc vu khc thng qua mt queue, mailbox hoc pipe l cch d tao ra chia se du liu. Chng ta trnh dng hm malloc v free. 4.2. Chuc nng bo dinh thoi (Timer Functions) H thi gian thc24 Hu ht ccRTOS du duytr nhip dp cua b dinh thoi.B dinh thoi ny ngt mt cchdinhky vduoc su dungchoccdichvu thoi giancua RTOS. Khoangthoi giangiua ccngt duoc goi lmt don vi thoi giancua h thng (System Tick). Hu ht cc RTOS thuong su dung dich vu thoi gian d:+ Mt tc vu c th kho chnh ban thn n sau mt s don vi thoi gian xc dinh. + Mt tc vu s bi gioi han bao nhiu don vi thoi gian cua h thng khi n doi mtdn bo, hng doi... + Chuongtrnhcua chngtacth diu khin RTOSgoi mt hmxcdinhsau mt s don vi thoi gian cua h thng. 4.3. Cc su kin - Event Mt dichvu khccua RTOSdua ralquan lccsu kin bntronghthng. Mi su kin co ban l mt co boolean m cc tc vu c th thit lp, thit lplai vcth ccctcvu khcnhaucngdoi n.Mt s dc dim cua su kintrong cc RTOS l: + Nhiu hon mt tcvu cth cngbi khodoi chomt su kin,RTOSs giaiphng tt ca chng v thuc hin chng theo thu tu uu tin khi su kin xay ra. + RTOS mc dinh hnh thnh mt nhm cc su kin v cc tc vu doi cho bt kytp con no cua nhm su kin xay ra. + Cch diu hnhthoi gianthuc khcnhaudua racccchkhcnhaudthitlp lai mt su kin sau khi n d xay ra v cc tc vu doi su kin d s duoc giaiphng. Mt s RTOS thit lp lai cc su kin mt cch tu dng, mt s khc di hoicc tc vu phn mm cua chng ta phai tu lm. Chngtasu dungccqueue,mailbox,pipe,semaphore,vccsu kin chovicgiao tip giua 2 tc vu hoc giua mt ngt v mt tc vu. Nhung chng c mt sdc dim ring: + Semaphore l phuong thuc nhanh nht v don gian nht. Tuy nhin, khng nhiuthng tin c th thng qua mt semaphore. Chi mt bit thng dip duoc chuyn d thng bo semaphore duoc giai phng. + Su kin l t phuc tap hon semaphore nhung lai tiu tn nhiu thoi gian b xu l hon semaphore. Su dung cc su kin thun loi hon semaphore o ch: mt tc vu doimt hay nhiu su kin trong cng thoi gian trong khi n chi doi mt semaphore.+ Hng doi cho php chng ta gui mt s luong lon thng tin tu tc vu ny toi tc vu khc. Cho d tc vu chi doi trn mt hng doi tai mt thoi dim nhung su tht l chngchophpchngtacth gui du liu thngquamt hngdoi lmnlinh hoat hon mt su kin.Su bt loi lkhidoc vghithngdip s chim nhiu thoigian b xu l v rt d mc phai li trong chuong trnh cua chng ta. Mailboxe v pipe c cng dc dim voi queue. 4.4. Cc hm ngt trong mi truong RTOS Cc hm ngt trong hu ht cc mi truong RTOS phai tun theo hai quy tc, diu ny khng p dung cho m cua tc vu:Quy tc 1: Mt hm ngt khng duoc goi bt ky hm RTOS no m nhung hm d c th kho loi goi. Boi vy thu tuc ngt khng su dung dn bo, khng doctu cc hng doi hoc mailbox khi cc hng doi v mailbox rng, khng doi cc suH thi gian thc25 kin... Nu hm ngt goi mt hm RTOS v bi kho, th tc vu dang chay khi ngtxay ra s mi bi kho, thm ch tc vu ny c quyn uu tin cao nht. Ngoi ra, huht cc hm ngt phai chay d hon thnh vic thit lp lai phn cung d sn sng cho ngt tip theo. Quy tc 2: Mt hm ngt c th khng goi bt ky hm RTOS no nhung hm cth gyrachoRTOSchuyn toi chay cctcvu tru khiRTOSbit d lmthmngt vkhnglmt tcvu tronglcdangthuc hin hmngt.Nu thu tucngt phv quytc nythRTOScth chuyn vic diu khin tu hmngt toichay mt tc vu khc, v hm ngt c th khng hon thnh sau mt thoi gian di, v vy kho tt ca cc ngt c muc uu tin thp hon v c th l tt ca cc ngt khc. 5. Gii thiu mt s h diu hnh thi gian thc5.1. RTX51-Real Time Operating System RTX51lmt h diu hnhthoi gianthuc da tcvu choho vidiu khin8051. RTX51 l mt h thng don gian duoc thit k cho cc phn mm c d phuctap v c gioi han chnh xc v thoi gian dp ung. RTX51 c cc cng cu rt manh d quan l cc tc vu. C hai phin ban cua RTX51: RTX51 Full cho php thuc hin ca chuyn mach xoay vng v chuyn tc vuvoi 4 muc uu tin,cth hoat dngcngvoi cchmngt mt cchsongsong. RTX51 chuyn cc tn hiu, chuyn cc thng dip su dung mt h thng mailbox vccsemaphore.Hmos_waitcua RTX51cth doi choccsu kin:ngt, timeout, thng dip tu tc vu hoc ngt, semaphore. RTX51 Tiny l mt tp con cua RTX51 Full. RTX51 Tiny d dng chay trn mt chipkhngc b nho du liu ngoi.Tuynhin chuong trnhsu dung RTX51 Tinycth truynhp su dungb nho ngoi.RTX51Tinychophpchuyn mach xoay vng giua cc tc vu, h tro chuyn cc thng dip v c th hoat dng cng voi cc hm ngt mt cch song song. Hm os_wait cua RTX51 c th doi cho cc su kin: timeout, tn hiu tu tc vu hoc ngt. So snh RTX Full v RTX Tiny M ta RTX51 FullRTX51 Tiny S tc vu 256,cuc dai 19tcvu hoatdng 16 RAM yu cu 40..60 byte DATA 20..200 byte IDATA cuc tiu 650 byte XDATA 7 byte DATA 3*(S tc vu) IDATA M yu cu 6KB8KB900 byte Phn cungdi hoiTimer 0 hoc Timer 1Timer 0 Dngh h 100040000 chu ky 100065535 chu kyH thi gian thc26 thng Thoi giantrngt