Hệ điều hành thời gian thực

Một hệ điều hành thời gian thực (tiếng Anh: real-time operating system, viết tắt: RTOS) là một hệ điều hành (OS) nhằm phục vụ các ứng dụng thời gian thực, với việc xử lý dữ liệu đầu vào mà không có sự chậm trễ của bộ đệm (buffer). Các yêu cầu về thời gian xử lý (bao gồm cả sự chậm trễ của hệ điều hành) được tính bằng phần mười của giây hoặc bằng thời gian ngắn hơn nữa. Một hệ thống thời gian thực là một hệ thống giới hạn thời gian với các các ràng buộc thời gian cố định được định nghĩa rõ ràng. Quá trình xử lý phải được thực hiện trong một khoản thời gian cố định, nếu không thì hệ thống sẽ gặp sự cố. Việc này có thể được thực hiện thông qua cơ chế hướng sự kiện (event-driven) hoặc chia sẻ thời gian (time-sharing). Các hệ thống hướng sự kiện sẽ chuyển đổi giữa các tác vụ (task) nhiệm vụ dựa trên độ ưu tiên của chúng trong khi các hệ thống chia sẻ thời gian sẽ chuyển đổi các tác vụ dựa trên ngắt của xung nhịp. Phần lớn các hệ điều hành thời gian thực đều sử dụng giải thuật pre-emptive scheduling (tạm dịch: lập lịch trước).

Đặc tính 
Một đặc điểm chính của một RTOS là mức độ nhất quán của nó đối với khoảng thời gian cần thiết để nhận và hoàn thành một tác vụ trong một ứng dụng; sự thay đổi là rung pha (jitter: những biến đổi về pha của tín hiệu số thu được so với vị trí lí tưởng của chúng có tần số lớn hơn hoặc bằng 10 Hz). Một hệ điều hành thời gian thực "cứng" có ít jitter hơn một hệ điều hành thời gian thực "mềm". Mục tiêu thiết kế chính không phải là thông lượng cao, mà là sự bảo đảm về một loại hiệu suất mềm hoặc cứng. Một RTOS thường hoặc nói chung đáp ứng được một thời hạn quy định là một hệ điều hành thời gian thực mềm, nhưng nếu nó có thể đáp ứng được một thời hạn xác định thì đó là một hệ điều hành thời gian thực cứng.

Một RTOS có một thuật toán tiên tiến cho việc lập thời biểu (scheduling). Tính linh hoạt của bộ lập thời biểu cho phép dàn xếp hệ thống máy tính rộng rãi hơn về các ưu tiên quá trình, nhưng hệ điều hành thời gian thực thường xuyên hơn dành cho một bộ nhỏ các ứng dụng. Các yếu tố chính trong một hệ điều hành thời gian thực là độ trễ ngắt tối thiểu và độ trễ chuyển luồng (thread) tối thiểu; một hệ điều hành thời gian thực được đánh giá cao hơn về mức độ nhanh nhạy hoặc có thể dự đoán được nó như thế nào so với số lượng công việc nó có thể thực hiện trong một khoảng thời gian nhất định.

Chú thích 

Hệ điều hành
Hệ thống thời gian thực
Tính toán thời gian thực