VICONGDONG.NET_he thong thoi gian thuc.pdf

25 548 1
VICONGDONG.NET_he thong thoi gian thuc.pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

he thong thoi gian thuc

Trang 1

MUÅC LUÅC

Chûúng I HÏÅ THÖËNG THÚÂI GIAN THÛÅC 4

1.1 Hïå thöëng thúâi gian thûåc: 4

1.1.1 Giúái thiïåu vïì hïå thöëng thúâi gian thûåc : 4

1.1.2 Khaái niïåm hïå thöëng thúâi gian thûåc : 4

1.1.3 Caác loaåi hïå thöëng thúâi gian thûåc: 5

1.2 Hïå àiïìu haânh cho hïå thöëng thúâi gian thûåc : 6

1.2.1 Sú lûúåc vïì hïå àiïìu haânh : 6

1.2.2 Quan niïåm tiïën trònh, tiïíu trònh : 7

CAÁC CHÛÚNG TRÒNH ÛÁNG DUÅNG HÏÅ ÀIÏÌU HAÂNH PHÊÌN CÛÁNG 8

User 1 8

User n User 2 8

1.2.3 Hïå àiïìu haânh thúâi gian thûåc : 8

HÏÅ ÀIÏÌU HAÂNH WINDOWS VAÂ VÊËN ÀÏÌ THÚÂI GIAN THÛÅC 9

1.3 Ngön ngûä lêåp trònh cho hïå thöëng thúâi gian thûåc: 10

1.3.1 Töíng quan vïì ngön ngûä lêåp trònh cho hïå thöëng thúâi gian thûåc: 10

1.3.2 Sú lûúåc vïì ngön ngûä lêåp trònh C: 10

1.4 Quan niïåm thúâi gian trong hïå thöëng thúâi gian thûåc: 11

1.4.1 Àöìng höì hïå thöëng: 11

1.4.2 Caác loaåi àöìng höì hïå thöëng: 11

1.4.3 Quan niïåm vïì sûå rúâi raåc thúâi gian: 12

1.4.4 Raâng buöåc vïì thúâi gian: 12

1.5 Vêën àïì àiïìu phöëi cöng viïåc : 13

1.6 Vêën àïì àöìng böå hoaá: 14

1.6.1 Cú chïë àöìng böå hoaá: 14

1.6.2 Phûúng phaáp àöìng böå trïn möi trûúâng Windows: 14

1.7 Möåt söë yïu cêìu cuãa hïå thöëng thúâi gian thûåc : 15

1.7.1 Hïå thöëng lúán vaâ phûác taåp: 15

Trang 2

1.7.2 Xûã lyá trïn söë thûåc: 15

1.7.3 Thûåc sûå an toaân vaâ àaáng tin cêåy: 16

1.7.4 Giao tiïëp trûåc tiïëp vúái thiïët bõ phêìn cûáng: 16

1.7.5 Thûåc hiïån trïn möi trûúâng vaâ ngön ngûä lêåp trònh hiïåu quaã: 16

1.7.6 Ngûúâi sûã duång àiïìu khiïín : 16

1.8 Vaâi vñ duå vïì Hïå thöëng thúâi gian thûåc : 16

1.8.1 Vñ duå 1: 16

1.8.2 Vñ duå 2: 16

1.8.3 Vñ duå 3: 17

1.8.4 Ngoaâi ra coân coá rêët nhiïìu RTS khaác nhau 17

1.9 Phûúng phaáp phên tñch thiïët kïët Hïå thöëng thúâi gian thûåc : 17

1.9.1 Sú lûúåc vïì phûúng phaáp thiïët kïë phêìn mïìm: 17

1.9.2 Thiïët kïë ûáng duång thúâi gian thûåc : 18

1.9.3 Mö hònh àöëi tûúång : 19

1.9.4 Sú àöì traång thaái (State chart, state diagram): 20

1.9.5 Maång Petri vaâ àöì thõ Petri (Petri net and Petri graph): 20

Trang 4

Chûúng I

HÏƠ THÖỊNG THÚĐI GIAN THÛƠC

1.1 Hïơ thöịng thúđi gian thûơc:

1.1.1 Giúâi thiïơu vïì hïơ thöịng thúđi gian thûơc :

