Một hạt nhân nguyên khối (hay monolithic kernel) là một kiến trúc hệ điều hành mà toàn bộ hệ điều hành đang làm việc trong không gian hạt nhân. Mô hình nguyên khối khác với các kiến trúc hệ điều hành khác (chẳng hạn như kiến trúc microkernel)[1][2] ở chỗ nó một mình định nghĩa một giao diện ảo mức cao trên phần cứng máy tính. Một tập hợp các lệnh gọi hệ thống hoặc nguyên thủy hoàn thành tất cả các dịch vụ hệ điều hành như quản lý tiến trình, tương tranh và quản lý bộ nhớ. Trình điều khiển thiết bị có thể được thêm vào hạt nhân dưới dạng mô-đun.
Mô-đun có thể nạp
Các hệ điều hành dạng mô-đun như OS-9 và các hệ điều hành nguyên khối hiện đại nhất như OpenVMS, Linux, BSD, SunOS, AIX và MULTICS có thể nạp (và dỡ bỏ) các mô-đun thực thi động trong thời gian chạy.
Mô đun này của hệ điều hành ở mức nhị phân (hình ảnh) và không ở mức kiến trúc. Các hệ điều hành nguyên khối mô-đun không bị nhầm lẫn với mức độ kiến trúc mô-đun vốn có trong hệ điều hành máy client-server (và các dẫn xuất của nó đôi khi được tiếp thị như hybrid kernel) sử dụng microkernels và máy chủ (không nhầm lẫn với mô-đun hoặc daemon).
Thực tế, việc tải động các mô-đun chỉ đơn giản là một cách linh hoạt hơn để xử lý hình ảnh hệ điều hành trong thời gian chạy — trái với việc khởi động lại với một hình ảnh hệ điều hành khác. Các mô-đun cho phép dễ dàng mở rộng khả năng của các hệ điều hành theo yêu cầu.[3] Các mô-đun có thể nạp động phải chịu một chi phí nhỏ khi so sánh với việc xây dựng mô-đun vào hình ảnh hệ điều hành.
Tuy nhiên, trong một số trường hợp, tải các mô-đun động (khi cần) giúp giữ cho số lượng mã chạy trong không gian hạt nhân ở mức tối thiểu; ví dụ, để giảm thiểu dấu chân hệ điều hành cho các thiết bị nhúng hoặc những người có tài nguyên phần cứng hạn chế. Cụ thể, một mô-đun chưa tải không cần được lưu trữ trong bộ nhớ truy cập ngẫu nhiên khan hiếm.
Ví dụ về kiến trúc Monolithic
Xem thêm
Chú thích
- ^ “Modular system programming in Minix3” (PDF).
- ^ “Server-Client, or layered structure” (PDF). The Design of PARAS Microkernel. Bản gốc (PDF) lưu trữ ngày 17 tháng 7 năm 2010. Truy cập ngày 15 tháng 7 năm 2009.
- ^ “Kernel Definition”.