Hệ thống nhúng slide b3

13 57 0
Hệ thống nhúng slide b3

Đ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

13:15:17 BÀI 3: PHẦN MỀM HỆ THỐNG NHÚNG Hệ thống thời gian thực Lập lịch (scheduling) Bài 13:21:53 Hệ thống thời gian thực Một hệ thống gọi hệ thống thời gian thực cần biểu thức định lượng thời gian để mô tả hành vi hệ thống Trạm làm việc phải hồn thành cơng việc trước sản phẩm di chuyển vào Bài 13:21:53 Hệ thống thời gian thực Chuyển vùng hệ thống viễn thơng phải hồn tất 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 13:21:53 Hệ thống thời gian thực Yêu cầu hệ thống thời gian thực Thời gian: Thời gian thực để đảm bảo hệ thống hoạt động Chính xác: bao gồm kết thời gian thực An tồn: tính an tồn độ tin cậy hệ thống Đồng thời: cần phải đáp ứng kiện độc lập thời gian ngắn Cấu trúc phân phối Tiêu chuẩn tác vụ (task): xác định khả thực tác vụ Ổn định Bài 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 trước thời hạn yêu cầu Tác vụ cứng khơng cần hồn thành thời gian ngắn có mà phải hồn thành thời gian quy định trước Tác vụ dẻo: tất tác vụ phải thực trước thời gian quy định Khi tác vụ khơng hồn thành thời hạn, hệ thống không thất bại, kết cuối bị bỏ Tác vụ mềm: dùng thời gian đáp ứng trung bình Bài 13:21:53 Lập lịch cho tác vụ Tác vụ định kỳ: tác vụ lặp lặp lại sau khoảng thời gian cố định Ti(φi, pi, ei, di) i : thời điểm bắt đầu thực lần pi : chu kỳ ei : thời gian thực dài di : thời gian yêu cầu hồn thành Tác vụ khơng thường xun: xảy thời điểm ngẫu nhiên Ti (ei, gi, di) gi : thời gian tối thiểu hai tác vụ liên tiếp Bài 13:21:53 Lập lịch cho tác vụ Tác vụ không định kỳ: gần tương tự tác vụ khơng thường xun, phát sinh thời điểm ngẫu nhiên gi 0, nghĩa hai nhiều trường hợp tác vụ không định kỳ xảy lúc Thời gian u cầu hồn thành tác vụ khơng định kỳ dạng giá trị trung bình thống kê Bài 13:21:53 Lập lịch cho tác vụ Lập lịch điều khiển clock (clock-driven scheduling): xác định thời điểm thực tác vụ thông qua ngắt từ xung clock Lập lịch bảng Tính tốn trước thời gian chạy tác vụ, lưu trữ bảng Một tập ST = {Ti} gồm N tác vụ cần lập lịch, mục bảng tự lặp lại sau khoảng thời gian LCM (p1 , p2,…,pn) p1, p2, , pn chu kỳ T1, T2, , Tn T1(5, 20ms), T2(20, 100ms), T3(30, 250ms)  LCM(20,100,250) = 1000ms  cần lập bảng 1000 ms Bài 13:21:53 Lập lịch điều khiển clock (clock-driven scheduling): Lập lịch bảng Tác vụ Thời gian bắt đầu (ms) T1 Thời gian bắt đầu T2 T2 T3 10 T4 12 T5 17 T5 T4 T3 T2 T1 Thời gian yêu cầu T2 10 12 17 Bài 13:21:53 Lập lịch điều khiển clock (clock-driven scheduling): Lập lịch tuần hoàn Lưu trữ cho chu kỳ Chu kỳ chia thành nhiều khung Một tác vụ phải thực xong khung max{ei}  F F: kích thước khung M/F = số nguyên M: kích thước chu kỳ 2F – gcd(F,pi)  di t: thời điểm đến tác vụ sau min(t) = gcd(F,pi) thời điểm bắt đầu khung Bài 10 13:21:53 Lập lịch điều khiển 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 -  F = 10: T1: 2*10 – gcd(10,4) = 20 -  Bài 11 13:21:53 Lập lịch điều khiển 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 -  F = 4: T2: 2*4 – gcd(4,5) = -  F = 2: T1: 2*2 – gcd(2,4) = -  T2: 2*2 – gcd(2,5) = -  T3: 2*2 – gcd(2,20) = -  20 T4: 2*2 – gcd(2,20) = -  20 Kết luận: F = Bài 12 13:21:53 Lập lịch điều khiển 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 20 10 Bài 13 13:21:53 Lập lịch điều khiển 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) Xác định kích thước khung Vẽ sơ đồ thực 3.2 Thực 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 14 13:21:53 Lập lịch điều khiển 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} = 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 -  F = 10: T1: 2*10 – gcd(10,4) = 20 -  F = 5: T1: 2*5 – gcd(5,4) = 10 -  khơng có trường hợp thỏa mãn Bài 15 13:21:53 Lập lịch điều khiển clock (clock-driven scheduling): Lập lịch tuần hoàn Thực 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 16 13:21:53 Lập lịch điều khiển 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 17 13:21:53 Lập lịch hướng kiện (event-driven scheduling):  Các điểm lập lịch xác định ngắt 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 chạy  Đối với tác vụ phía trên, điểm lập lịch, tác vụ có độ ưu tiên cao thực  Khi khơng có tác vụ chạy, tác vụ thực Một hệ thống thời gian thực có n tác vụ phía trên: T1, T2, , Tn tác vụ TB Thời gian hoàn thành tác vụ nền: = Bài 1−∑ 18 13:21:53 Lập lịch hướng 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 T2 TB (eB = 1000) = T1 1−∑ = 1000 = 10000 10 20 1− + 20 50 T2 TB T11 – T21 – T12 – T21 – T13 – T22 – T14 – T22 – T15 - TB Bài 19 13:21:53 Lập lịch hướng 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 T2 TB (eB = 1000), thời gian chuyển tác vụ 0.1 T1 = 1−∑ T2 = 1000 = 11364 10.2 20.1 1− + 20 50 TB 0.1 10.2 20.1 9.8 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 10 13:21:53 Lập lịch hướng 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 Tính thời gian hoàn thành tác vụ TB Vẽ sơ đồ thực Bài 21 13:21:53 Lập lịch hướng kiện (event-driven scheduling): Lập lịch EDF (Earliest Deadline First) Tại điểm lập lịch, tác vụ có thời hạn ngắn đưa lên trước Một tập hợp tác vụ lập lịch theo EDF nếu: , ≤1 Bài 22 11 13:21:53 Lập lịch hướng 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) T41 T31 T21 = , 2 + + + = 0.8 < 20 20 T1 T41 T31 T11 T21 T2 T41 T41 T41 T31 T12 T22 T3 T41 lập lịch theo EDF T41 T4 T31 T21 T41 T13 T41 T 23 T14 10 11 12 T24 T11 13 15 16 Bài T11 17 20 23 13:21:53 Lập lịch hướng 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) Kiểm tra tính khả thi theo EDF Vẽ sơ đồ thực Bài 24 12 13:21:53 Lập lịch hướng kiện (event-driven scheduling): Lập lịch RMA (Rate Monotonic Algorithm) Tác vụ có chu kỳ thấp có ưu tiên cao 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 T31 T41 T21 T31 T41 T11 T21 T 31 T3 T4 T T41 41 T T31 31 T12 T22 T41 T32 T41 T41 T31 T13 T41 T23 10 T41 T32 T41 T14 T 32 12 Bài 13 T42 T33 T41 T24 T41 T41 T24 T15 T24 T 41 15 16 17 18 T25 T16 20 25 13

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

Từ khóa liên quan

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

Tài liệu liên quan