Trong nhûông nùm gíìn ăíy, caâc hïơ thöịng ăiïìu khiïín theo thúđi gian thûơc lađ möơt trong nhûông lônh vûơc thu huât nhiïìu sûơ chuâ yâ trong giúâi khoa hoơc nghiïn cûâu vïì khoa hoơc maây tñnh Trong ăoâ, víịn ăïì ăiïìu hađnh thúđi gian thûơc vađ víịn ăïì líơp lõch lađ ăùơc biïơt quan troơng Möơt söị ûâng duơng quan troơng cuêa hïơ thöịng thúđi gian thûơc (RTS) ăaô vađ ăang ặúơc ûâng duơng röơng raôi hiïơn nay lađ caâc díy chuýìn saên xuíịt tûơ ăöơng, röböịt, ăiïìu khiïín khöng lûu, ăiïìu khiïín caâc thñ nghiïơm tûơ ăöơng, truýìn thöng, ăiïìu khiïín trong quín sûơ Thïị hïơ ûâng duơng tiïịp theo cuêa hïơ thöịng nađy seô lađ ăiïìu khiïín röböịt coâ hoaơt ăöơng giöịng con ngûúđi, hïơ thöịng kiïím soaât thöng minh trong caâc nhađ maây cöng nghiïơp, ăiïìu khiïín caâc traơm khöng gian, thùm dođ ăaây ăaơi dûúng

1.1.2 Khaâi niïơm hïơ thöịng thúđi gian thûơc :

Möơt hïơ thöịng thúđi gian thûơc (RTS – Realtime Systems) coâ thïí ặúơc hiïíu nhû lađ möơt mö hònh xûê lyâ mađ tñnh ăuâng ăùưn cuêa hïơ thöịng khöng chó phuơ thuöơc vađo kïịt quaê tñnh toaân lögic mađ cođn phuơ thuöơc vađo thúđi gian mađ kïịt quaê nađy phaât sinh ra

Hïơ thöịng thúđi gian thûơc ặúơc thiïịt kïị nhùìm cho pheâp traê lúđi (response) laơi caâc ýịu töị kñch thñch phaât sinh tûđ caâc thiïịt bõ phíìn cûâng trong möơt rađng buöơc thúđi gian xaâc ắnh ÚÊ ăíy ta coâ thïí hiïíu thïị nađo lađ möơt RTS bùìng caâch hiïíu thïị nađo lađ möơt tiïịn trònh, möơt cöng viïơc thúđi gian thûơc Nhòn chung, trong nhûông RTS chó coâ möơt söị cöng viïơc ặúơc goơi lađ cöng viïơc thúđi gian thûơc, caâc cöng viïơc nađy coâ möơt mûâc ăöơ khíín cíịp riïng phaêi hoađn tíịt, vñ duơ möơt tiïịn trònh ăang cöị gùưng ăiïìu khiïín hoùơt giaâm saât möơt sûơ kiïơn ăang xaêy ra trong thïị giúâi thûơc Búêi vò möîi sûơ kiïơn xuíịt hiïơn trong thïị giúâi thûơc nïn tiïịn trònh giaâm saât sûơ kiïơn nađy phaêi xûê lyâ theo kõp vúâi nhûông thíy ăöíi cuêa sûơ kiïơn nađy Sûơ thay ăöíi cuêa sûơ kiïơn

Trang 5

trong thïị giúâi thûơc xaêy ra ríịt nhanh, möîi tiïịn trònh giaâm saât sûơ kiïơn nađy phaêi thûơc hiïơn viïơc xûê lyâ trong möơt khoaên thúđi gian rađng buöơc goơi lađ deadline, khoaên thúđi gian rađng buöơc nađy ặúơc xaâc ắnh búêi thúđi gian bùưt ăíìu vađ thúđi gian hoađn tíịt cöng viïơc Trong thûơc tïị, caâc ýịu töị kñch thñch xaêy ra trong thúđi gian ríịt ngùưn vađo khoaêng vađi mili giíy, thúđi gian mađ hïơ thöịng traê lúđi laơi ýịu töị kñch thñch ăoâ töịt nhíịt vađo khoaêng dûúâi möơt giíy, thûúđng vađo khoaêng vađi chuơc mili giíy, khoaêng thúđi gian nađy bao göìm thúđi gian tiïịp nhíơn kñch thñch, xûê lyâ thöng tin vađ traê lúđi laơi kñch thñch Möơt ýịu töị khaâc cíìn quan tím trong RTS lađ nhûông cöng viïơc thúđi gian thûơc nađy coâ tuíìn hoađn hay khöng ? Cöng viïơc tuíìn hoađn thò rađng buöơc thúđi gian íịn ắnh theo tûđng chu kyđ xaâc ắnh Cöng viïơc khöng tuíìn hoađn xaêy ra vúâi rađng buöơc thúđi gian vađo luâc bùưt ăíìu vađ luâc kïịt thuâc cöng viïơc, rađng buöơc nađy chó ặúơc xaâc ắnh vađo luâc bùưt ăíìu cöng viïơc Caâc biïịn cöị kñch hoaơt cöng viïơc khöng tuíìn hoađn thûúđng dûơa trïn kyô thuíơt xûê lyâ ngùưt cuêa hïơ thöịng phíìn cûâng

