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

Hệ thống nhúng slide b3

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 (231.43 KB, 13 trang )

13:15:17

BÀI 3: PHẦN MỀM HỆ THỐNG
NHÚNG
1. Hệ thống thời gian thực
2. Lập lịch (scheduling)

Bài 3

1

13:21:53

Hệ thống thời gian thực
Một hệ thống được gọi là một hệ thống thời gian thực khi cần một biểu
thức định lượng thời gian để mô tả các hành vi của hệ thống.

Trạm làm việc phải hoàn thành công việc trước khi sản
phẩm kế tiếp di chuyển vào
Bài 3

2

1


13:21:53

Hệ thống thời gian thực
Chuyển vùng trong hệ thống viễn thông
phải được hoàn tất


trong thời gian đủ nhỏ
để người dùng không
cảm thấy gián đoạn
tạm thời

Bài 3

3

13:21:53

Hệ thống thời gian thực
Yêu cầu của hệ thống thời gian thực
Thời gian: Thời gian thực hiện để đảm bảo hệ thống có thể hoạt động.
Chính xác: bao gồm cả kết quả và thời gian thực hiện.
An toàn: tính an toàn và độ tin cậy của hệ thống.
Đồng thời: cần phải đáp ứng sự kiện độc lập trong thời gian rất ngắn.
Cấu trúc phân phối
Tiêu chuẩn tác vụ (task): xác định khả năng thực hiện của một
tác vụ
Ổn định

Bài 3

4

2


13:21:53


Hệ thống thời gian thực
Phân loại tác vụ thời gian thực
Tác vụ cứng: phải thực hiện trước thời hạn yêu cầu.
Tác vụ cứng không cần hoàn thành trong thời gian ngắn
nhất có mà phải hoàn thành trong thời gian quy định trước
Tác vụ dẻo: tất cả các tác vụ phải thực hiện trước thời gian
quy định.
Khi tác vụ không hoàn thành đúng thời hạn, hệ thống không
thất bại, kết quả cuối chỉ bị bỏ đi.
Tác vụ mềm: dùng thời gian đáp ứng trung bình.

Bài 3

5

13:21:53

Lập lịch cho tác vụ
Tác vụ định kỳ: là tác vụ lặp đi lặp lại sau một khoảng thời gian cố
định.
Ti(φi, pi, ei, di)
i : thời điểm bắt đầu thực hiện lần đầu tiên.
pi : chu kỳ.
ei : thời gian thực hiện dài nhất.
di : thời gian yêu cầu hoàn thành.
Tác vụ không thường xuyên: xảy ra ở thời điểm ngẫu nhiên
Ti (ei, gi, di)
gi : thời gian tối thiểu giữa hai tác vụ liên tiếp.
Bài 3


6

3


13:21:53

Lập lịch cho tác vụ
Tác vụ không định kỳ: gần tương tự như tác vụ không
thường xuyên, có thể phát sinh ở thời điểm ngẫu nhiên.
gi có thể là 0, nghĩa là hai hoặc nhiều trường hợp của một tác
vụ không định kỳ có thể xảy ra cùng một lúc.
Thời gian yêu cầu hoàn thành của tác vụ không định kỳ ở
dạng giá trị trung bình hoặc thống kê.

Bài 3

7

13:21:53

Lập lịch cho tác vụ
Lập lịch điều khiển bằng clock (clock-driven scheduling):
xác định thời điểm thực hiện tác vụ kế tiếp thông qua ngắt từ xung clock.
Lập lịch bằng bảng
Tính toán trước thời gian chạy các tác vụ, và lưu trữ trong một bảng
Một tập ST = {Ti} gồm N tác vụ cần lập lịch, thì các mục trong
bảng sẽ tự lặp lại sau khoảng thời gian LCM (p1 , p2,…,pn) trong đó
p1, p2, ..., pn là chu kỳ của T1, T2,..., Tn

T1(5, 20ms), T2(20, 100ms), T3(30, 250ms)  LCM(20,100,250) = 1000ms
 chỉ cần lập bảng trong 1000 ms
Bài 3

8

4


13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch bằng bảng
Tác vụ

Thời gian bắt đầu (ms)

T1

Thời gian bắt đầu của T2

0

T2

3

