Professional Documents
Culture Documents
Vậy Real time OS là gì? Để hiểu được thì cần phải phân tích các khái niệm dưới đây.
• Real time
Real time không phải là chạy đúng với thời gian trên đồng hồ của bạn, mà là thời gian giữa việc nhận tín
hiệu và phản hồi lại gần như không có delay, thực hiện “ngay lập tức”.
Các ứng dụng trên vi điều khiển được phân ra thành các mức độ phản hồi như sau
• Non-real time:
Là mức độ thấp nhất. Các ứng dụng ở mức độ này, bạn sẽ không cần quan tâm/ yêu cầu về thời gian thực
thi của vi điều khiển.
Ví dụ: Bạn mô phỏng 1 chương trình trên proteus. Do máy cấu hình yếu hoặc 1 lý do nào đó, bạn ngồi
uống hết cốc cafe thì chương trình mới thực hiện xong. Việc đó không có vấn đề gì cả.
2. FreeRTOS
FreeRTOS là 1 real-time kernel (real-time scheduler) được sử dụng trên các dòng vi điều khiển. Nó giúp
các ứng dụng có thể đáp ứng các yêu cầu về thời gian thực.
Hiểu đơn giản, FreeRTOS sẽ cung cấp các API (Application Programming Interface) giúp các vi điều
khiển điều hành được các process, các mức độ ưu tiên, lập lịch xem process nào cần chạy trước, cái nào
phải chờ để chạy,…
Các ưu điểm mà FreeRTOS mang lại:
• Khả năng kiểm soát hoạt động ứng dụng, giúp phát triển ứng dụng dễ dàng hơn
• Khả năng kiểm soát thời gian của từng process
• Dễ dàng test, debug giữa các thành viên trong 1 nhóm hoặc 1 dự án
• Khả năng kiểm soát tài nguyên của MCU
Và có 1 ưu điểm lớn nhất là giúp cho vi điều khiển chỉ có 1 core có thể chạy cùng lúc nhiều process như
với vi xử lý có nhiều core.
• Giống nhau
Cả 2 đều cung cấp các cơ chế như: scheduler, task (thread), mutex, semaphore,…
• Khác nhau