Vïì mùơt cíịu taơo, RTS thûúđng ặúơc cíịu thađnh tûđ caâc thađnh töị chñnh sau : - Ăöìng höì thúđi gian thûơc : Cung cíịp thöng tin thúđi gian thûơc

- Böơ ăiïìu khiïín ngùưt : Quaên lyâ caâc biïịn cöị khöng theo chu kyđ - Böơ ắnh biïíu : Quaên lyâ caâc qua trònh thûơc hiïơn

- Böơ quaên lyâ tađi nguýn : Cung cíịp caâc tađi nguýn maây tñnh - Böơ ăiïìu khiïín thûơc hiïơn : Khúêi ăöơng caâc tiïịn trònh

Caâc thađnh töị trïn coâ thïí ặúơc phín ắnh lađ thađnh phíìn cûâng hay mïìm tuđy thuöơc vađo hïơ thöịng vađ yâ nghôa sûê duơng Thöng thûúđng, caâc RTS ặúơc kïịt húơp vađo phíìn cûâng coâ khaê nùng töịt hún so vúâi hïơ thöịng phíìn mïìm coâ chûâc nùng tûúng ûâng vađ traânh ặúơc chi phñ quaâ ăùưt cho viïơc töịi ûu hoaâ phíìn mïìm Ngađy nay, chi phñ phíìn cûâng ngađy cađng reê, choơn lûơu ûu tiïn phíìn cûâng lađ möơt xu hûúâng chung

1.1.3 Caâc loaơi hïơ thöịng thúđi gian thûơc:

Caâc RTS thûúđng ặúơc phín thađnh hai loaơi sau Soft reatime system vađ Hard realtime system : Ăöịi vúâi Soft realtime system, thúđi gian traê lúđi cuêa hïơ thöịng cho ýịu töị kñch thñch lađ quan troơng, tuy nhiïn trong trûúđng húơp rađng buöơc nađy bõ vi phaơm, tûâc lađ thúđi gian traê lúđi cuêa hïơ thöịng vûúơt quaâ giúâi haơn trïî cho pheâp, hïơ thöịng víîn cho pheâp tiïịp tuơc hoaơt ăöơng bònh thûúđng, khöng quan tím ăïịn caâc taâc haơi do sûơ vi phaơm nađy gíy ra (Thûúđng thò taâc haơi nađy lađ khöng ăaâng kïí)

Ngûúơc laơi vúâi Soft realtime system lađ Hard realtime system, trûúđng húơp nađy ngûúđi ta quan tím khùưc khe ăïịn caâc híơu quaê do sûơ vi phaơm giúâi haơn thúđi gian ăïí cho pheâp búêi vò nhûông híơu quaê nađy coâ thïí lađ ríịt töìi tïơ, thiïơt haơi vïì víơt

Trang 6

chíịt, coâ thïí gíy ra nhûông aênh hûúêng xíịu ăïịn ăúđi söịng con ngûúđi Möơt vñ duơ cho loaơi nađy lađ hïơ thöịng ăiïìu khiïín khöng lûu, möơt phín phöịi ặúđng bay, thúđi gian cíịt caânh, haơ caânh khöng húơp lyâ, khöng ăuâng luâc coâ thïí gíy ra tai naơn maây bay mađ thaêm hoơa cuêa noâ khoâ mađ lûúđng trûúâc ặúơc

Trong thûơc tïị thò coâ nhiïìu RTS bao göìm caê hai loaơi soft vađ hard Trong caê hai loaơi nađy, maây tñnh thûúđng can thiïơp trûơc tiïịp hoùơc giaân tiïịp ăïịn caâc thiïịt bõ víơt lyâ ăïí kiïím soaât cuông nhû ăiïìu khiïín sûơ hoaơt ăöơng cuêa thiïịt bõ nađy Ăûâng trïn goâc ăöơ nađy, ngûúđi ta thûúđng chia caâc RTS ra lađm hai loaơi sau :

(1) Embedded system : Böơ vi xûê lyâ ăiïìu khiïín lađ möơt phíìn trong toađn böơ thiïịt bõ, noâ ặúơc saên xuíịt troơn goâi tûđ ýịu töị cûâng ăïịn ýịu töị mïìm tûđ nhađ maây, ngûúđi sûê duơng khöng biïịt vïì chi tiïịt cuêa noâ vađ chó sûê duơng thöng qua caâc nuât ăiïìu khiïín, caâc baêng söị Vúâi hïơ thöịng nađy, ta seô khöng thíịy ặúơc nhûông thiïịt bõ nhû trong maây tñnh bònh thûúđng nhû bađn phñm, mađn hònh mađ thíy vađo ăoâ lađ caâc nuât ăiïìu khiïín, caâc baêng söị, ăeđn tñn hiïơu hay caâc mađn hònh chuýn duơng ăùơc trûng cho tûđng hïơ thöịng Maây giùơt lađ möơt vñ duơ Ngûúđi sûê duơng chó viïơc bíịm nuât choơn chûúng trònh giùơt, xem kïịt quaê qua hïơ thöịng ăeđn hiïơu Böơ vi xûê lyâ trong Embedded system nađy ăaô ặúơc líơp trònh trûúâc vađ gùưn chùơt vađo ngay tûđ khi saên xuíịt vađ khöng thïí líơp trònh laơi Nhûông chûúng trònh nađy chaơy ăöơc líơp, khöng coâ sûơ giao tiïịp vúâi hïơ ăiïìu hađnh (HĂH) cuông nhû khöng cho pheâp ngûúđi sûê duơng can thiïơp vađo

