Hình: Hệ thống động cơ đốt trong - Engine System
Phát triển một RTOS chịu ảnh hưởng của tập hợp hàng loạt mục tiêu và yêu cầu cụ thể. Thông thường các mục tiêu được phân theo ba loại như: quy trình phát triền phần mềm, chất lượng của phần mềm và các chức năng của hệ thống thời gian thực.
Điều này giúp quản lý hiệu quả sự phức tạp của phần mềm ngày càng tăng lên nhanh, giảm thời gian sản phần mềm ra thị trường và tăng chất lượng phần mềm.
1. Tính dùng lại - Reuseability
Khả năng dùng lại giữa các hệ thống thời giant thực và giữa các dự án khác nhau. Tức là yêu cầu phát triền các chức năng nên độc lập với vấn đề timing ( functional view) và các thuộc tình liên quan tới hệ thống (system view) như độ ưu tiên và chiến lược định thời.
2. Tính mô đun hóa - Modularity
Phần mềm phải được tổ chứ và phân chia theo mô hình hướng đối tượng (object-orientation), từ đó hỗ trợ
phát triền phần mềm theo mô đun hóa và quy trình kiểm tra test, yếu tố chính là phát triền phần mềm song song, và kiểm tra test độc lập giữa các mo đun.
3. Tính hiệu quả - Efficiency
Tài nguyên của vi điều khiển (Microcontroller) như CPU, Bộ nhớ (Memory: RAM, ROM,..) và các ngoại vi peripherals ví dụ như timer, ports và ADC .. được sử dụng hiệu quả vì liên quan trực tiếp tới chi phí (Cost).
4. Tính bảo trì và mở rộng - Maintainability and extendibility
Tức là dễ dàng chỉnh sửa và mở rộng hệ thống phần mềm đã tồn tại một cách dễ dàng.
5. Hỗ trợ thời gian thực - Support Realtime
Tức là phần mềm hỗ trợ yêu cầu thời gian thực, hệ thống sẽ đảm bảo đáp ứng yêu cầu trong thời gian xác định. Thường từ vài microsecond (us) tới 100 millisecond (ms).
Hình: Tập hợp các mục tiêu và yêu cầu cụ thể
Phần 3: Định thời (scheduling) RTOS