T3

10


T4

12

T5

17

T5
T4
T3
T2
T1
0

Thời gian yêu cầu của T2

10
3

12

17
Bài 3

9

13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn

Lưu trữ cho một chu kỳ chính
Chu kỳ chính được chia thành một hoặc nhiều khung.
Một tác vụ phải thực hiện xong trong 1 khung

max{ei}  F

F: kích thước khung

M/F = số nguyên

M: kích thước chu kỳ chính

2F – gcd(F,pi)  di

t: thời điểm đến của tác vụ sau

min(t) = gcd(F,pi)

thời điểm bắt đầu của khung
Bài 3

10

5


13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn


T1 (e1 = 1, p1 = 4), T2 (e2 = 1,5, p2 = 5)
T3 (e3 = 1, p3 = 20), T4 (e4 = 1,5, p4=20)
F  max{ei}  F  1,5
F = 2, 4, 5, 10, 20

M = LCM(4,5,20,20) = 20
M/F = số nguyên
2F – gcd(F,pi)  di

F = 20:

T1: 2*20 – gcd(20,4) = 20 - 4  4

F = 10:

T1: 2*10 – gcd(10,4) = 20 - 2  4
Bài 3

11

13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn
T1 (e1 = 1, p1 = 4), T2 (e2 = 1,5, p2 = 5)
T3 (e3 = 1, p3 = 20), T4 (e4 = 1,5, p4=20)
2F – gcd(F,pi)  di

F = 5: T1: 2*5 – gcd(5,4) = 10 - 1  4
F = 4: T2: 2*4 – gcd(4,5) = 8 - 1  5
F = 2:


T1: 2*2 – gcd(2,4) = 4 - 2  4
T2: 2*2 – gcd(2,5) = 4 - 1  5
T3: 2*2 – gcd(2,20) = 4 - 2  20
T4: 2*2 – gcd(2,20) = 4 - 2  20

Kết luận: F = 2
Bài 3

12

6


13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn
T1 (e1 = 1, p1 = 4), T2 (e2 = 1,5, p2 = 5)
T3 (e3 = 1, p3 = 20), T4 (e4 = 1,5, p4=20)
T1
T2
T3
T4

0

2

4


20

10
Bài 3

13

13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn

3.1.

T1 (e1 = 2, p1 = 6), T2 (e2 = 3, p2 = 12)
T3 (e3 = 4, p3 = 18)
1. Xác định kích thước khung
2. Vẽ sơ đồ thực hiện

3.2. Thực hiện như 3.1 với tập:
T1 (e1 = 5, p1 = 20), T2 (e2 = 9, p2 = 25)
T3 (e3 = 5, p3 = 100), T4 (e4 = 10, p4=100)

Bài 3

14

7


13:21:53

Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn

T1 (e1 = 1, p1 = 4), T2 (e2 = 2, p2 = 5), T3 (e3 = 5, p3 = 20)
F ≥ max{ei} = 5
M = LCM (4, 5, 20) = 20

F = 5, 10, 20

M/F = số nguyên
2F – gcd(F,pi)  di

F = 20:

T1: 2*20 – gcd(20,4) = 20 - 4  4

F = 10:

T1: 2*10 – gcd(10,4) = 20 - 2  4

F = 5: T1: 2*5 – gcd(5,4) = 10 - 1  4
không có trường hợp nào thỏa mãn
Bài 3

15

13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn


Thực hiện tách T3 thành hai nhiệm vụ con:
T3.1 (20, 3, 20), T3.2 (20, 2, 20)

T1 (4, 1, 4), T2 (5, 2, 5)
T3.1 (20, 3, 20), T3.2 (20, 2, 20)
F=4

Bài 3

16

8


13:21:53
Lập lịch điều khiển bằng clock (clock-driven scheduling):
Lập lịch tuần hoàn

T1 (4, 1, 4), T2 (5, 2, 7)
T3.1 (20, 3, 20), T3.2 (20, 2, 20)

Bài 3

17

13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
 Các điểm lập lịch xác định bằng ngắt sự kiện ngoại trừ
ngắt từ xung clock.
Lập lịch F-B (Foreground – Background)

 Các tác vụ không thường xuyên, không tuần hoàn được chạy nền.
 Đối với các tác vụ phía trên, ở các điểm lập lịch, tác vụ có độ ưu
