Tùy theo cơ chế thực hiện và xây dựng hoạt động của hạt nhân người ta phân loại một số loại hình:
(1) Hệ thống thời gian thực nhỏ: Với loại này các phần mềm được phát triển mà khơng cần có hệ điều hành, người lập trình phải tự quản lý và xử lý các vấn đề về điều khiển hệ thống bao gồm:
• Điều khiển q trình/ tác vụ
• Quản lý bộ nhớ (2) Cơng nghệ đa nhiệm
• Mỗi q trình có một khơng gian bộ nhớ riêng
• Các quá trình phải được chia nhỏ thành các Thread cùng chia sẻ không gian bộ nhớ.
(3) Các dịch vụ cung cấp bởi hạt nhân
• Tạo và kết thúc q trình/ tác vụ
• Truyền thống giữa các q trình
• Các dịch vụ về định thời gian
• Một số các dịch vụ cung cấp hỗ trợ việc thực thi liên quan đến điều khiển hệthống
Đặc điểm cơ bản của hạt nhân thời gian thực điển hình:
• Kích thước nhỏ (lưu trữ tồn bộ trong ROM)
• Hệ thống ngắt
• Khơng nhất thiết phải có các cơ chế bảo vệ
o Chỉ hỗ trợ phần kiểm tra chương trình ứng dụng
o Tăng tốc độ chuyển ngữ cảnh và truyền thơng giữa các q trình
o Khi các quá trình ứng dụng đang thực hiện thì các yêu cầu hệ thống điều hành có thể được thực hiện thơng qua các lời gọi hàm thay vì sử dụng cơ chế ngắt mềm
• Vi hạt nhân (Micro‐kernel): Bao gồm một tập nhỏ các dịch vụ hỗ trợ
o Quản lý q trình
o Các dịch vụ truyền thơng giữa các quá trình nếu cần
o Các phần mềm điều khiển thiết bị là các quá trình ứng dụng Hạt nhân điển hình cơ bản
• Loại hạt nhân đơn giản nhất là một vịng lặp vơ hạn thăm dị các sự kiện xuất hiện trong hệ thống và phản ứng lại theo sự thay đổi nếu có.
• Với một bộ xử lý cấu hình nhỏ nhất, khơng phải lúc nào nó cũng có thể lưu cất ngữ cảnh vì khơng thể thay đổi con trỏ ngăn xếp hoặc vùng ngăn xếp rất hạn chế.
• Thay vì sử dụng các thanh ghi thiết bị, vịng lặp thăm dị có thể giám sát các biến mà chịu sự thay đổi cập nhật bởi các bộ xử lý ngắt.
• Hạt nhân có thể được xây dựng sao cho tất cả các tín hiệu logic được điều khiển bởi vòng lặp và nhịp được điều khiển bởi các ngắt.
• Các tác vụ lớn cần nhiều thời gian thực hiện có thể được chia nhỏ thành các tác vụ nhỏ và được thực hiện tại các thời điểm khác nhau nhờ vào cơ chế chuyển và sử dụng bộ đếm.
• Các hạt nhân thực thi theo cơ chế ngắt rất giống với loại hạt nhân thực hiện theo cơ chế vịng lặp thăm dị. Nó xử lý tất cả các tác vụ thơng qua các dịch vụ ngắt.
• Các hạt nhân lớn và phức tạp hơn sẽ bao gồm một số các dịch vụ phụ phục vụcho việc truyền thơng giữa các q trình. Và nếu được bổ sung đầy đủ nó sẽ trở thành một hệ điều hành đầy đủ.
Các kiểu loại hạt nhân cơ bản
• Hạt nhân thực hiện vịng lặp thăm dị
• Hạt nhân thực hiện theo cơ chế ngắt
• Hạt nhân q trình vận hành q trình
Việc lựa chọn loại hạt nhân nào hồn tồn tùy thuộc vào các bộ xử lý và kích thước phần mềm, tuy nhiên riêng loại hạt nhân vận hành theo q trình khơng phù hợp với các bộ xử lý nhỏ.
Hạt nhân quá trình
Các hạt nhân quá trình rõ ràng là phức tạp hơn các hạt nhân thực hiện theo cơ chế thăm dò và điều khiển ngắt. Các đường truyền tín hiệu logic bên trong các quá trình và các dịch vụ ngắt được tích hợp và thực hiện thơng qua việc truyền dữ liệu.
Hình 38: Mơ hình trạng thái của q trình
Hạt nhân sẽ phải đảm nhiệm chức năng lập lịch cho các q trình theo đúng mơ hình trạng thái.
• RUN: q trình được thực hiện
• WAIT: các q trình chờ một sự kiện hoặc tín hiệu vào ra kích hoạt q trình
• READY: các quá trình sẵn sàng được thực hiện
Các phần tử thuộc tính của một q trình: Các phần tử này cần thiết để phục vụ cho việc lập lịch. Ví dụ đối với cơ chế lập lịch theo mức độ ưu tiên sẽ u cầu thơng tin sau với mỗi q trình:
• Tên (địa chỉ bộ nhớ của phần tử q trình)
• Trạng thái: RUN, WAIT, READY
• Mức độ ưu tiên
• Ngữ cảnh (dùng con trỏ để quản lý lưu cất thông tin trong ngăn xếp)