(2) Loaơi thûâ hai lađ bao göìm nhûông hïơ thöịng coâ sûơ can thiïơp cuêa maây tñnh thöng thûúđng Thöng qua maây tñnh ta hoađn toađn coâ thïí kiïím soaât cuông nhû ăiïìu khiïín moơi hoaơt ăöơng cuêa thiïịt bõ phíìn cûâng cuêa hïơ thöịng nađy Nhûông chûúng trònh ăiïìu khiïín nađy coâ ríịt nhiïìu loaơi, phuơc vuơ cho nhiïìu muơc ăñch khaâc nhau vađ coâ thïí ặúơc viïịt laơi cho phuđ húơp vúâi ýu cíìu thûơc tïị Hiïín nhiïn thò loaơi hïơ thöịng nađy hoaơt ăöơng ặúơc phaêi cíìn möơt HĂH ăiïìu khiïín maây tñnh HĂH nađy phaêi coâ khaê nùng nhíơn biïịt ặúơc thiïịt bõ phíìn cûâng, coâ khaê nùng hoađn tíịt cöng viïơc trong giúâi haơn thúđi gian nghiïm ngùơt HĂH nađy phaêi lađ HĂH höí trúơ xûê lyâ thúđi gian thûơc – Realtime operating system (RTOS)

1.2 Hïơ ăiïìu hađnh cho hïơ thöịng thúđi gian thûơc :

1.2.1 Sú lûúơc vïì hïơ ăiïìu hađnh :

Cho ăïịn nay, nhòn chung thò chûa coâ möơt ắnh nghôa nađo lađ hoađn haêo vïì hïơ ăiïìu hađnh (HĂH) HĂH ặúơc xem nhû möơt chûúng trònh hoaơt ăöơng giûôa ngûúđi sûê duơng vađ phíìn cûâng maây tñnh vúâi muơc tiïu cung cíịp möơt möi trûúđng ăïí thûơc thi caâc chûúng trònh ûâng duơng vađ thuíơn lúơi, hiïơu quaê hún trong viïơc sûê duơng maây tñnh

Trang 7

Cho àïën ngây nay, HÀH àậ phất triïín vúái nhiïìu loẩi khấc nhau nhû : HÀH quẫn lyá theo lư àún giẫn, quẫn lyá theo lư àa chûúng (Multiprogram), chia xễ thúâi gian (Multitasking), xûã lyá song song, mẩng vâ phên tấn

1.2.2 Quan niïåm tiïën trịnh, tiïíu trịnh :

Trong cấc HÀH hiïån àẩi ngây nay, quan niïåm tiïën trịnh vâ tiïíu trịnh lâ trung têm cuãa cẫ hïå thưëng, têët cẫ cấc xûã lyá àïìu têåp trung vâo tiïën trịnh, vâo tiïíu trịnh ÚÃ àêy àïí thuêån tiïån, ta chuá trổng vâo mưi trûúâng Winows 32 bit

Trang 8

CAÂC CHÛÚNG TRÒNH ÛÂNG DUƠNG HÏƠ ĂIÏÌU HAĐNH PHÍÌN CÛÂNG

User 1

Hònh 1 : Mö hònh trûđu tûúơng cuêa hïơ thöịng maây tñnh

User n User 2

Möơt tiïịn trònh ặúơc xem nhû lađ möơt thïí hiïơn ăang thûơc thi cuêa möơt chûúng trònh Trïn möi trûúđng Windows 32 bit, möơt tiïịn trònh súê hûêu 4 GB khöng gian ắa chó böơ nhúâ khöng phuơ thuöơc vađo böơ nhúâ víơt lyâ Tíịt caê caâc DLL cíìn thiïịt ăïìu ặúơc map vađo khöng gian ắa chó nađy Khi möơt tiïịn trònh ặúơc taơo líơp, coâ möơt tiïíu trònh chñnh ặúơc taơo líơp vađ tiïịn trònh kïịt thuâc khi tíịt caê caâc tiïíu trònh con ăïìu kïịt thuâc Möơt tiïịn trònh coâ thïí coâ nhiïìu tiïíu trònh con vađ coâ thïí taơo líơp caâc tiïịn trònh khaâc

