🌱 Core 11. RTOS - Multi-Task & Scheduling
Ở post trước, chúng ra đã cùng tìm hiểu về RTOS là gì và tác dụng của RTOS trong những hệ thống lớn. Ở post này chúng ta sẽ cùng tìm hiểu về các đặc điểm quan trọng nhất của RTOS, đó là các task, và cơ chế lập lịch - Scheduling.
👉 Task là gì? Multi-Task trong RTOS
Giống như công việc thường ngày của chúng ta, vi điều khiển thực thi những nhiệm vụ riêng của nó, trong RTOS, các công việc đó gọi là Task. Như vậy, đối với vi điều khiển, Task là một tập hợp các câu lệnh, được lưu trong bộ nhớ vi điều khiển, để thực hiện một nhiệm vụ nào đó.
Ví dụ trong post trước mình đã nêu ra một ví dụ với 3 task:
- Task 1: Nháy LED với chu kỳ 1s.
- Task 2: Đọc giá trị cảm biến và cảnh báo khi cần.
- Task 3: Đọc nút bấm để thay đổi chu kỳ nháy led.
Ở đây do vi điều khiển của mình chỉ có một Core nên tại một thời điểm chỉ có 1 câu lệnh được thực hiện, đồng nghĩa với việc các task không thể thực hiện song song được!!!
👉 Cơ chế lập lịch - Scheduling
Nhờ có bộ lập lịch mà chúng ta có thể điều khiển các task hoạt động theo yêu cầu, không có task nào bị miss, cũng như việc thực hiện các task sẽ gần như là song song. Hình bên dưới mô tả rất rõ về Multi-Task.
Mặc dù các Task thực hiện tuần tự (như hình dưới) nhưng mắt người nhìn nó như là song song (hình ở trên). Việc các task thực hiện trong một khoảng thời gian rồi ngay lập tức chuyển qua task khác cũng giúp tiết kiệm tài nguyên của hệ thống.
Đó chính là tác dụng của bộ lập lịch - Scheduler, chỉ là một thuật toán nhưng nó giống như một ông leader ngồi phân chia công việc của team một cách hiệu quả. Với RTOS thì chúng ta có rất nhiều thuật toán lập lịch mà chúng ta sẽ được tìm hiểu ở post sau.
>>>= Follow ngay =<<<
hay quá,10 điểm k có nhưng
Trả lờiXóa