Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 5: Hệ điều hành thời gian thực
Số trang: 15
Loại file: pdf
Dung lượng: 472.39 KB
Lượt xem: 9
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 5 (Bài 9): RTOS và Kỹ thuật lập lịch. Những nội dung chính trong chương này gồm có: Giới thiệu chung về RTOS, các yêu cầu với RTOS, các nhiệm vụ (Tasks), các trạng thái của nhiệm vụ, task states transitions, bộ lập lịch RTOS,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 5: Hệ điều hành thời gian thực - 1- Universität DortmundCHƯƠNG 5: RTOS – HỆ ĐIỀU HÀNH THỜI GIAN THỰC Bài 9: RTOS và Kỹ thuật lập lịch CuuDuongThanCong.com https://fb.com/tailieudientucntt - 2-Universität Dortmund RTOS • Phần lõi (Kernel): Thực hiện việc lập lịch (schedules tasks) • Tác vụ (Tasks): Là các hoạt động hiện tại với các trạng thái riêng của nó (PC, registers, stack, etc.) CuuDuongThanCong.com https://fb.com/tailieudientucntt - 3-Universität Dortmund RTOS CuuDuongThanCong.com https://fb.com/tailieudientucntt - 4-Universität Dortmund CÁC YÊU CẦU VỚI RTOS • Kích thước nhỏ (lưu trữ toàn bộ trong ROM) • Sử dụng hệ thống ngắt • Không nhất thiết phải có các cơ chế bảo vệ • Tăng tốc độ truyền thông giữa các quá trình • Khi các quá trình ứng dụng đang thực hiện thì các yêu cầu hệ thống điều hành có thể được thực hiện thông qua các lời gọi hàm thay vì sử dụng cơ chế ngắt mềm CuuDuongThanCong.com https://fb.com/tailieudientucntt - 5-Universität Dortmund CÁC NHIỆM VỤ (Tasks) • Các nhiệm vụ = Code + Data + State (trạng thái) • Trạng thái của nhiệm vụ được lưu trữ trong khối điều khiển nhiệm vụ (Task Control Block - TCB) khi nhiệm vụ không được thực hiện trên CPU • Một TCB điển hình: CuuDuongThanCong.com https://fb.com/tailieudientucntt - 6-Universität Dortmund Các trạng thái của nhiệm vụ • Executing: Đang thực hiện trên CPU • Ready: Có thể chạy trên CPU nhưng một nhiệm vụ khác đang sử dụng CPU • Blocked: Đợi sự kiện (I/O, signal, resource, etc.) • Dormant: Tạo ra nhưng chưa được thực hiện • Terminated: Không còn tác động nữa RTOS thực hiện một cơ chế chuyển trạng thái cho mỗi nhiệm vụ và quản lý quá trình chuyển trạng thái. CuuDuongThanCong.com https://fb.com/tailieudientucntt - 7-Universität Dortmund Task States Transitions CuuDuongThanCong.com https://fb.com/tailieudientucntt - 8-Universität Dortmund Bộ lập lịch RTOS • Thực hiện cơ chế chuyển trạng thái • Chuyển giữa các nhiệm vụ • Thuật toán chuyển: 1.Lưu trữ trạng thái hiện tại vào TCB 2.Tìm TCB mới 3.Khôi phục trạng thái từ TCB mới 4.Tiếp tục • Chuyển đổi giữa trạng thái EXECUTING -> READY: 1.Nhiệm vụ được thực hiện tuần tự: NON-PREEMPTIVE 2.RTOS chuyển trạng thái cho các nhiệm vụ ưu tiên cao hơn: PREEMPTIVE CuuDuongThanCong.com https://fb.com/tailieudientucntt - 9-Universität Dortmund Quá trình lập lịch Mục đích: Đảm bảo yêu cầu về thời gian • Lập lịch trước khi chạy (static): Xác định chính xác giản đồ thời gian cho các nhiệm vụ tại thời điểm thiết kế • Lập lịch khi chạy chương trình (dynamic): Lập lịch được thực hiện tự động bởi RTOS, dựa trên sự ưu tiên. CuuDuongThanCong.com https://fb.com/tailieudientucntt - 10 -Universität Dortmund Phân bố các nhiệm vụ (1) Một chu kỳ của nhiệm vụ (Đối với các nhiệm vụ có chu kỳ - periodic tasks): • Các ràng buộc ưu tiên: Xét xem có bất cứ nhiệm vụ nào cần được ưu tiên không. • Thời gian xuất hiện-ai (arrival time): Là khoảng thời gian khi sự kiện xảy ra và nhiệm vụ tương ứng được kích hoạt. Thời điểm bắt đầu thực thi ri (release time): Thời điểm sớm nhất khi việc xử lý đã sẵn ...
Nội dung trích xuất từ tài liệu:
Bài giảng Thiết kế hệ thống nhúng (Embedded Systems Design) - Chương 5: Hệ điều hành thời gian thực - 1- Universität DortmundCHƯƠNG 5: RTOS – HỆ ĐIỀU HÀNH THỜI GIAN THỰC Bài 9: RTOS và Kỹ thuật lập lịch CuuDuongThanCong.com https://fb.com/tailieudientucntt - 2-Universität Dortmund RTOS • Phần lõi (Kernel): Thực hiện việc lập lịch (schedules tasks) • Tác vụ (Tasks): Là các hoạt động hiện tại với các trạng thái riêng của nó (PC, registers, stack, etc.) CuuDuongThanCong.com https://fb.com/tailieudientucntt - 3-Universität Dortmund RTOS CuuDuongThanCong.com https://fb.com/tailieudientucntt - 4-Universität Dortmund CÁC YÊU CẦU VỚI RTOS • Kích thước nhỏ (lưu trữ toàn bộ trong ROM) • Sử dụng hệ thống ngắt • Không nhất thiết phải có các cơ chế bảo vệ • Tăng tốc độ truyền thông giữa các quá trình • Khi các quá trình ứng dụng đang thực hiện thì các yêu cầu hệ thống điều hành có thể được thực hiện thông qua các lời gọi hàm thay vì sử dụng cơ chế ngắt mềm CuuDuongThanCong.com https://fb.com/tailieudientucntt - 5-Universität Dortmund CÁC NHIỆM VỤ (Tasks) • Các nhiệm vụ = Code + Data + State (trạng thái) • Trạng thái của nhiệm vụ được lưu trữ trong khối điều khiển nhiệm vụ (Task Control Block - TCB) khi nhiệm vụ không được thực hiện trên CPU • Một TCB điển hình: CuuDuongThanCong.com https://fb.com/tailieudientucntt - 6-Universität Dortmund Các trạng thái của nhiệm vụ • Executing: Đang thực hiện trên CPU • Ready: Có thể chạy trên CPU nhưng một nhiệm vụ khác đang sử dụng CPU • Blocked: Đợi sự kiện (I/O, signal, resource, etc.) • Dormant: Tạo ra nhưng chưa được thực hiện • Terminated: Không còn tác động nữa RTOS thực hiện một cơ chế chuyển trạng thái cho mỗi nhiệm vụ và quản lý quá trình chuyển trạng thái. CuuDuongThanCong.com https://fb.com/tailieudientucntt - 7-Universität Dortmund Task States Transitions CuuDuongThanCong.com https://fb.com/tailieudientucntt - 8-Universität Dortmund Bộ lập lịch RTOS • Thực hiện cơ chế chuyển trạng thái • Chuyển giữa các nhiệm vụ • Thuật toán chuyển: 1.Lưu trữ trạng thái hiện tại vào TCB 2.Tìm TCB mới 3.Khôi phục trạng thái từ TCB mới 4.Tiếp tục • Chuyển đổi giữa trạng thái EXECUTING -> READY: 1.Nhiệm vụ được thực hiện tuần tự: NON-PREEMPTIVE 2.RTOS chuyển trạng thái cho các nhiệm vụ ưu tiên cao hơn: PREEMPTIVE CuuDuongThanCong.com https://fb.com/tailieudientucntt - 9-Universität Dortmund Quá trình lập lịch Mục đích: Đảm bảo yêu cầu về thời gian • Lập lịch trước khi chạy (static): Xác định chính xác giản đồ thời gian cho các nhiệm vụ tại thời điểm thiết kế • Lập lịch khi chạy chương trình (dynamic): Lập lịch được thực hiện tự động bởi RTOS, dựa trên sự ưu tiên. CuuDuongThanCong.com https://fb.com/tailieudientucntt - 10 -Universität Dortmund Phân bố các nhiệm vụ (1) Một chu kỳ của nhiệm vụ (Đối với các nhiệm vụ có chu kỳ - periodic tasks): • Các ràng buộc ưu tiên: Xét xem có bất cứ nhiệm vụ nào cần được ưu tiên không. • Thời gian xuất hiện-ai (arrival time): Là khoảng thời gian khi sự kiện xảy ra và nhiệm vụ tương ứng được kích hoạt. Thời điểm bắt đầu thực thi ri (release time): Thời điểm sớm nhất khi việc xử lý đã sẵn ...
Tìm kiếm theo từ khóa liên quan:
Thiết kế hệ thống nhúng Bài giảng Thiết kế hệ thống nhúng Embedded Systems Design Hệ thống nhúng Kỹ thuật lập lịch Hệ điều hành thời gian thựcTài liệu liên quan:
-
Đề cương chi tiết học phần Vi điều khiển
15 trang 146 0 0 -
26 trang 114 0 0
-
Báo cáo thiết kế hệ thống nhúng: Tìm hiểu ARM LPC2378
23 trang 63 1 0 -
Báo cáo môn học: Xây dựng ứng dụng game Fun Math trên android
35 trang 60 0 0 -
Báo cáo nghiên cứu khoa học cấp trường: Thiết kế hệ thống nhúng cho thiết bị nội soi nha khoa
37 trang 47 0 0 -
Bài giảng Giới thiệu về hệ điều hành thời gian thực - Nguyễn Văn Thọ
18 trang 42 0 0 -
Đồ án môn học Hệ thống nhúng - Đề tài: Xây dựng đồng hồ thời gian thực hiển thị trên LED 7 thanh
60 trang 38 0 0 -
Bài giảng Hệ thống nhúng - Đại học Hàng hải
72 trang 33 0 0 -
Xây dựng hệ thống nhúng (phần 2)
114 trang 32 0 0 -
Xây dựng hệ thống nhúng (phần 1)
48 trang 31 0 0