he thong thoi gian thuc

Upload: thanh-duyen

Post on 04-Apr-2018

228 views

Category:

Documents


0 download

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