Tiïíu trònh lađ möơt thađnh phíìn xûê lyâ cú baên cuêa tiïịn trònh, tiïíu trònh súê hûôu möơt con troê lïơnh riïng, taơp caâc thanh ghi riïng, stack riïng vađ tíịt caê nùìm trong khöng gian ắa chó cuêa tiïịn trònh súê hûôu Nhû víơy, caâc tiïíu trònh trong möơt tiïịn trònh coâ thïí chia seê caâc tađi nguýn vúâi nhau Tíịt caê caâc cöng viïơc ăiïìu phöịi tiïịn trònh ăïìu nhùưm vađo hoaơt ăöơng cuêa tiïíu trònh

Caâc tiïíu trònh, tiïịn trònh phaêi liïn laơc vúâi nhau ăïí coâ möơt cú chïị ăiïìu phöịi húơp lyâ, ăïí coâ möơt caâch thûâc chia seô dûô liïơu vúâi nhau Caâc cú chïị liïn laơc vađ chia seô dûô liïơu ặúơc caâc HĂH vađ NNLT hiïơn ăaơi quan tím nhû sûê duơng tñn hiïơu, pipe, vuđng nhúâ chia seô, trao ăöíi thöng ăiïơp, sûê duơng socket v.v

1.2.3 Hïơ ăiïìu hađnh thúđi gian thûơc :

Hïơ ăiïìu hađnh thúđi gian thûơc (RTOS - Realtime Operating system) lađ HĂH coâ sûơ chuâ troơng giaêi quýịt víịn ăïì ăođi hoêi khùưc khe vïì thúđi gian cho caâc thao taâc xûê lyâ hoùơt dođng dûô liïơu Ăíy lađ HĂH hiïơn ăaơi, tinh vi, thúđi gian xûê lyâ nhanh, phaêi cho kïịt quaê chñnh xaâc trong thúđi gian bõ thuâc eâp nhanh nhíịt HĂH nađy

Trang 9

thûúđng sûê duơng möơt ăöìng höì hïơ thöịng coâ cho kyđ ngùưt nhoê vađo khoaêng vađi micro giíy ăïí thûơc hiïơn ăiïìu phöịi caâc tiïịn trònh

Caâc HĂH hiïơn ăaơi ngađy nay phíìn lúân ăïìu höí trúơ (úê mûâc tûúng ăöịi) xûê lyâ thúđi gian thûơc, cung cíịp möơt möi trûúđng coâ thïí töí chûâc caâc RTS Theo sûơ ăaânh giaâ cuêa caâc chuýn viïn RTS thò cho ăïịn nay, caâc HĂH thuöơc hoơ UNIX lađ coâ thïí ăaâp ûâng töịt nhíịt caâc ýu cíìu khùưc khe cuêa caâc RTS phûâc taơp Tuy nhiïn, trong khuön khöí luíơn vùn nađy cuđng vúâi caâc ýu cíìu cuông nhû hiïơn traơng thûơc tïị, hïơ thöịng ăang ặơoc quan tím seô triïín khai trïn hïơ thöịng maây PC suê duơng HĂH Windows 9x 32 bit

HÏƠ ĂIÏÌU HAĐNH WINDOWS VAĐ VÍỊN ĂÏÌ THÚĐI GIAN THÛƠC

Windows ặúơc thiïịt kïị búêi haông Microsoft, ra ăúđi vađo 11/1985, cho ăïịn nay ăaô traêi qua nhiïìu phiïn baên vađ caêi tiïịn Windows ặúơc sûê duơng röơng raôi nhíịt trïn thïị giúâi maây vi tñnh caâ nhín (PC) vađ ăaô ặa Microsoft thađnh cöng ty hađng ăíìu thïị giúâi trong lônh vûơc tin hoơc ÚÊ ăíy ta quan tím ăïịn caâc Windows 9x vúâi caâc phiïn baên 32 bit