tiên cao nhất sẽ được thực hiện.
 Khi không có tác vụ nào đang chạy, tác vụ nền sẽ được thực hiện.
Một hệ thống thời gian thực có n tác vụ phía trên: T1, T2, ..., Tn và một
tác vụ nền TB
Thời gian hoàn thành của tác vụ nền:

=
Bài 3

1−∑
18

9


13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch F-B (Foreground – Background)

T1 (e1 = 10, p1 = 20), T2 (e2 = 20, p2 = 50): T1 ưu tiên hơn T2
TB (eB = 1000)
=

T1

1−∑

=


1000
= 10000
10 20
1−
+
20 50

T2
TB

0
T11 – T21 – T12 – T21 – T13 – T22 – T14 – T22 – T15 - TB
Bài 3

19

13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch F-B (Foreground – Background)
T1 (e1 = 10, p1 = 20), T2 (e2 = 20, p2 = 50): T1 ưu tiên hơn T2
TB (eB = 1000), thời gian chuyển tác vụ là 0.1.
T1

=

1−∑

T2


=

1000
= 11364
10.2 20.1
1−
+
20
50

TB
0.1 10.2 20.1
9.8

0

10.1

20

T11 - T21 - T12

40.1 50.2 60
50.6
9.8
0.4

30.2

70.1 80


90.1

100

91.1

50.7
91.2
60.1 70.2 80.1 90.2
30.1 40 50.1
- T21 - T13 - T21 - T22 - T14 - T22 - T15 - T22 - TB

20

Bài 3

10


13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch F-B (Foreground – Background)

3.3.
T1 (e1 = 2, p1 = 10), T2 (e2 = 3, p2 = 15), T3 (e3 = 3, p3 = 30),
TB(eB = 200)
Mức ưu tiên: T1 > T2 > T3
1. Tính thời gian hoàn thành tác vụ nền TB.
2. Vẽ sơ đồ thực hiện


Bài 3

21

13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch EDF (Earliest Deadline First)

Tại các điểm lập lịch, tác vụ có thời hạn ngắn nhất được đưa lên trước
Một tập hợp các tác vụ có thể lập lịch theo EDF nếu:

min

,

≤1

Bài 3

22

11


13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch EDF (Earliest Deadline First)
T1 (e1 = 1, p1 = 4), T2 (e2 = 2, p2 = 5)
T3 (e3 = 1, p3 = 20), T4 (e4 = 2, p4=20)

min

T41
T31
T21

=

,

1 2 1
2
+ +
+
= 0.8 < 1
4 5 20 20

T1
T41
T31

T11 T21

0

1

T2

T41 T41 T41

T31 T12 T22

3

4

5

T3

T41

7

có thể lập lịch theo EDF

T41

T4

T31
T21

T41
T13 T41 T
23

8

9


T14

10 11

12

T24 T11

13

15 16

Bài 3

T11

17

20
23

13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch EDF (Earliest Deadline First)

3.4.
T1 (e1 = 2, p1 = 5), T2 (e2 = 1, p2 = 3), T3 (e3 = 3, p3 = 16)

1. Kiểm tra tính khả thi theo EDF.

2. Vẽ sơ đồ thực hiện

Bài 3

24

12


13:21:53
Lập lịch hướng sự kiện (event-driven scheduling):
Lập lịch RMA (Rate Monotonic Algorithm)

Tác vụ có chu kỳ thấp nhất sẽ có ưu tiên cao nhất
T1 (e1 = 1, p1 = 4), T2 (e2 = 2, p2 = 5)
T3 (e3 = 2, p3 = 10), T4 (e4 = 3, p4=20)
T1 > T2 > T3 > T4
T
T2
T41 1
T31
T41
T21 T31
T41
T11 T21 T
31

0

1


3

T3

T4

T
T41 41
T
T31 31
T12 T22

4

5

T41
T32

T41 T41
T31 T13 T41 T23

7

8

9 10

T41

T32 T41
T14 T
32

12
Bài 3

13

T42
T33

T41
T24

T41
T41
T24 T15 T24 T
41

15

16 17

18

T25
T16

20

25

13



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×