1. Trang chủ
  2. » Giáo án - Bài giảng

Hệ thống nhúng slide b3

13 58 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 231,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 3 3Hệ thống thời gian thực 13:21:53 Chuyển vùng trong hệ thống viễn thông trong thời gian đủ nhỏ để người dùng không cảm thấy gián đoạn tạm thời Hệ thống thời gian thực 13:21:53 Yêu

Trang 1

1 Hệ thống thời gian thực

2 Lập lịch (scheduling)

BÀI 3: PHẦN MỀM HỆ THỐNG

NHÚNG

1 Bài 3

13:15:17

Hệ thống thời gian thực

13:21:53

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

Trang 2

Bài 3 3

Hệ thống thời gian thực

13:21:53

Chuyển vùng trong hệ thống viễn thông

trong thời gian đủ nhỏ

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

Hệ thống thời gian thực

13:21:53

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

Trang 3

Bài 3 5

Hệ thống thời gian thực

13:21:53

Tác vụ cứng: phải thực hiện trước thời hạn yêu cầu

Phân loại tác vụ thời gian thực

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.

Lập lịch cho tác vụ

13:21:53

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

Tii, 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

Trang 4

Bài 3 7

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ê

Lập lịch cho tác vụ

13:21:53

Lập lịch cho tác vụ

13:21:53

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, , pnlà 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

Trang 5

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 bằng bảng

Tác vụ Thời gian bắt đầu (ms)

10 T1

T2

T3

12

T4

17

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

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

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

max{ei}  F

M/F = số nguyên

2F – gcd(F,pi)  di

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

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

t: thời điểm đến của tác vụ sau thời điểm bắt đầu của khung Một tác vụ phải thực hiện xong trong 1 khung

Trang 6

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)

F  max{ei}  F  1,5

M = LCM(4,5,20,20) = 20

M/F = số nguyên

F = 2, 4, 5, 10, 20

2F – gcd(F,pi)  di

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

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

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

T1(e1 = 1, p1= 4), T2(e2= 1,5, p2= 5)

T3(e3= 1, p3 = 20), T4(e4= 1,5, p4=20)

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

Trang 7

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

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

4

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

T1(e1 = 5, p1= 20), T2(e2= 9, p2= 25)

T3(e3= 5, p3 = 100), T4(e4= 10, p4=100)

3.2 Thực hiện như 3.1 với tập:

Trang 8

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

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

M/F = số nguyên

F = 5, 10, 20

2F – gcd(F,pi)  di

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

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

Trang 9

Bài 3 17

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)

13:21:53

Lập lịch hướng sự kiện (event-driven scheduling):

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

1 − ∑

Một hệ thống thời gian thực có n tác vụ phía trên: T1, T2, , Tnvà một

tác vụ nền TB

 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

Trang 10

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)

=

1000

1 − 1020+2050

= 10000

0

– T21

T11 – T12 – T21 – T13 – T22– T14 – T22 – T15- TB

T1

T2

TB

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

=

1000

1 − 10.220 +20.150

= 11364

0

0.1

10.1

10.2

20

20.1

30.1

30.2

40

40.1

50.1

50.2 50.6

50.7 60

60.1

70.1

70.2

80

80.1

90.1

90.2

91.1

91.2 100

T11 - T21 - T12 - T21 - T13 - T21- T22- T14- T22- T15 - T22- TB

9.8 9.8 0.4

T2

TB

T1

Trang 11

Bài 3 21

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= 2, p1 = 10), T2(e2= 3, p2= 15), T3 (e3= 3, p3= 30),

TB(eB= 200)

Mức ưu tiên: T1 > T2 > T3

3.3.

1 Tính thời gian hoàn thành tác vụ nền TB

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

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:

Trang 12

Bài 3 23

T1(e1 = 1, p1= 4), T2(e2= 2, p2= 5)

T3(e3= 1, p3 = 20), T4(e4= 2, p4=20)

13:21:53

Lập lịch hướng sự kiện (event-driven scheduling):

Lập lịch EDF (Earliest Deadline First)

1

4+

2

5+

1

20+

2

T11

T21

T31

T41

4

T21

T31

T41

T31

T41

T12

T41

5

T22

T41

7

T41

8

T13

T41

9

T41

10

T23

T14

T24

16

T11

T11

T21

T31

T41

T2

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= 2, p1 = 5), T2(e2= 1, p2= 3), T3 (e3= 3, p3= 16)

3.4.

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

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

Trang 13

Bài 3 25

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)

T2

0

T11

T21

T31

T41

1

T1 > T2> T3> T4

T21

T31

T41

3

T31

T41

4

T12

T31

T41

T22

T31

T41

T31

T41

8

T13

T41

9

T41

10

T23

T32

T41

T14

T32

T41

T32

T41

15

T24

T41

16

T15

T24

T41

17

T24

T41

18

T41

20

T16

T25

T33

T42

Ngày đăng: 24/10/2020, 08:31

TỪ KHÓA LIÊN QUAN

w