Lađ HĂH ăa nhiïơm (Multitasking) xûê lyâ 32 bñt, chaơy trïn möi trûúđng maây PC, coâ höî trúơ cho viïơc xûê lyâ thúđi gian thûơc, coâ ýu cíìu cíịu hònh khöng cao, nïịu cíịu hònh cao thò töịc ăöơ xûê lyâ cađng nhanh, tûúng thñch caâc HĂH khaâc, coâ nhiïìu ăùơc ăiïím ặúơc moơi ngûúđi ûu chuöơng nhû giao diïơn ăöì hoaơ thín thiïơn, tñnh an toađn, khaê nùng Plus and Play v.v Vïì víịn ăïì thúđi gian thûơc, HĂH ăa nhiïơm nađy ăùơt nïìn moâng trïn sûơ chia xeê thúđi gian Khaâi niïơm tiïịn trònh vađ khaâi niïơm tiïíu trònh lađ trung tím nïìn taêng cho víịn ăïì xûê lyâ ăiïìu phöịi, ăöìng böơ vađ caâc xûê lyâ liïn quan thúđi gian thûơc khaâc HĂH nađy vöịn ặúơc viïịt phíìn lúân bùìng ngön ngûô C/C++ lađ möơt trong nhûông ngön ngûô líơp trònh (NNLT) coâ khaê nùng höí trúơ xûê lyâ thúđi gian thûơc (Xem phíìn Ngön ngûô líơp trònh RTS) Cung cíịp thû viïơn duđng chung API cho pheâp giao tiïịp vúâi hïơ thöịng cuông nhû töí chûâc ăöìng böơ hoaâ tiïịn trònh, tiïíu trònh Windows 9x khöng höí trúơ can thiïơp trûơc tiïịp vađo hïơ thöịng hay caâc thiïịt bõ ngoaơi vi (nhûng víîn cho pheâp), tuy nhiïn laơi cung cíịp möơt möi trûúđng giao tiïịp dïî dađng

Trang 10

1.3 Ngön ngûô líơp trònh cho hïơ thöịng thúđi gian thûơc:

1.3.1 Töíng quan vïì ngön ngûô líơp trònh cho hïơ thöịng thúđi gian thûơc:

Phíìn lúân caâc ûâng duơng thúđi gian thûơc khöng thïí viïịt bùìng caâc ngön ngûô líơp trònh (NNLT) truýìn thöịng dûúâi nhûông HĂH truýìn thöịng búêi vò caâc NNLT nađy khöng höî trúơ caâc xûê lyâ coâ sûơ rađng buöơc khùưc khe vïì thúđi gian thûơc thi Cuông coâ möơt söị NNLT loaơi nađy coâ phíìn múê röơng höí trúơ cho pheâp viïịt chûúng trònh xûê lyâ thúđi gian thûơc bùìng caâch can thiïơp trûơc tiïịp vađo phíìn cûâng mađ khöng thöng qua NNLT ăang chaơy

Möơt söị RTS ặúơc viïịt tûđ ngön ngûô kinh ăiïín nhû C nïịu ặúơc cung cíịp thïm thû viïơn caâc hađm höí trúơ xûê lyâ thúđi gian thûơc, ýịu töị thúđi gian thûơc luâc nađy lađ sûơ chia xeê giûôa NNLT vađ RTOS ăang chaơy

Ngađy nay coâ nhiïìu NNLT höí trúơ viïịt chûúng trònh xûê lyâ thúđi gian thûơc, vñ duơ nhû Ada chuýn trong caâc lônh vûơc quín sûơ Java vöịn ặúơc thuýịt kïị ăïí duđng trong caâc hïơ thöịng nhuâng trong caâc thiïịt bõ dín duơng, truýìn thöng Java coâ cú chïị höí trúơ ăa nhiïơm riïng khöng phuơ thuöơc vađo HĂH C/C++ ặúơc cung cíịp caâc thû viïơn hađm höî trúơ cú chïị xûê lyâ thúđi gian thûơc theo nhiïìu HĂH höí trúơ xûê lyâ thúđi gian thûơc khaâc nhau v.v

Trong luíơn vùn nađy, NNLT ặúơc quan tím ăïịn lađ ngön ngûô C duđng ăïí phaât triïín caâc RTS dûơa trïn möi trûúđng HĂH Windows (32 bit) do Microsoft cung cíịp

1.3.2 Sú lûúơc vïì ngön ngûô líơp trònh C:

NNLT C(/C++) ngađy nay ặúơc sûê duơng röơng raôi trïn nhiïìu phûúng diïơn cuông nhû nhiïìu loaơi maây tñnh, lađ NNLTõ duđng ăïí viïịt nhiïìu NNLT, trònh biïn dõch cuông nhû viïịt caâc ûâng duơng thûúng maơi

NNLT C ặúơc thuýịt kïị vađo nùm 1973 búêi tiïịn sô Denis Ritche thuöơc diïơn nghiïn cûâu Bell trûơc thuöơc haông AT&T, NNLT nađy ặúơc thuýịt kïị ăïí viïịt HĂH UNIX - möơt (hoơ) HĂH ặúơc ríịt nhiïìu ngûúđi sûê duơng cho ăïịn hiïơn nay, trïn caê maây mainframe vađ hiïơn nay lađ PC

