Giáo trình "Chương I: Giới thiệu chung - Thời gian thực (Real-Time) là gì?"

Giáo trình có 2 trang gồm 1 chương chính bao gồm các kiến thức cơ bản liên quan: "Chương I: Giới thiệu chung - Thời gian thực (Real-Time) là gì?" giúp bạn ôn luyện và nắm vững kiến thức môn học. Mời bạn đọc đón xem!

Thi gian thc và các đặc tính ca thi gian thc
Chương I Gii thiu chung
Thi gian thc (Real-Time) là gì?
Thi gian thc rt khó định nghĩa. Ý tưởng cơ bn ca thi gian thc th hin ch, mt
h thng phi có nhng phn ng thích hp, đúng thi đim vi môi trường ca nó.
Nhiu người luôn nghĩ rng, thi gian thc có nghĩ là thc s nhanh, càng nhanh càng tt,
điu này là sai lm. Thi gian thc có nghĩa “đủ nhanh” (fast enough) trong mt ng
cnh, mt môi trường mà h thng đang hot động. Khi chúng ta đề cp đến máy tính
điu khin động cơ ô tô, chúng ta cn nó chy càng nhanh càng tt.
Mt ví d khác, khi chúng ta đề cp đến mt nhà máy lc du hoá hc chng hn, nhà
máy được điu khin bi mt hoc mt h thng máy tính. Các máy tính này có trách
nhim điu khin quá trình hoá hc đồng thi phi phát hin ra được các s c có th xy
ra. Tuy nhiên, các phn ng hay các quá trình hoá hc thường có hng s thi gian khá
ln t hàng giây cho ti hàng phút là ít. Chính vì thế mày chúng ta có th gi thiết rng
máy tính hoàn toàn có kh năng phn ng li các s c nghiêm trng. Tuy nhiên, đặt vn
đề là nếu h thng máy tính đó đang trong quá trình in mt bn báo cáo dài v các thông
s sn lượng ca tun trước thì đột nhiên trc trc xy ra. Vy thì nó mt bao nhiêu thi
gian để có th phn ng li các s c như thế?
Thc cht ca vic tính toán thi gian thc không ch vic phn ng đủ nhanh mà còn
phi đáng tin cy và chính xác. Máy tính điu khin động cơ trong ô tô ca bn phi có
th điu chnh lung nhiên liu và thi gian đánh la mt cách hp lý trong mi vòng
quay. Nếu không, động cơ s không làm vic theo mong mun. Máy tính trong nhà máy
lc du phi có th phát hin và phn ng li các điu kin bt thường trong thi gian cho
phép để có th tránh được các thm ho có th xy ra.
Như vy, ngh thut ca lp trình thi gian thc chính là vic thiết kế h thng sao cho
nó có th tiếp nhn mt cách chính xác các ràng buc v mt thi gian trong sut quá
trình các s kin ngu nhiên và không đồng b xy ra.
Võ Duy Thành
coinsking208@yahoo.com
Downloaded by Ng?c Di?p ??ng (ngocdiep10012000@gmail.com)
lOMoARcPSD|36477180
Thi gian thc và các đặc tính ca thi gian thc
Thi gian thc và các dng ca nó
V cơ bn, chương trình có tính thi gian thc phi có kh năng phn ng li các s kin
trong môi trường mà h thng làm vic trong khong thi gian nht định cho trước.
Nhng h thng như vy được gi là h thng “điu khin s kin” (hay h thng lái s
kin – event-driven) và có th được mô t bng thi gian tr t khi mà s kin xy ra cho
ti khi h thng có hot động phn ng li vi s kin đó.
Thi gian thc, mt khác, đòi hi mt gii hn cao hơn v thi gian tr, được gi là “thi
hn lp danh mc” (scheduling deadline). Mt h thng thi gian thc có th được chia
làm 2 loi. Thi “gian thc cng” và thi gian thc mm” (hard real-time và soft real-
time, tôi xin gi theo đúng t nguyên bn trong tiếng Anh v sau này). Trong h thng
hard real-time, h thng phi tiếp nhn và nm bt được scheduling deadline ca nó ti
mi và mi thi đim. S sai sót trong vic tiếp nhn deadline có th dn đến hu qu
nghiêm trng thm chí chết người. Ly ví d, máy h tr nhp tim cho bnh nhân khi
phu thut. Thut toán điu khin ph thuc vào thi gian nhp tim ca người bnh, nếu
thi gian này b tr, tính mng ca người bnh s b nh hưởng.
Đối vi khái nim soft real-time, scheduling deadline có d th hơn chút ít. Chúng ta
mong mun h thng phn ng li các s kin trong thi gian cho phép nhưng không có
gì thc s nghiêm trng xy ra nếu h thng thnh thong b tr. Li v mt thi gian có
th ch đơn gin là dn đến hu qu gim độ tin cy ca đối tượng đối vi h thng mà
không có hu qu thê thm nào khác xy ra. Mng lưới thu ngân t động ca ngân hàng
là ví d rõ nht cho soft real-time. Mng rút tin t động ATM là h thng thi gian
thc? Chng ai dám đặt cược c. Khi bn đưa th ATM vào máy, bn mong là máy s
phn ng li trong vòng 1 hay 2 giây. Nhưng nếu nó lâu hơn thế, điu ti t nht có th
xy ra là… bn st rut và thy khó chu đối vi cái máy đó.
Trên thc tế có rt nhiu h thng phi hp c 2 loi trên, trong đó, mt phn nào đó ca
h thng làm vic da trên hard real-time, mt s phn khác li da trên soft real-time.
Chương sau ca bài viết này s nói v đặc tính đầu tiên và cũng quan trng nht ca lp
trình thi gian thc. Đó là Polling và Interrupt.
Võ Duy Thành –
coinsking208@yahoo.com
Downloaded by Ng?c Di?p ??ng (ngocdiep10012000@gmail.com)
lOMoARcPSD|36477180
| 1/2

