Hệ điều hành thời gian thực (Real-Time Operating Systems RTOS), là loại hệ điều hành hỗ trợ để xõy dựng cỏc hệ thống thời gian thực. Đặc biệt RTOS được dựng trong những ứng dụng điện toỏn nhỳng cú tài nguyờn bộ nhớ hạn chế và yờu cầu ngặt nghốo về thời gian đỏp ứng tức thời, tớnh sẵn sàng cao và khả năng tự kiểm soỏt một cỏch chớnh xỏc. RTOS xuất hiện ở hai dạng: cứng và mềm. Nếu tớnh năng xử lý ứng với một sự kiện nào đú khụng xảy ra hay xảy ra khụng đủ nhanh, RTOS cứng sẽ chấm dứt hoạt động này và giữ khụng gõy ảnh hưởng đến độ tin cậy và tớnh sẵn sàng của phần cũn lại của hệ thống.
Vỡ RTOS và HTN trở nờn phổ biến trong cỏc ứng dụng quan trọng, cỏc nhà phỏt triển thương mại đang tạo nờn những RTOS mới với tớnh sẵn sàng cao. Những sản phẩm này cú một thành phần phần mềm chuyờn dụng làm chức năng cảnh bỏo, chạy cỏc chương trỡnh chẩn đoỏn hệ thống để giỳp xỏc định chớnh xỏc vấn đề trục trặc hay tự động chuyển đổi sang hệ thống dự phũng. Hiện thời RTOS sẵn sàng cao hỗ trợ bus Compact PCI của tổ chức PCI Industrial Computer Manufacturers Group, bus này dựng cho phần cứng cú thể trao đổi núng.
RTOS cú rất nhiều dạng. Sản phẩm thương mại như VxWorks và VxWorks AE, đều của Wind River Systems Inc; VxWorks AE được thiết kế với tớnh sẵn sàng cao, hỗ trợ khả năng gửi thụng điệp phõn tỏn và cú thể chịu lỗi. RTOS cho phộp lập trỡnh viờn tỏch biệt thư viện dựng chung, dữ liệu và phần mềm hệ thống cũng như ứng dụng.
LynxOS là loại RTOS cứng, làm việc với Unix và Java. QNX chạy trờn bộ xử lý Intel x86 với nhõn chỉ cú 10 KB.
RTOS của giới nghiờn cứu gồm cú Chimera của Đại học Carnegie Mellon. Đõy là hệ thống đa nhiệm, đa bộ xử lý thời gian thực, được thiết kế để tạo sự dễ dàng cho cỏc nhà lập trỡnh trong việc tỏi cấu hỡnh và tỏi sử dụng mó. Chimera nhắm vào cỏc hệ thống rụ bụ và tự động. RTOS của Đại học Maryland, cú tờn là Maruti, hỗ trợ cho cả ứng dụng thời gian thực cứng và mềm. Trong nhiều năm, ứng dụng dựa trờn RTOS chủ yếu là trong cỏc hệ thống nhỳng cụng nghiệp và mới gần đõy thỡ chỳng đó cú mặt khắp nơi, từ thiết bị y tế được điều khiển bằng camera ảnh cho đến mỏy pha cà phờ, những ứng dụng tớnh toỏn phõn tỏn, đặc biệt trong cỏc thiết bị truyền thụng, đang thỳc đẩy cỏc nhà phỏt triển hệ điều hành thực hiện nghiờn cứu và phỏt triển cỏc chuẩn. Như đó núi, RTOS tạo điều kiện để xõy dựng cỏc hệ thời gian thực, tuy nhiờn nú khụng đảm bảo chắc chắn rằng kết quả cuối cựng sẽ là thời gian thực; điều đú phải được cải tiến trong phần mềm ứng dụng. RTOS khụng nhất thiết cần phải cú tớnh xuyờn suốt cao, mà RTOS cho cỏc tiện ớch, nếu sử dụng chớnh xỏc, thể cú thể đảm bảo thỏa món được yếu tố hạn chút (deadline) bởi đặc tớnh thời gian thực mềm hay thời gian thực cứng. RTOS sử dụng giải thuật lập lịch đặc biệt, cung cấp cụng cụ cho người phỏt triển hệ thống kiểm nghiệm cỏc tập tớnh của hệ thống đớch. RTOS được
179
đỏnh giỏ về khả năng cho đỏp ứng nhanh mức độ nào, khả năng tiờn liệu để phản ứng với cỏc sự kiện riờng biệt, chứ khụng phải là số lượng cỏc tỏc vụ xử lý được trong một khung thời gian. Yếu tố then chốt trong RTOS là thời gian chờ xử lý ngắt tối thiểu, và thời gian chuyển đổi thực thi (context switching) giữa cỏc tỏc vụ là tối thiểu. Yếu tố thứ hai ngày nay đạt được với hỗ trợ của cỏc CPU đời mới tốc độ nhanh, kiến trỳc hiện đại, cần ớt CPU Clock hơn để chuyển đổi giữa cỏc tỏc vụ, vớ dụ như kiểu đường ống (pipeline), hay đa luồng.
Cỏc yờu cầu cơ bản trờn một RTOS
Đ Cỏc thao tỏc ràng buộc với thời gian phải dự tớnh được. Mỗi dịch vụ của HĐH ngưỡng
trờn của thời gian thực hiện phải được đảm bảo. Trong thực tế cú nhiều ngưỡng dự tớnh, tựy vào loại sự kiện hệ thooang chấp nhận.
Đ RTOS phải quản lớ chi phớ thời gian chạy tỏc vụ và lập lịch để chạy cỏc tỏc vụ. RTOS
chịu trỏch nhiệm về cỏc hạn chút của cỏc tỏc vụ, để trờn cơ sở đú sử dụng giải thuật, kĩ thuật lập lịch phự hợp, vớ dụ cú thể lập lịch kiểu ofline, khởi động tỏc vụ theo thời điểm hay theo mức ưu tiờn, hoặc theo cỏc giải thuật online. Cung cấp cỏc dịch vụ thời gian phải cú độ chớnh xỏc cao, vớ dụ cỏc hệ thống điện đồng bộ thời gian giữa cỏc nhà mỏy điện ở cỏc vựng cỏch xa nhau tớnh theo mỳi giờ, sai số lớn là rất nguy hiểm.
Đ RTOS cú tốc độ xử lý nhanh. Bờn cạnh khả năng dự đoỏn, RTOS phải nhanh, cú khả
năng hỗ trợ cỏc ứng dụng cú thời gian hạn chút chỉ là vài phần của giõy đồng hồ. Nhõn của RTOS cũn gọi là nhõn thời gian thực, quản lớ tài nguyờn hệ thống (bộ nhớ, CPU, cỏc bộ định thời). Cỏc cơ chế bảo vệ nhõn khụng cần cú. Tuy nhiờn ở mức độ hệ thống ứng dụng vũ lớ do như an ninh, tớnh độc lập cú thể cú cơ chế bảo vệ. Vớ dụ, cỏc thiết bị mạng là cỏc HTN, cú RTOS phải xử lý một khối lược rất lớn thụng lượng, được bảo vệ bởi cỏc phần mềm mạng riờng biệt như lad ứng dụng lớp trờn HĐH.
Cú hai kiểu RTOS:
Hỡnh 3.13 RTOS nhõn thời gian thực và RTOS đa năng
nhõn Thời gian thực TĐKTB TĐKTB Phần mềm trung gian Phần mềm trung gian Ứng dụng TĐKTB TĐKTBTĐKTB TĐKTB
Phần mềm trung gian Phần mềm trung gian
Ứng dụng
180
ỹ HĐH RTOS đa năng: cỏc TĐKTB cú thể là nằm trong nhõn, Cỏc phần mềm trung gian, ứng dụng ở lớp trờn và kết nối vào nhõn qua giao diện lập trỡnh API -GHT, ngắt mềm.
ỹ RTOS với nhõn thời gian thực: cỏc TĐKTB khụng phải là thành phần nhỳng trong nhõn, được đặt trờn nhõn và chỉ cú cỏc TĐKTB cần thỡ đưa vào hệ thống. Cỏc phần mềm trung gian và ứng dụng đặt ngay trờn cỏc TĐKTB, chứ khụng thụng qua API như HĐH đa năng. Điều này là rừ ràng và hợp lớ, vỡ cỏc thiết bị nối trực tiếp vào hệ thống để nhõn điều khiển trực tiếp thiết bị, đẩm bảo chi phớ thời gian là ớt nhất.
ỹ Ở đõy cú sự khỏc biệt khi cài đặt TĐKTB, cỏc tỏc vụ sẽ thao tỏc cỏc thiết bị, chứ khụng phải cỏc thiết bị hợp nhất trong nhõn hệ đuều hành, do vậy sẽ:
Đ Cải thiện tớnh tiền định, dự đoỏn (predictability), vỡ mội xử lớ đều đi qua bộ lập lịch;
Đ Cỏc TĐKTB được thiết kế cho từng hệ thời gian thực, hhieju chỉnh cho lớp ứng dụng hệ thực hiện.
(Device drivers handled by tasks instead of integrated drivers:
Đ Improve predictability; everything goes through scheduler;
Đ Effectively no device that needs to be supported by all versions of the OS, except maybe the system timer.)
(Def.: A real-time operating system is an operating system that supports the construction of real-time systems.)
ỹ Three key requirements: