he thong thoi gian thuc
TRANSCRIPT
-
7/31/2019 He Thong Thoi Gian Thuc
1/19
H thi gian thc
TRNG I HC DUY TN
H IU HNH THI GIANTHC
REAL-TIME SYSTEMS
1
-
7/31/2019 He Thong Thoi Gian Thuc
2/19
H thi gian thc
I. Gii thiu chng
Gii thiu khi nim v h iu hnh
So sch s khc bit gia h iu hnh chung v h iu hnh thi gian thc
c im v chc nng ca h iu hnh thi gian thc
Phn loi h iu hnh thi gian thc
Gii thiu t chc v kin trc h iu hnh thi gian thc
Gii thiu cc dch v c bn ca h iu hnh thi gian thc
Gii thiu cc dch v m rng ca h iu hnh thi gian thc
Gii thiu mt s h iu hnh thi gian thc tiu biu
1. Tng quan v h iu hnh thi gian thc
1.1H iu hnh
H iu hnh (gi chung) l mt phn mm chy trn h thng my tnh
hoc chy trn h thng iu khin chung, dng iu hnh, qun l cc thit b
phn cng v cc ti nguyn phn mm trn h thng. H iu hnh ng vai tr
trung gian trong vic giao tip gia ngi s dng vphn cng h thng, cung cp
mt mi trng cho php ngi s dng pht trin v thc hin cc ng dng ca
h mt cch d dng.
Mt h iu hnh my tnh l mt phn mm c thit k chy cc
chng trnh khc trn my tnh. H iu hnh ca mt my tnh l phn mm quantrng nht ca n. N c coi l xng sng ca mt my tnh, qun l c phn
mm v ti nguyn phn cng. H iu hnh chu trch nhim cho tt c mi th t
vic kim sot v phn b b nh, nhn d u vo t cc thit b bn ngoi v
truyn ra mn hnh my tnh. N cng qun l cc tp tin trn a cng my tnh
v cc thit b ngoi vi kim sot, nh my in v my qut.
H iu hnh ca mt h thng my tnh ln c rt nhiu cng vic lm.
H iu hnh ny theo di cc chng trnh khc nhau v ngi s dng, m bo
tt c mi th chy tt, m khng c s can thip, mc d thc t l rt nhiu thitb v cc chng trnh c s dng cng mt lc. Mt h iu hnh cng c mt
vai tr quan trng trong an ninh. Cng vic ca n bao gm ngn cn ngi dng
tri php truy cp vo h thng my tnh.
H iu hnh ngy nay c xu hng thit lp giao din ngi dng ha
(GUI). Cc h iu hnh thng dng cho my tnh c nhn l Microsoft Windows,
2
http://vi.wikipedia.org/wiki/Ph%E1%BA%A7n_m%E1%BB%81mhttp://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/w/index.php?title=Thi%E1%BA%BFt_b%E1%BB%8B_ph%E1%BA%A7n_c%E1%BB%A9ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Thi%E1%BA%BFt_b%E1%BB%8B_ph%E1%BA%A7n_c%E1%BB%A9ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=T%C3%A0i_nguy%C3%AAn_ph%E1%BA%A7n_m%E1%BB%81m&action=edit&redlink=1http://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/w/index.php?title=Ng%C6%B0%E1%BB%9Di_s%E1%BB%AD_d%E1%BB%A5ng&action=edit&redlink=1http://vi.wikipedia.org/wiki/Ph%E1%BA%A7n_c%E1%BB%A9ng_m%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/wiki/M%C3%B4i_tr%C6%B0%E1%BB%9Dnghttp://vi.wikipedia.org/wiki/%E1%BB%A8ng_d%E1%BB%A5nghttp://vi.wikipedia.org/wiki/Ph%E1%BA%A7n_m%E1%BB%81mhttp://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/w/index.php?title=Thi%E1%BA%BFt_b%E1%BB%8B_ph%E1%BA%A7n_c%E1%BB%A9ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=Thi%E1%BA%BFt_b%E1%BB%8B_ph%E1%BA%A7n_c%E1%BB%A9ng&action=edit&redlink=1http://vi.wikipedia.org/w/index.php?title=T%C3%A0i_nguy%C3%AAn_ph%E1%BA%A7n_m%E1%BB%81m&action=edit&redlink=1http://vi.wikipedia.org/wiki/M%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/w/index.php?title=Ng%C6%B0%E1%BB%9Di_s%E1%BB%AD_d%E1%BB%A5ng&action=edit&redlink=1http://vi.wikipedia.org/wiki/Ph%E1%BA%A7n_c%E1%BB%A9ng_m%C3%A1y_t%C3%ADnhhttp://vi.wikipedia.org/wiki/M%C3%B4i_tr%C6%B0%E1%BB%9Dnghttp://vi.wikipedia.org/wiki/%E1%BB%A8ng_d%E1%BB%A5ng -
7/31/2019 He Thong Thoi Gian Thuc
3/19
H thi gian thc
Linux v cc bin th Unix. Ring i vi my tnh Macintosh, cc h iu hnh
Mac OS X, Linux, BSD v mt s phin bn Windows c s dng ph bin.
H iu hnh c nhiu loi. C h iu hnh a ngi dng, h iu hnh a
x l, h iu hnh a nhim, h iu hnh a lung v h iu hnh thi gian thc.
Mt h iu hnh a ngi dng cho php nhiu ngi dng chy ccchng trnh cng mt lc. y l loi h iu hnh c th c s dng bi
mt vi ngi hoc hng trm trong s h. Trong thc t, c mt s h iu
hnh c s dng cho php hng ngn ngi chy chng trnh cng
mt lc.
Mt h thng iu hnh a x l cho php mt chng trnh chy trn
nhiu hn mt n v x l trung tm (CPU) ti mt thi im. iu ny c
th rt tin dng trong mt s mi trng lm vic, ti trng hc v ngay c
i vi mt s tnh hung vi cc my tnh ti nh. H thng iu hnh a nhim c khc mt cht, n c th chy nhiu hn
mt chng trnh ti mt thi im.
H iu hnh a lung c khc nhau hn, cho php cc b phn khc nhau
ca mt trong nhng chng trnh c s dng ng thi.
H iu hnh thi gian thc c thit k cho php cc my tnh x l
v p ng vi u vo ngay lp tc. Thng thng, mc ch chung h iu
hnh, chng hn nh h iu hnh a (DOS), khng c coi l thi gian
thc, v h c th cn giy pht p ng vi u vo. H iu hnh thigian thc thng c s dng khi my tnh phi phn ng vi thng tin u
vo mt cch ph hp m khng c s chm tr. V d, h iu hnh thi
gian thc c th c s dng trong cng vic iu khin t ng ha.
1.2 H iu hnh thi gian thc (RTOS) v h iu hnh trn PC (PCOS)
S khc bit chnh gia cc h thng iu hnh chung my tnh v h iu
hnh thi gian thc chnh l s cn thit ca yu t thi gian "xc nh" trong cc
h thng iu hnh thi gian thc. Thi gian "xc nh" c ngha l dch v ca h
iu hnh tiu th mt lng thi gian bit trc hoc thi gian mong mun. V lthuyt, nhng khong thi gian dch v c th c din t bng cng thc ton
hc. Nhng cng thc ny phi c tnh i s ng n v khng bao gm cc
thnh phn thi gian ngu nhin bt k. Cc yu t ngu nhin trong thi gian dch
v c th gy ra s chm tr ngu nhin trong cc phn mm ng dng v sau c
3
-
7/31/2019 He Thong Thoi Gian Thuc
4/19
H thi gian thc
th lm cho cc ng dng ny khng t c thi hn thi gian thc y l mt
kch bn r rng khng th chp nhn c cho mt h thng nhng thi gian thc.
H iu hnh chung ca my tnh phi thi gian thc thng c tnh thi gian
khng hon ton xc nh. Dch v ca chng c th chm tr ngu nhin trong
phn mm ng dng v do gy ra phn ng chm chp ca mt ng dng vocc thi im khng mong mun. Nu yu cu m t mt h thng iu hnh phi
thi gian thc vi cng thc i s vi hnh vi thi gian ca mt trong nhng dch
v ca n (chng hn nh gi mt tin nhn t tc v ny cho tc v khc), ta s
lun lun khng nhn c mt kt qu tun theo cng thc i s.
Mt khc, i vi hu ht cc dch v ct li, cc h iu hnh a ra thi
gian ti c lp khng i. Ni cch khc, cng thc i s n gin nh sau: T
(message_send) = khng i, khng phn bit di ca tin nhn c gi, hoc
cc yu t khc nh s nhim v, hng i v tin nhn ang c qun l bi ccRTOS.
Cn lu rng thut ng " h iu hnh thi gian thc" bao gm mt
ngha rt rng v cc nh cung cp cc h iu hnh khc nhau p dng nhng thut
ng ny vi ngha khc nhau. Khi la chn mt h iu hnh cho mt tc v c
th, thuc tnh thi gian thc l mt tiu ch khng . Hnh vi xc nh v thi
gian tr xc nh c gi tr ch khi p ng nm trong ranh gii ca vt l ca qu
trnh c kim sot. V d, kim sot mt ng c t trong mt chic xe ua c
yu cu thi gian thc khc vi vn bm vo bn 1.000.000 lt nc thng quamt ng ng ng knh 2 inch.
H iu hnh thi gian thc thng s dng trong cc gii php nhng, lm
nn tng tnh ton trong mt thit b khc. V d cho cc h thng nhng ca cc b
iu khin ng c t trong hoc b iu khin my git v nhiu ng dng khc.
My tnh bn v my tnh c mc ch chung khng phi l h thng nhng.
Trong khi h iu hnh thi gian thc thng c thit k v c s dng vi
cc h thng nhng, hai kha cnh c bn khc bit v c yu cu khc nhau. Mt
h thng iu hnh thi gian thc cho h thng nhng gii quyt c hai yu cu ny.
Ta cng c th m t s khc bit gia h iu hnh thi gian thc v h
iu hnh my tnh bng 4 im nh sau:
1) Trn my tnh bn, h iu hnh s chim quyn iu khin ngay sau khi
my tnh c bt v sau mi thc hin cc ng dng ca ngi s dng.
Ngi s dng bin dch v lin kt cc ng dng ca h tch bit vi h
4
-
7/31/2019 He Thong Thoi Gian Thuc
5/19
H thi gian thc
iu hnh. Ngc li, trong h thng nhng, ng dng thng xuyn lin kt
vi RTOS. Ti lc khi ng, ng dng nhn ly quyn iu khin u tin
v sau n mi bt u khi ng RTOS.
2) Vn bo mt i vi RTOS khng c quan tm bo v nh h iu
hnh my tnh.3) tit kim b nh, RTOS ch mc nh cc dch v cn thit cho cc ng
dng nhng ca ngi s dng.
4) Hu ht cc h iu hnh my tnh quan tm n hiu nng trung bnh, trong
khi cc RTOS li quan tm n cc gii hn v thi gian p ng.
2 c im v chc nng ca h iu hnh thi gian thc
H iu hnh thi gian thc c nhng c im sau:
1) tr chuyn i trng thi nh. iu ny c ngha l thi gian thc hin vic
lu trng ti ca tc v hin hnh v sau chuyn i sang cng vic khc l
ngn.
2) Thi gian tiu hao t vic thc hin cu lnh cui cng ca mt tc v ngt n
vic thc hin lnh u tin ca chng trnh x l ngt l c th d on v
ngn. iu ny cn c gi l tr ngt.
3) Tng t, thi gian tiu hao t vic thc hin cu lnh cui cng ca chng
trnh x l ngt n vic thc hin lnh u tin ca tc v tip theo cng c th
d on v ngn. iu ny cn c gi l tr kt thc ngt.
Hnh 2.1 S khc bit gia h iu hnh chung v h iu hnh thi gian thc
5
-
7/31/2019 He Thong Thoi Gian Thuc
6/19
H thi gian thc
4) tin cy v thi gian rng buc gia cc c ch x l phi c m bo
giao tip vi nhau mt cch kp thi.
5) Mt RTOS nn c h tr x l a nhim v theo mc u tin cho tng tc v.
X l mc u tin c ngha l chuyn i t mt tc v hin ang thc hin c
mc u tin thp sang mt tc v khc c mc u tin cao hn sn sng vch i c thc hin.
6) H thng thi gian thc khng h tr x l theo mc u tin cho phn li
(kernel) m trong khi x l phn li s c t mc u tin bi mt s qu
trnh khc.
H iu hnh thi gian thc c mt s chc nng nh sau:
1) Giao tip vi phn cng lp di.
2) Lp lch v x l u tin.
3) Qun l b nh.4) Thc hin cc dch v vo ra.
5) H tr s la chn b vi x l.
6) M rng cc dch v nh h tr lin lc, h tr ng b.
3 Phn loi h iu hnh thi gian thc
Hnh 2.2 Chc nng ca h iu hnh thi gian thc
6
-
7/31/2019 He Thong Thoi Gian Thuc
7/19
H thi gian thc
Ta c th phn h iu hnh thi gian thc thnh ba loi: H iu hnh thi gian
thc nh vi mc ch thng mi; H iu hnh thi gian thc m rng v Cc
phn li cho mc ch nghin cu.
1) H iu hnh thi gian thc nh vi mc ch thng mi
Cc h iu hnh ny thng nh v nhanh nh QX, PDOS, pSOS, VxWorks,Nulceus, ERCOS, EMERALDS, Windows CE. Chng c nhng c im chung
sau:
C thi gian chuyn trng thi v thi gian p ng nhanh.
Kch thc rt nh.
Khng c b nh o v c th c nh m, d liu trong b nh.
L h thng a tc v v c chun giao tip gia cc qu trnh x l. Cc
mailbox, cc s kin, cc tn hiu v cc n bo c nh ngha tt.
Nhng h iu hnh ny thng c cc c t tt v c cc cng c tt phttrin cc ng dng nhng thi gian thc. N h tr cc rng buc thi gian thc vi
cc dch v nh:
Cc gii hn thi gian thc hin
ng h thi gian thc
Lp lch th t u tin
Cnh bo c bit v thi gian qu hn (timeout)
H tr cc hng i thi gian thc
Cung cp vic x l tr, treo hay kch hot vic thc hin
2) H iu hnh thi gian thc m rng
Cc h iu hnh ny nh RT-UNIX, RT-LINUX, RT-MACH, RT-POSIX.
Chng chm hn v c kh nng d on km hn so vi h iu hnh thi gian
thc thng mi nhng chng li c nhiu chc nng hn v mi trng pht trin
tt hn da trn tp cc giao tip chun v thn thin.
3) Cc phn li cho mc ch nghin cu
Cc h iu hnh ny nh Spring, MARS, HARTOS, MARUTI, ARTS,
CHAOS, DARK. Chng c nhng c im nh sau:
H tr cc thut ton lp lch
H tr cc dch v c bn ng b thi gian thc
Nhn mnh kh nng d on hn l hiu nng trung bnh
H tr cho kh nng chu li
7
-
7/31/2019 He Thong Thoi Gian Thuc
8/19
H thi gian thc
1.3.T chc v kin trc h iu hnh thi gian thc
1.3.1 Tng quan
H iu hnh m nhim vic iu khin cc chc nng c bn ca h thng
bao gm qun l b nh, ngoi vi v vo ra, giao tip vi h thng phn cng. Mt
im khc bit c bn nh chng ta bit v h iu hnh vi cc phn mm khc
l n thc hin chc nng iu khin s kin thc thi trong h thng, c ngha l n
thc hin cc tc v theo mnh lnh yu cu t cc chng trnh ng dng, thit b
vo ra v cc s kin ngt.
Bn nhn t chnh tc ng trc tip n qu trnh thit k h iu hnh l:
Kh nng thc hin
Nng lng tiu th
Gi thnh
Kh nng tng thch
Hin nay chng ta c th bt gp rt nhiu h iu hnh khc nhau, c bit
cho cc h thng nhng cng v s tc ng ca 4 nhn t nu trn. Hu ht chng
u c kiu dng v giao din kh ging nhau nhng c ch qun l v thc thi cc
tc v bn trong rt khc nhau. Mi h iu hnh c thit k phc v trc tip cc
chc nng c th phn cng ca h thng nhng v khng d dng so snh c
gia chng vi nhau.
1.3.2 Cc kin trc h iu hnhHai thnh phn chnh trong thit k h iu hnh l phn li (kernel) v cc
chng trnh h thng.
Phn li c s dng phc v cho cc b phn qun l qu trnh, b
phn lp lch, b phn qun l ti nguyn v b phn qun l vo/ra. Chng m
nhim cc chc nng lp lch, ng b, x l ngt, bo v h thng Chc nng
iu khin chnh ca n l phc v iu khin phn cng bao gm ngt, cc thanh
ghi iu khin, cc t trng thi v cc b nh thi gian. N np cc phn mm
iu khin thit b cung cp cc tin ch chung v phi hp vi cc hot ng
vo ra vi h thng. Phn ht nhn c vai tr iu khin rt quan trng m bo
tt c cc phn ca h thng c th lm vic n nh v thng nht.
Hai kin trc thit k phn ht nhn kinh in nht l kin trc vi ht nhn v
n ht nhn.
Vi ht nhn:
8
-
7/31/2019 He Thong Thoi Gian Thuc
9/19
H thi gian thc
Cc vi ht nhn cung cp cc chc nng iu hnh c bn ct li theo c ch
cc modul tng i c lp m nhim cc tc v c th v chuyn di rt nhiu
cc dch v in hnh iu hnh h thng, thc thi trong khng gian ngi s dng.
Nh c ch ny, cc dch v c th c khi to hoc cu hnh li m khng nht
thit phi khi to li ton b h thng.Kin trc vi ht nhn cung cp an ton cao do dch v h thng chy
tng ngi s dng vi hn ch v truy nhp vo ti nguyn ca h thng v c th
c gim st.
Kin trc vi ht nhn c th c xy dng mt cc mm do ph hp
vi cu hnh phn cng khc nhau mt cc linh hot hn so vi kiu kin trc n
ht nhn. Tuy nhin do tnh c lp tng i gia cc modul trong vi ht nhn nn
cn thit phi c mt c ch trao i thng tin hay truyn thng gia cc modul .
V vy y c th l l do lm chm tc v lm gim tnh hiu qu hot ng cah thng.
c im ni bt v ct li ca kin trc vi ht nhn l kch thc nh v d
dng sa i cng nh xy dng linh hot hn. Cc dch v thc thi tng trn ca
ht nhn v vy t c an ton cao.
Kin trc vi ht nhn c pht trin mnh m trong cc h thng a x l
nh Mach, QNX.
n ht nhn:
Kiu kin trcn ht nhn cung cp tt c cc chc nng/dch v chnh yuthng qua mt qu trnh x l n l. Chnh v vy kch thc ca chng thng
ln hn kiu kin trc vi ht nhn. Loi hnh kin trc ny thng c p dng
ch yu cho cc phn cng c th m n ht nhn c s tng tc trc tip vi
phn cng. Nh vy m kh nng ti u cng d dng hn so vi kiu kin trc vi
ht nhn. Chnh v vy y chnh l l do ti sao kin trc n ht nhn khng th
thay i mm do v linh hot nh kiu vi ht nhn.
V d in hnh v loi hnh kin trc n ht nhn l Linux, MacOS v OS.
V h iu hnh cng i hi v ti nguyn v kim c chc nng qun l
chng, v vy ngi thit k cn phi nm c cc thng tin v chng mt cch
chnh xc v y .
2 Ht nhn h iu hnh thi gian thc
H iu hnh vi phn li l ht nhn phi m nhim cc tc v chnh nh
sau:
9
-
7/31/2019 He Thong Thoi Gian Thuc
10/19
H thi gian thc
X l ngt
- Lu tr hin trng ti thi im xut hin ngt
- Nhn dng v la chn ng b x l (nu c) v chng trnh phc v ngt
iu khin qu trnh
- Khi to v kt thc qu trnh/tc v- Lp lch v iu phi hot ng h thng
- nh thi
iu khin ngoi vi
- X l ngt
- Khi to giao tip vo ra
Ty theo c ch thc hin v cch thc hot ng ca ht nhn, ngi ta
phn thnh mt s loi hnh h thng thi gian thc nh sau:
1) H thng thi gian thc nh:
Vi loi ny, cc phn mm c pht trin m khng cn c h iu hnh,
ngi lp trnh phi t qun l v x l cc vn v iu khin h thng, bao
gm:- X l ngt
- iu khin qu trnh/tc v
- Qun l b nh
2) Cng ngh a nhim
- Mi qu trnh c mt khng gian b nh ring
Hnh 2.3 Ht nhn h iu hnh thi gian thc
10
-
7/31/2019 He Thong Thoi Gian Thuc
11/19
H thi gian thc
- Cc qu trnh phi c chia nh thnh cc cng vic (Thread) cng
chia s khng gian b nh.
3) Cc dch v cung cp bi ht nhn
- Khi to v kt thc qu trnh/tc v
- Truyn thng gia cc qu trnh- Cc dch v v thi gian
- Mt s cc dch v cung cp s h tr vic thc thi lin quan n iu
khin h thng.
Ht nhn in hnh c bn:
Loi ht nhn n gin nht l mt vng lp v hn, thm d cc s kin
xut hin trong h thng v phn ng li theo s thay i nu c.
Vi mt b x l cu hnh nh nht, khng phi lc no n cng c th lu
ct hin trng v n khng th thay i con tr ngn xp hoc c vng ngnxp rt hn ch.
Thay v s dng cc thanh ghi thit b, vng lp thm d c th gim st cc
bin c v chu s cp nht thay i bi cc b x l ngt.
Ht nhn c th c xy dng sao cho tt c cc tn hiu l-gic c iu
khin b vng lp v nhp c iu khin bi cc ngt.
Cc tc v ln cn nhiu thi gian thc hin c th c chia nh thnh cc
tc v nh hn v c thc hin ti cc thi im khc nhau nh vo c
ch chuyn v s dng b m. Cc ht nhn thc thi theo c ch ngt rt ging vi cc loi ht nhn thc
hin theo c ch vng lp thm d. N x l tt c cc tc v thng qua cc
dch v ngt.
Cc ht nhn ln v phc tp hn s bao gm mt s cc dch v ph phc
v cho vic truyn thong gia cc qu trnh. V nu c b sung y , n
s tr thnh mt h iu hnh ng ngha.
Cc kiu ht nhn c bn:
Ht nhn thc hin vng lp thm d Ht nhn thc hin theo c ch ngt
Ht nhn qu trnh vn hnh qu trnh
Vic la chn loi ht nhn no hon ton ty thuc vo cc b x l v kch
thc phn mm, tuy nhim ring loi ht nhn vn hnh theo qu trnh khng ph
hp vi cc b x l nh.
11
-
7/31/2019 He Thong Thoi Gian Thuc
12/19
H thi gian thc
1.4. Cc dch v c bn
1.4.1 Tc v v cc trng thi tc v
Tc v (Task) l mt n v c bn chy trong RTOS. Tc v rt n gin
vit, theo hu ht cc RTOS, mt tc v n gin ch l mt chng trnh con. Ti
mt s im trong chng trnh, khi gi n mt chc nng trong RTOS th bt u
mt tc v.
Hu ht cc RTOS cho php ta c nhiu tc v nh ta mun mt cch hp l.
Mi tc v trong mt RTOS lun lun l mt trong ba trng thi:
1. Chy (Running) - c ngha l cc b vi x l c thc hin cc lnh ca
tc v ny. Tr khi l mt h thng a b x l, nu ch c mt b vi x l th ch
c mt tc v l trong trng thi ang chy mt thi im nht nh.
2. Sn sng (Ready) - c ngha rng mt s tc v khc l trong trng thi
sn sang chy nu c b vi x l tr ri. Nhiu tc v ng thi c th c trngthi ny.
3. B chn (Blocked) - c ngha l nhim v ny khng c bt c iu g
lm ngay by gi, ngay c khi b vi x l tr nn c sn. Tc v nm trng thi
ny l do chng ang ch i mt s s kin bn ngoi. V d, mt tc v x l d
liu t mt mng li s khng c g lm khi khng c d liu. Mt tc v p
ng cho ngi s dng khi ngi s dng nhn mt nt s khng c g lm cho
n khi ngi s dng nhn nt. Bt k tc v no cng c th trng thi ny.
1.4.2 B lp lchMt phn cng vic ca RTOS c gi l b lp lch, theo di tnh trng
ca tng cng vic v quyt nh tc v no chuyn n trng thi chy. Khng
ging nh b lp lch trong Unix hoc Windows, cc b lp lch trong hu ht cc
RTOS u kh n gin v cng vic s nhn c t b vi x l: chng nhn vo
nhng u tin m ta gn cho cc tc v v trong s cc tc v m khng phi trong
trng thi b chn th tc v no c u tin cao nht s c thc hin. Phn cn li
ch i trong trng thi sn sng.
B lp lch phi lun quan tm ti cc u tin tc v v nu mt tc v utin cao m b b vi x l treo trong mt thi gian di trong khi cc nhim v u
tin thp hn c ch i trong trng thi sn sng, l qu xu. Cho nn, cc
tc v u tin thp hn ch phi ch i, ln lch vi gi nh rng ta bit nhng g
ta lm khi thit lp cc mc u tin tc v. y ta s p dng vic s dng kh
ph bin ca ng t block c ngha l "di chuyn vo trng thi chn", ng t
12
-
7/31/2019 He Thong Thoi Gian Thuc
13/19
H thi gian thc
run c ngha l "di chuyn vo tnh trng chy" hoc "trong trng thi ang chy"
v ng t switch c ngha l "thay i tc v trong trng thi ang chy". Mt
tc v ch b chn khi n ht vic lm. Cc tc v khc trong h thng hoc b
lp lch khng th quyt nh cho mt tc v th n cn phi ch i cho mt ci g
. Trong khi mt tc v b chn, n khng bao gi c cc b vi x l i x l.Do , mt chng trnh ngt hoc mt s tc v khc trong h thng phi c kh
nng bo hiu rng bt c iu g m tc v c ch i xy ra. Nu khng,
tc v s b kha vnh vin.
Vic chuyn i v gia cc trng thi sn sng v chy l hon ton cng
vic ca b lp lch. Cng vic c th chn, tc v v chng trnh ngt c th di
chuyn t trng thi b chn sang tnh trng sn sng, nhng b lp kim sot trng
thi ang chy.
Nu mt tc v ang chy th c mt tc v khc u tin hn c kch hotth RTOS s dng tc v ang chy v s chy tc v u tin cao hn. Cn tc v c
mc u tin thp hn s b kha.
1.4.3. Tc v v d liu
Mi tc v c mt hin trng ring, bao gm cc gi tr thanh ghi, b m
chng trnh v mt ngn xp. Tt c nhng d liu khc c chia s gia cc tc
v. Khi chng ta s dng bin chia s d liu gia cc tc v, iu rt d dng
chuyn d liu t tc v ny ti tc v khc: Hai tc v cn phi truy cp ti cng
bin. Tuy nhin, vn chia s d liu rt d dn ti vic khng nht qun trongchng trnh v c th gy sp h thng, v vy cn c nhng bin php trong
RTOS gii quyt vn ny.
1.4.4. n bo (Semaphore) v chia s d liu
tng chung ca mt semaphore trong mt RTOS l tng t nh tng
ca semaphore ng st. Tu ha lm hai vic vi semaphore. u tin, khi on
tu ri khi phn bo v theo di, n bt n bo semaphore ln. Th hai, khi on
tu n mt semaphore, n ch i cho semaphore bt ln, nu cn thit, i qua cc
semaphore (by gi bt ln) v tt semaphore i. Semaphore in hnh trong mtRTOS hot ng theo cng mt cch nh trn. Mc d t semaphore ban u t ra
khi nim c th, nhng t semaphore by gi l r rng nht trong th gii h
thng nhng.
Mt s RTOSs thm ch c nhiu hn mt loi semaphore. Mt semaphore
nh phn RTOS in hnh c hai chc nng: Ly n bo (TakeSemaphore) v Gii
13
-
7/31/2019 He Thong Thoi Gian Thuc
14/19
H thi gian thc
phng n bo (ReleaseSemaphore). Nu mt task v gi l TakeSemaphore
ly tn hiu semaphore th khng c gi ReleaseSemaphore gii phng n, sau
tt c cc tc v khc gi TakeSemaphore s b chn cho n khi tc v u tin
gi ReleaseSemaphore. Ch c mt tc v c semaphore ti mt thi im.
Chng ta c th s dng n bo nh tn hiu giao tip gia cc tc v vinhau hoc gia hm ngt v tc v.
1.5. Cc dch v m rng ca RTOS thng mi
1.5.1. Message Queues, Mailboxes v Pipes
1) Hng i Queue
Cc tc v phi c kh nng giao tip vi nhau phi hp lm vic v
trao i, chia s d liu. Hu ht cc RTOS kt hp mt s dch v nh : hng i
cc thng ip, cc mailbox v cc pipe cho mc ch ny.
Hu ht cc RTOS yu cu phi khi to hng i trc khi s dng chng
bng vic gi hm cung cp cho mc ch ny. Mt s h thng cho php cp pht
b nh m RTOS s qun l nh mt hng i.
Hu ht cc RTOS cho php s dng nhiu hng i. Ta c th thm mt s
thng s nh danh hng i v t ta c th c hoc ghi vo hng i .
Nu ta c ghi vo mt hng i khi n y th RTOS s tr li mt thng
bo li chng ta bit cng vic b hng hoc b kha cho n khi c mt tc
v no c d liu ra khi hng i.
Rt nhiu RTOS s dng mt hm c t mt hng i nu c d liutrong hng i v nu hng i rng th n s tr ra mt thng bo li.
S byte d liu m RTOS ghi vo hng i trong mt ln gi c th khng
bng vi s byte d liu m ta mong mun ghi. C rt nhiu RTOS khng mm do
trong vn ny nhng cng c mt s RTOS cho php ghi ln mt hng i trong
1 ln gi s lng byte mt con tr hm.
2) Mailbox
Ni chung, cc hp th ging nh hng i. RTOS in hnh c chc nng
to ra, vit v c t hp th v c th c chc nng kim tra xem hp thc cha bt k tin nhn v hy cc hp th nu n khng cn cn thit. Tuy nhin,
cc chi tit ca hp th khc nhau trong RTOS l khc nhau.
Di y l mt s cc bin th m ta c th thy:
Mc d mt s RTOS cho php mt s lng nht nh tin nhn trong mi
hp th, mt s m bn thng c th la chn khi bn to ra cc hp th, nhng
14
-
7/31/2019 He Thong Thoi Gian Thuc
15/19
H thi gian thc
trng hp khc ch cho php mt tin nhn trong hp th ti mt thi im. Mt
khi tin nhn c ghi vo mt hp th trong cc h thng ny, hp th l y,
khng c tin nhn khc c th c ghi vo hp th cho n khi tin nhn u tin
c c.
Trong mt s RTOS khc, s lng tin nhn trong hp th mi l khng giihn. C mt gii hn tng s cc tin nhn c ghi tt c cc hp th trong h
thng, nhng nhng tin nhn ny s c phn chia vo cc hp th c nhn khi
cn thit.
Trong mt s RTOS, bn c th t mc u tin cho cc tin nhn trong hp
th. Tin nhn u tin cao s c c trc tin nhn u tin thp hn m khng
quan tm n th t m chng c vit vo hp th.
3) Pipe (ng ng)
Pipe cng ging nh hng i. RTOS c th to ra chng, vit vo chng,c t chng... Cc chi tit ca pipe ging nh cc chi tit ca hp th v hng i,
khc nhau ty vo mi loi RTOS. Mt s bin th ta c th thy sau y:
Mt s RTOS cho php vit tin nhn ca di khc nhau vo ng ng
(khng ging nh cc hp th v hng i, trong chiu di tin nhn thng c
c nh).
ng ng trong mt s RTOS hon ton nh hng theo byte: nu tc v
A ghi 11 byte ng ng v sau tc v B ghi 19 byte vo ng ng, sau nu
tc v C c 14 byte t ng ng, n s nhn c 11 ca tc v A vit cngvi 3 byte ca tc v B. Cn 16 byte ca tc v B vit s nm li trong ng
ng dng cho bt c tc v no c t n.
Mt s RTOS s dng cc chc nng th vin C chun fread v fwrite
c v ghi vo ng.
4) S dng queue, mailbox, pipe
Mc dqueue, mailbox v pipe c th lm vn chia s d liu gia cc tc
v tr nn d dng hn nhng n cng rt d gy ra li trong h thng ca chng ta.
Di y l mt s kinh nghim khi s dng chng :
Hu ht cc RTOS khng gii hn tc v no c th c v ghi queue,
mailbox v pipe, v vy phi bo m rng cc tc v c s dng l chnh
xc ti mi thi im.
15
-
7/31/2019 He Thong Thoi Gian Thuc
16/19
H thi gian thc
RTOS khng m bo rng d liu c ghi vo trong queue, mailbox v
pipe s ng vi tc v c n. V d, mt tc v ghi vo s nguyn v tc
v khc c v coi n l con tr.
Chy ra ngoi khng gian queue, mailbox hoc pipe s gy ra s ph hy
trong phn mm nhng. Chuyn con tr t tc v ny ti tc v khc thng qua queue, mailbox hoc
pipe l cch to ra s chia s d liu.
1.5.2. Chc nng b nh thi (Timer Functions)
Hu ht cc RTOS u duy tr nhp xung ca b nh thi. B nh thi ny
ngt nh k v c s dng cho cc dch v thi gian ca RTOS. Khong thi
gian gia cc ngt c gi l mt n v thi gian ca h thng (System Tick).
Hu ht cc RTOS thng s dng dch v thi gian :
Mt tc v c th kha chnh bn thn n sau mt s n v thi gian
xc nh.
nh thi gian b gii hn ca mt tc v trong h thng khi n i n
bo, hng i
Chng trnh ca chng ta c th iu khin RTOS gi mt hm xc
nh sau mt s n v thi gian ca h thng.
1.5.3. Cc s kin Event
Mt dch v khc ca RTOS l qun l cc s kin bn trong h thng. Mis kin c bn l mt c Boolean m cc tc v c th thit lp.
Mt s c im ca s kin trong cc RTOS l:
Mt hay nhiu tc v b kha i ch mt s kin, RTOS s gii phng
tt c chng v thc hin chng theo th t u tin khi s kin xy ra.
RTOS mc nh hnh thnh mt nhm cc s kin v cc tc v i cho
bt k tp con no ca nhm s kin xy ra.
Cc RTOS khc nhau a ra cc cch khc nhau thit lp li cc s
kin sau khi n xy ra v cc tc v i s kin s c giiphng. Mt s RTOS thit lp li cc s kin mt cch t ng, mt s
khc i hi cc tc v phn mm ca ngi s dng phi t lm.
Chng ta s dng cc queue, mailbox, pipe, semaphore v cc s kin cho
vic giao tip gia hai tc v hoc gia mt ngt v mt tc v. Chng c mt s
c im ring sau :
16
-
7/31/2019 He Thong Thoi Gian Thuc
17/19
H thi gian thc
Semaphore l phng thc nhanh nht v n gin nht. Tuy nhin,
thng tin thng qua mt semaphore khng nhiu. Ch mt bit thng ip
c chuyn i thng bo semaphore c gii phng.
S kin t phc tp hn semaphore nhng li tiu tn nhiu thi gian b
x l hn semaphore. S dng cc s kin thun li hn semaphore l ch : mt tc v i mt hay nhiu s kin trong cng thi gian trong
khi n ch i mt semaphore.
Hng i cho php chng ta gi mt s lng ln thng tin t tc v ny
ti tc v khc, cho d tc v ch i trn mt hng i ti mt thi im
nhng s tht l chng cho php gi d liu thng qua mt hng i lm
n linh hot hn mt s kin.
1.5.4. Cc hm ngt trong mi trng RTOS
Cc hm ngt trong hu ht cc mi trng phi tun theo hai quy tc (iu
ny khng p dng cho m ca tc v)
Quy tc 1: Mt hm ngt khng c gi bt k hm RTOS no m nhng
hm c th kha li gi. Do th tc ngt khng s dng n bo, khng c
t cc hng i hoc mailbox khi cc hng i v mailbox rng, khng i cc s
kin Nu hm ngt gi mt hm RTOS v b kha th tc v ang chy khi ngt
xy ra s b kha mi mi, thm ch tc v ny c quyn u tin cao nht. Ngoi ra,
hu ht cc hm ngt phi chy hon thnh vic thit lp li phn cng sn
sng cho ngt tip theo.Quy tc 2: Mt hm ngt c th khng gi bt k hm RTOS no nhng c
th gy ra cho RTOS chuyn ti chy cc tc v tr khi RTOS bit l mt hm
ngt v khng l mt tc v trong lc ang thc hin hm ngt. Nu th tc ngt
ph v quy tc ny th RTOS c th chuyn vic iu khin t hm ngt ti chy
mt tc v khc.
1.5.5. Gii thiu mt s h iu hnh thi gian thc
2.1 RTX51-Real Time Operating System
RTX51 l mt h iu hnh thi gian thc a tc v cho h vi iu khin8051. RTX51 l mt h thng n gin c thit k cho cc phn mm c phc
tp cao v c gii hn chnh xc v thi gian p ng. RTX51 c cc cng c rt
mnh qun l cc tc v.
C hai phin bn ca RTX51: RTX51 full v RTX51 Tiny.
17
-
7/31/2019 He Thong Thoi Gian Thuc
18/19
H thi gian thc
- RTX51 full cho php thc hin c chuyn mch xoay vng v chuyn tc
v vi 4 mc u tin. N h tr 256 tc v v cung cp dch v iu
khin semaphore, tn hiu tc v, hng i v vng nh.
- RTX51 Tiny l mt nhn thi gian thc nh ca RTX51 full. RTX51
Tiny d dng chy trn mt chp khng c b nh d liu ngoi. RTX51Tiny cho php chuyn mch xoay vng gia cc tc v, h tr thng tin
gia cc tc v v c th hot ng song song cng vi cc hm ngt.
2.2 C/OS
C/OS l nhn mt h iu hnh thi gian thc do J. Labrosse xy dng, c
tnh kh chuyn cao, mm do, c tnh u tin v a tc v. C/OS h tr cc tnh
nng sau:
- B lp lch
- Truyn thng ip
- ng b v chia s d liu gia cc tc v
- Qun l b nh
- Cc thit b vo ra
Hnh 2.3 Cu trc ca h iu hnh thi gian thc RTX51
18
-
7/31/2019 He Thong Thoi Gian Thuc
19/19
H thi gian thc
- H thng file
- Mng truyn thng
C/OS cn h tr nhiu b vi x l v rt gn nh s dng cho nhiu h
thng nhng. Phin bnC/OS-II tng cng thm kh nng t tn ti mi i
tng ca nhn. c bit vi phin bn V2.6, ta c th gn tn cho mt tc v, nbo, hp th, hng i, mt nhm s kin hay mt vng nh. Nh vy m b pht
hin li c th hin th tn ca nhng i tng v cho php chng ta nhanh
chng xem thng tin v i tng. Ngoi ra, V2.6 cho php b sa li c thng tin
cu hnh ca mt ng dng v hin th nhng thng tin .
2.3 QNX Neutrino
QNX Neutrino l chun mc cho cc ng dng nhng thi gian thc. N c
th co gin ti mt kch thc rt nh v cung cp nhiu tc v hot ng ng
thi, cc tin trnh, iu khin lp lch, th t u tin v chuyn hin trng nhanh.QNX Neutrino rt mm do: Ngi s dng c th d dng thay i cu hnh
OS cho ph hp vi ng dng ca mnh, t mt cu hnh c bn nht ca mt nhn
nh (microkernel) vi mt vi modul nh cho ti mt h thng c trang b kh
nng pht trin mng din rng phc v hng trm ngi s dng.
19