Preview text:

lOMoARcPSD|36477180
Thời gian thực và các đặc tính của thời gian thực

Chương I Giới thiệu chung
Thời gian thực (Real-Time) là gì?
Thời gian thực rất khó định nghĩa. Ý tưởng cơ bản của thời gian thực thể hiện ở chỗ, một
hệ thống phải có những phản ứng thích hợp, đúng thời điểm với môi trường của nó.
Nhiều người luôn nghĩ rằng, thời gian thực có nghĩ là thực sự nhanh, càng nhanh càng tốt,
điều này là sai lầm. Thời gian thực có nghĩa “đủ nhanh” (fast enough) trong một ngữ
cảnh, một môi trường mà hệ thống đang hoạt động. Khi chúng ta đề cập đến máy tính
điều khiển động cơ ô tô, chúng ta cần nó chạy càng nhanh càng tốt.
Một ví dụ khác, khi chúng ta đề cập đến một nhà máy lọc dầu hoá học chẳng hạn, nhà
máy được điều khiển bởi một hoặc một hệ thống máy tính. Các máy tính này có trách
nhiệm điều khiển quá trình hoá học đồng thời phải phát hiện ra được các sự cố có thể xảy
ra. Tuy nhiên, các phản ứng hay các quá trình hoá học thường có hằng số thời gian khá
lớn từ hàng giây cho tới hàng phút là ít. Chính vì thế mày chúng ta có thể giả thiết rằng
máy tính hoàn toàn có khả năng phản ứng lại các sự cố nghiêm trọng. Tuy nhiên, đặt vấn
đề là nếu hệ thống máy tính đó đang trong quá trình in một bản báo cáo dài về các thông
số sản lượng của tuần trước thì đột nhiên trục trặc xảy ra. Vậy thì nó mất bao nhiêu thời
gian để có thể phản ứng lại các sự cố như thế?
Thực chất của việc tính toán thời gian thực không chỉ ở việc phản ứng đủ nhanh mà còn
phải đáng tin cậy và chính xác. Máy tính điều khiển động cơ trong ô tô của bạn phải có
thể điều chỉnh luồng nhiên liệu và thời gian đánh lửa một cách hợp lý trong mỗi vòng
quay. Nếu không, động cơ sẽ không làm việc theo mong muốn. Máy tính trong nhà máy
lọc dầu phải có thể phát hiện và phản ứng lại các điều kiện bất thường trong thời gian cho
phép để có thể tránh được các thảm hoạ có thể xảy ra.
Như vậy, nghệ thuật của lập trình thời gian thực chính là việc thiết kế hệ thống sao cho
nó có thể tiếp nhận một cách chính xác các ràng buộc về mặt thời gian trong suốt quá
trình các sự kiện ngẫu nhiên và không đồng bộ xảy ra.
Võ Duy Thành – coinsking208@yahoo.com
Downloaded by Ng?c Di?p ??ng (ngocdiep10012000@gmail.com) lOMoARcPSD|36477180
Thời gian thực và các đặc tính của thời gian thực

