Tải bản đầy đủ (.pdf) (20 trang)

Mô hình thời gian thực potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (409.74 KB, 20 trang )



hình

thờigianthực
Topics
 Khái niệmthời gian thực
 Lậplịch
 Thời gian
 Các phương pháp tính
2


Quang

Dũng
Sách

tham

khảo
 P. Marwedel: Embedded System Design
(paperback), Springer Verlag, December 2005,
ISBN: 0387292373.
 G.C. Buttazzo: Hard Real-Time Computing
Systems. Kluwer Academic Publishers, 1997.
 W. Wolf: Computers as Components –
Principles of Embedded System Design. Morgan
Kaufman Publishers, 2000.
 J. Teich: Digitale Hardware/Software Systeme,
Springer Verlag, 1997.


Khái

niệmcơ

bản
 Hệ hard RT: các tác vụ củahệ thống bắtbuộc
phảinằm trong khoảng deadline cho phép của
hệ thống. Mọihoạt động nằm ngoài deadline đó
đượccoilàlỗicủahệ thống. (vượt quá WCET)
 Hệ soft RT: tác vụ có thể do mộtsố nguyên
nhân, được phép gia hạn thêm thời gian ngoài
khoảng deadline củahệ thống, mà không gây
ảnh hưởng nghiêm trọng tớimôitrường cũng
như tính chính xác củahệ thống đó.
Lậplịch
 Cho tậphợpcáctácvụ J = {J1, J2, …}
 Lậplịch là sự gán cho các tác vụ sự xử lý, mà
mỗitácvụđượcthực thi hoàn toàn
 Lậplịch có thểđượcxácđịnh như một hàm
số nguyên σ: R → N, trong đó σ(t) – tác vụ tại
thời điểmthựcthit. Nếu σ(t) = 0 thì tiếntrình
đượcgọilàrỗi (idle)
 Nếu σ(t) thay đổi giá trị củanótạimộtthời
điểm nào đóthìtiếntrìnhđượcgọilàchuyển
đổingữ cảnh (context switch)
Lậplịch

(tiếp)
 Đốivớimỗikhoảng mà σ(t) là hằng, thì tiến
trình đó đượcgọilàphầnthời gian (time slice)

 Lậplịch ưutiênlàlậplịch mà các tác vụđang
hoạt động có thể bị ngắttùyý tạimọithời
điểm, và gán CPU cho tác vụ khác theo kế
hoạch đã đượclậptrước đó
Lậplịch



thờigian
 Lậplịch có thể thựchiện được, nếumọitiếntrìnhcóthể
kết thúc theo mộtsự bắtbuộcchotrước
 Tậphợpcáctiếntrìnhcóthể lậplịch được, nếutại đó
tồntạiítnhấtmộtgiảithuậtmàthủ tậplậplịch có thể
thựchiện được
 Thờigianđếna
i
(arrival time) hay thờigiangiải phóng
(release time) r
i
là thờigianmàtại đótiếntrìnhsẵn sàng
để thựcthi
 Sựước tính thờigianC
i
(computation time) là thờigian
cầnthiết để CPU thựcthimộttiến trình mà không xảyra
ngắt
Lậplịch




thờigian(tiếp)
 Deadline d
i
là thời gian mà mỗitiếntrình
phải hoàn thành
 Thời gian bắt đầus
i
(start time) là điểmbắt
đầuthựcthicủatiếntrình
 Thời gian kết thúc f
i
(finishing time) là điểm
kết thúc thựcthicủatiếntrình
Lậplịch



thờigian
 Sử dụng các định nghĩa trên, ta có d
i
≥ r
i
+ C
i
 Sự trễ (lateness) L
i
= f
i
–d
i

, là sự trễ về kết thúc củatiến
trình so với deadline. Nếutiếntrìnhkếtthúctrước
deadline thì không có trễ
 Thờigianvượttrội (exceeding time) E
i
= max(0, L
i
), là
thờigianmàtiến trình sau deadline
 Tính lỏng lẻothời gian (slack time) X
i
= d
i
–a
i
–C
i
, là
thờigianlớnnhấtmàtiếntrìnhcóthể trễđểhoàn thành
trong deadline
Deadline
 Deadline là khoảng thờigianmàmộttiếntrình
cần để hoàn thành
 Relative deadline D
i
: là thời gian cho phép lớnnhất
đốivớimộttiếntrình
 Absolute deadline d
i
: là thờigianmàtiếntrìnhbắt

buộcphải hoàn thành
Job và

task
 Job – là đơnvị công việc đượclậplịch bởi
hệ thống
 Task –làtậphợp các job có quan hệ tham
gia vào hệ thống
Lậplịch



thờigian
 Tác vụ tuần hoàn τ
i
: sự nốitiếp liên tụccủa
những hoạt động đồng nhất, gọilàjobs, mà
đượchoạt động theo quy tắctạikhoảng cốđịnh
vớichukỳ T
i
. Thờigianhoạt động của job thứ
nhất đượcgọilàphaΦ
i


dụ
 Computation time: C
1
=9, C
2

=12
 Start time: s
1
=0, s
2
=6
 Finishing time: f
1
=18, f
2
=28
 Lateness: L
1
=-4, L
2
=1
 Exceeding time: E
1
=0, E
2
=1
 Slack time: X
1
=13, X
2
=11
Ép

buộc


quyền

ưutiên
 Ép buộc quyền ưu tiên trong graphs có thể
đượcmôtả thông qua hướng không tuần hoàn
graph G, mà tiếntrìnhđượcthể hiệnbằng các
node và các quan hệ cao hơnbởicácmũitên
 Có thể có các giải thích khác nhau
 Mọisự kế thừacủatiếntrìnhđượcthực
thi (thực thi song song)
 Mộtkếtthừacủatiếntrìnhđượcthựcthi
(không có sự lựa chon mang tính quyết
định)


dụ
 Thực thi song song
 Hình ảnh thu đượcacq1,
acq2
 Xử lý ảnh mức độ thấp
edge1, edge2
 Tách hình shape
 Đốitượng vớikíchthướcH
 Đốitượng nhậndạng rec
Phân

loạithuậttoánlậplịch
 Thuậttoánlậplịch ưutiên–tiếntrìnhhoạt động có thể
bị ngắttạimọithời điểm, và gán sự xử lý tớitiếntrình
khác, thông qua sự lậplịch cho trước

 Thuậttoánlậplịch không ưutiên–tiếntrình, mộtkhiđã
đượcthực thi, thi sẽ thực thi cho đếnkhikếtthúc
 Thuậttoánlậplịch tĩnh–sự quyết định củalậplịch được
xây dựng trên những tham số cốđịnh, được gán cho
tiếntrìnhtrướckhithựcthi
 Thuậttoánlậplịch động – sự quyết định củalậplịch
đượcxâydụng trên những tham sốđộng, mà có thể
thay đổi trong suốt quá trình thựcthi
Phân

loạithuậttoánlậplịch
 Mộtthuật toán đượcgọilàtối ưunếucóthể tốigiản
đượcgiátrị hàm được định nghĩatrongtiếntrình
 Mộtthuật toán đượcgọilàtự tìm (heuristic algorithm)
nếunónhắmtớisự hoàn thiện, nhưng không đảmbảo
tìm ra sự lậplịch tối ưu
Các

phép

tính


dụ


dụ

lậplịch
 (a) – sự trễ lớnnhất đượctốigiản, nhưng các tiếntrình

không nằm trong deadline
 (b) – sự trễ lớnnhất đã đượctăng, nhưng chỉ mộttiến
trình không nằm trong deadline

×