Minh hoạ lập lịch thời gian thực

Một phần của tài liệu Cac He Thong TGThuc ppsx (Trang 42 - 44)

Chúng ta giới thiệu lập lịch thời gian thực được bắt nguồn từ chuyện cổ tích của La Fontaine. Bài toán là điều khiển một ứng dụng thời gian thực gồm 2 tác vụ

τ1 và τ2. Tác vụ có chu kỳ τ1 điều khiểu máy của một phương tiện di chuyển. Chu kỳ của nó cũng như thời hạn tương đối là 320 giây. Tác vụ rời τ2 phải phản ứng lại với các lệnh lái trước thời hạn tương đối của nó là 20 giây. Hai hệ thống được nhà cung cấp đề xuất:

Hệ thống Rùa có một bộ xử lý tốc độ là 1 Mips, một overhead chuyển mạch tác vụ 1 giây và bộ lập lịch thời hạn sớm nhất. Tính toán tác vụ có cu kỳ là 270 giây; tác vụ rời đòi hỏi 15 giây. Hệ thống Thỏ có ưu điểm rất hiệu quả và không có ghanh đua chia sẻ tài nguyên. Nó có một bộ xử lý tốc độ 10 Mips, một overhead chuyển mạch tác vụ gần như bằng 0 và một bộ lập lịch non-preemtive vào trước ra trước. Vì thế với bộ xử lý này, Tính toán tác vụ theo chu kỳ τ1 là 27 giây và tác vụ rời τ2 cần 1.5 giây.

Một bản thử được tạo ra bởi một sinh viên như sau: Ngay sau khi tác vụ có chu kỳ được chạy thì tác vụ được kích hoạt. Hệ thốn Rùa tuân thủ cả hai thời hạn trong khi đó hệ thống thỏ tạo ra một lỗi thời gian cho lệnh láy (hình 1.16). Lời giải thích là một bài tập cho bạn đọc và là một minh hoạ cho việc lập lịch giúp thoả mãn các ràng buộc thời gian hơn là sự hiệu quả của hệ thống (tốc độ).

Bài học từ câu chuyện của La Fontaine là: Chạy không có ích gì nếu như không xuất phát đúng thời gian.

Chương 2: Lập lịch các tác vụ độc lập

Chương này làm việc với các thuật toán lập lịch các tác vụ độc lập. Phần đầu chương mô tả 4 thuật toán cơ bản: đơn nguyên tỉ lệ (rate monotonic), đảo thời hạn (inverse deadline), thời hạn ngắn nhất trước (earliest deadline first), và độ trễ ngắn nhất trước (least laxity first). Những thuật toán này giải quyết các tập thuần nhất các tác vụ, trong dó các tác là có chu kỳ hoặc không có chu kỳ. Tuy nheien, các ứng dụng thời gian thực thường đòi hỏi cả hai loại tác vụ. Trong bối cảnh này, các tác vụ có chu k ỳ thường có ràng buộc thời gian cứng và được lập lịch với một trong bốn thuật toán cơ bản. Các tác vụ không có chu kỳ hoặc có ràng buộc thời gian cứng, hoặc có rang buộc thời gian mềm. Phần thứ hai trong chương này mô tả các thuật toán cho các tập tác vụ kết hợp như vậy.

Có hai lớp thuật toán lập lịch:

o Các thuật toán lập lịch offline: Một thuật toán lập lịch được sử dụng offline nếu như nó được thực thi trên một tập tác vụ đầy đủ trước khi kích hoạt tác vụ thực sự. Lịch biểu được sinh ra theo cách này được lưu trong một bảng và sau đó được thực thi bởi một bộ điều phối (dispatcher). Tập tác vụ cố định và được biết trước để tất cả các kích hoạt tác vụ có thể tính toán offline được. Ưu điểm chính của cách tiếp cận này là thời gian chạy overhead nhỏ và không phụ thuộc vào độ phức tạp của thuật toán lập lịch sử dụng để xây dựng lịch biểu. Tuy nhiên, hệ thống không mềm dẻo với những thay đổi môi trường.

o Lập lịch online: Một thuật toán lập lịch được sử dụng onlien nếu như các quyết định lập lịch được đưa ra vào thời gian chạy bất kỳ khi một tác vụ mới được đưa vào hệ thống, hay khi một tác vụ đang chạy kết thúc. Với các thuật toán lập lịch online, mỗi tác vụ được gán cho một độ ưu tiên phụ thuộc vào một trogn số những tham số thời gian của nó. Những độ ưu tiên này có thể là độ ưu tiên cố định, dựa vào tham số cố định và được gán cho các tác vụ trước khi chúng được kích hoạt hay là độ ưu tiên động dựa và các tham số động có thể thay đổi trong quá

trình biến đổi hệ thống. Khi một tập tác vụ cố định, các lần kích hoạt tác vụ và các thời gian tính toán xấu nhất được biết trước, và một kiểm tra khả năng lập lịch được có thể được thực thi offline. Tuy nhiên khi các kích hoạt tác vụ được biết trước một kiểm tra đảm bảo online phải được tiến hành mỗi khi một tác vụ mới được đưa vào hệ thống. Mục tiêu của kiểm tra đảm bảo là phát hiện những deadline có thể bị lỡ. Chương này chỉ quan tâm tới lập lịch online.

Một phần của tài liệu Cac He Thong TGThuc ppsx (Trang 42 - 44)