Ngađy nay trïn thõ trûúđng coâ ríịt nhiïìu trònh biïn dõch cho caể C vađ C++, phíìn lúân ăïìu dûơa trïn chuíín ANSI nhû Turbo C/C++, Borland C/C++, Builder C/C++ cuêa haông Borland, Microsoft C/C++, Visual C/C++ cuêa Microsoft C lađ NNLT cíịp trung, coâ cíịu truâc (nhûng khöng chñnh thöịng), tuy nhiïn C lađ möơt NNLT maơnh caê vïì khña caơnh cuâ phaâp cuông nhû phaât sinh maô thûơc thi C kïịt húơp ặúơc caê ýịu töị mïìm deôo vađ khaê nùng ăiïìu khiïín maơnh meô cuêa Assembly cuông nhû tñnh dïî hiïíu, roê rađng cuêa caâc ngön ngûô cíịp cao khaâc nhû BASIC, Pascal Vïì víịn ăïì thúđi gian thûơc, NNLT C vöịn duđng ăïí viïịt HĂH UNIX – möơt HĂH coâ khaê nùng xûê lyâ thúđi gian thûơc töịt nhíịt hiïơn nay nhû ăaô ăïì cíơp trïn C

Trang 11

cođn ặúơc duđng ăïí viïịt nhiïìu HĂH hiïơn ăaơi khaâc ngađy nay C coâ sùỉn thû viïơn hađm xûê lyâ thúđi gian chuíín, mûâc ăöơ chñnh xaâc thúđi gian xûê lyâ coâ thïí lïn ăïịn hađng micro giíy Bïn caơnh ăoâ lađ khaê nùng giao tiïịp trûơc tiïịp vúâi thiïịt bõ phíìn cûâng, khi cíìn coâ thïí goơi trûơc tiïịp caâc ăoaơn maô viïịt bùìng Assembly hay cheđn trûơc tiïịp maô Assembly vađo chûúng trònh viïịt bùìng C

Trïn möîi nïìn HĂH khaâc nhau nhû Windows, UNIX C cođn ặúơc cung cíịp hïơ thöịng caâc hađm höí trúơ xûê lyâ thúđi gian thûơc, höí trúơ ăöìng böơ hoâa caâc quaâ trònh, rađng buöơc toađn veơn, ăöơc quýìn truy xuíịt giuâp cho C coâ khaê nùng ăiïìu khiïín ăïịn tûđng tiïịn trònh, tûđng tiïíu trònh ăang thûơc thi

NNLT C coâ thû viïơn hađm xûê lyâ thúđi gian thûơc riïng vađ thû viïơn caâc hađm ăiïìu phöịi vađ ăöìng böơ caâc tiïịn trònh ặúơc höí trúơ tûđ HĂH Windows (Chi tiïịt caâc hađm nađy úê phíìn phuơ luơc)

Trong xu hûúâng ngađy nay, cöng nghïơ hûúâng ăöịi tûúơng cuông ríịt ặúơc quan tím trong lônh vûơc RTS, coâ nhiïìu NNLT hûúâng ăöịi tûúơng höí trúơ xíy dûơng RTS ra ăúđi nhû C++, Java Tuy nhiïn nhûông NNLT nađy laơi vi phaơm vïì phûúng phaâp luíơn cuêa RTS nhû coâ quaâ nhiïìu thao taâc phuơ lađm míịt thúđi gian xûê lyâ Trong thûơc tïị, ăaô coâ möơt söị ăïì aân vïì RTS xíy dûơng dûơa trïn khöng gian ăöịi tûúơng (caê vïì thiïịt kïị vađ cađi ăùơt) phaêi ngûng giûôa chûđng hoùơt phaêi chuýín hûúâng vò khöng ăaâp ûâng ặúơc caâc rađng buöơc thúđi gian mađ nguýn nhín síu xa lađ bùưt nguöìn tûđ NNLT coâ qua nhiïìu thao taâc phuơ noâi trïn vađ viïơc bao boơc dûô liïơu theo phûúng phaâp hûúâng ăöịi tûúơng lađm míịt thúđi gian truy xuíịt

1.4 Quan niïơm thúđi gian trong hïơ thöịng thúđi gian thûơc:

1.4.1 Ăöìng höì hïơ thöịng:

Thúđi gian hïơ thöịng ặúơc baâo bùìng möơt ăöìng höì goơi lađ ăöìng höì hïơ thöịng Trong möi trûúđng coâ nhiïìu vi xûê lyâ coâ thïí töìn taơi nhiïìu ăöìng höì, thò nhûông ăöìng höì nađy phaêi ặúơc ăöìng böơ vúâi nhau

Coâ thïí biïíu diïîn mûâc ăöơ chñnh xaâc cuêa ăöìng höì hïơ thöịng qua hađm söị sau: C(t) = t, •t

Ăöìng höì ặúơc goơi lađ chñnh xaâc vađo thúđi ăiïím ti nïịu : C(ti) = ti