Thời gian thực và các dạng của nó
Về cơ bản, chương trình có tính thời gian thực phải có khả năng phản ứng lại các sự kiện
trong môi trường mà hệ thống làm việc trong khoảng thời gian nhất định cho trước.
Những hệ thống như vậy được gọi là hệ thống “điều khiển sự kiện” (hay hệ thống lái sự
kiện – event-driven) và có thể được mô tả bằng thời gian trễ từ khi mà sự kiện xảy ra cho
tới khi hệ thống có hoạt động phản ứng lại với sự kiện đó.
Thời gian thực, mặt khác, đòi hỏi một giới hạn cao hơn về thời gian trễ, được gọi là “thời
hạn lập danh mục” (scheduling deadline). Một hệ thống thời gian thực có thể được chia
làm 2 loại. Thời “gian thực cứng” và thời “gian thực mềm” (hard real-time và soft real-
time, tôi xin gọi theo đúng từ nguyên bản trong tiếng Anh về sau này). Trong hệ thống
hard real-time, hệ thống phải tiếp nhận và nắm bắt được scheduling deadline của nó tại
mỗi và mọi thời điểm. Sự sai sót trong việc tiếp nhận deadline có thể dẫn đến hậu quả
nghiêm trọng thậm chí chết người. Lấy ví dụ, máy hỗ trợ nhịp tim cho bệnh nhân khi
phẫu thuật. Thuật toán điều khiển phụ thuộc vào thời gian nhịp tim của người bệnh, nếu
thời gian này bị trễ, tính mạng của người bệnh sẽ bị ảnh hưởng.
Đối với khái niệm soft real-time, scheduling deadline có dễ thở hơn chút ít. Chúng ta
mong muốn hệ thống phản ứng lại các sự kiện trong thời gian cho phép nhưng không có
gì thực sự nghiêm trọng xảy ra nếu hệ thống thỉnh thoảng bị trễ. Lỗi về mặt thời gian có
thể chỉ đơn giản là dẫn đến hậu quả giảm độ tin cậy của đối tượng đối với hệ thống mà
không có hậu quả thê thảm nào khác xảy ra. Mạng lưới thu ngân tự động của ngân hàng
là ví dụ rõ nhất cho soft real-time. Mạng rút tiền tự động ATM là hệ thống thời gian
thực? Chẳng ai dám đặt cược cả. Khi bạn đưa thẻ ATM vào máy, bạn mong là máy sẽ
phản ứng lại trong vòng 1 hay 2 giây. Nhưng nếu nó lâu hơn thế, điều tồi tệ nhất có thể
xảy ra là… bạn sốt ruột và thấy khó chịu đối với cái máy đó.
Trên thực tế có rất nhiều hệ thống phối hợp cả 2 loại trên, trong đó, một phần nào đó của
hệ thống làm việc dựa trên hard real-time, một số phần khác lại dựa trên soft real-time.
Chương sau của bài viết này sẽ nói về đặc tính đầu tiên và cũng quan trọng nhất của lập
trình thời gian thực. Đó là Polling và Interrupt.
Võ Duy Thành – coinsking208@yahoo.com
Downloaded by Ng?c Di?p ??ng (ngocdiep10012000@gmail.com)