1.4.2 Caâc loaơi ăöìng höì hïơ thöịng:

Ăún giaên nhíịt lađ hïơ thöịng chó coâ möơt ăöìng höì (sever clock), ýu cíìu ăöơ chñnh xaâc vađ tin cíơy ríịt cao Loaơi nađy giaâ thađnh ríịt ăùưt

Möơt loaơi khaâc göìm möơt ăöìng höì chñnh (master clock) ăöìng böơ vúâi nhiïìu ăöìng höì phuơ (slave clock) theo kiïíu “polling”, tíịt caê caâc ăöìng coâ cuđng ăöơ chñnh xaâc, nïịu ăöìng höì chñnh bõ hoêng thò möơt trong nhûông ăöìng höì phuơ seô thay thïị

Trang 12

Ăöịi vúâi caâc hïơ thöịng phín taân, ăöìng höì hïơ thöịng bao göìm tíịt caê caâc ăöìng höì phín taân vađ ặúơc ăöìng böơ vúâi nhau theo cuđng möơt thuíơt toaân

1.4.3 Quan niïơm vïì sûơ rúđi raơc thúđi gian:

Trong quan niïơm cuêa RTS, thúđi gian ặúơc xem nhû lađ möơt ýịu töị rúđi raơc Ăíy lađ möơt khña caơnh ríịt phûâc taơp vađ lyâ thuâ

(1) Trong caâc HĂH kinh ăiïín, coâ möơt ăöìng höì quaên lyâ thúđi gian ăöìng böơ giûôa caâc tiïịn trònh Ăöìng höì nađy phaât sinh ra ngùưt baâo hiïơu cho hïơ thöịng theo chu kyđ Chu kyđ nađy coâ thïí ặúơc ăiïìu chónh nhûng khöng quaâ nhanh hay quaâ chíơm lađm aênh hûúêng ăïịn thúđi gian thûơc thi caâc tiïịn trònh, vađ thûúđng lađ vađo khoaêng vađi chuơc mili giíy Chñnh chu kyđ nađy ăaô chia thúđi gian ra thađnh caâc maênh ăuê nhoê

(2) Cođn trong caâc RTOS, hïơ thöịng sûê duơng möơt ăöìng höì coâ khaê nùng líơp trònh ăiïìu phöịi ngùưt theo möơt chu kyđ ăuê nhoê húơp lyâ, chu kyđ úê hïơ thöịng nađy vađo khoaêng vađi micrö giíy

Trong thûơc tïị thò caâc RTS thûúđng dûơa trïn caâch tiïịp cíơn kïịt húơp giûôa hai quan niïơm trïn, thûúđng thò quan ăiïím (1) lađ nïìn taêng coâ sûơ höí trúơ cuêa quan ăiïím (2)

1.4.4 Rađng buöơc vïì thúđi gian:

Vúâi möîi ýịu töị kñch thñch, hïơ thöịng tiïịp nhíơn vađo möơt thúđi ăiïím t0, hïơ thöịng tiïịn hađnh cíịp phaât tađi nguýn, thûơc hiïơn caâc xûê lyâ tñnh toaân vađ hoađn tíịt viïơc traê lúđi vađo thúđi ăiïím tk khaâc sau ăoâ

Möơt rađng buöơc töịi thiïíu coâ thïí ặúơc ắnh nghôa qua böơ ba sau:

(ID, Tbegin(condition1), Tend(condition2))

Trong ăoâ: ID : Chó söị cuêa tiïịn trònh

Tbegin(condition1) : Thúđi gian bùưt ăíìu tiïịn trònh Tend(condition2) : Thúđi gian tiïịn trònh hoađn tíịt xûê lyâ

Phuơ thuöơc vađo hïơ thöịng vađ thúđi gian xaâc ắnh ặúơc tađi nguýn cíìn cíịp phaât, cuông nhû quaâ trònh giaêi phoâng tađi nguýn sau khi tiïịn trònh sûê duơng… Möơt rađng buöơc khùưc khe hún coâ thïí xaâc ắnh nhû sau:

(ID, Tbegin(condition1), CID, FID, Tend(condition2)) dC(t) dt ti

Trong ăoâ: ID : Chó söị cuêa tiïịn trònh

Tbegin(condition1) : Thúđi gian bùưt ăíìu tiïịn trònh Tend(condition2) : Thúđi gian tiïịn trònh hoađn tíịt xûê lyâ CID : Thúđi gian ûúâc tñnh cuêa tiïịn trònh (söị míîu thúđi gian) FID : Tíìn söị míîu thúđi gian

Möîi chó thõ cú súê (Assembly) coâ möơt thúđi gian thûơc thi cöị ắnh phuơ thuöơc vađo phíìn cûâng, vñ duơ :

Ngày đăng: 25/08/2012, 14:02

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan