Khác nhau ở việc bao nhiêu chức năng OS chạy trong không gian nhân (kernel space).
Monolithic kernel: gần như toàn bộ dịch vụ — quản lý tiến trình, bộ nhớ, file system, driver, network stack — chạy chung trong kernel space, gọi nhau trực tiếp qua function call.
- Ưu: hiệu năng cao (ít chuyển ngữ cảnh, không IPC giữa các thành phần).
- Nhược: kernel lớn, một driver lỗi có thể sập cả hệ thống; khó bảo trì.
- Ví dụ: Linux, Unix truyền thống (Linux nạp module động được nhưng vẫn là monolithic).
Microkernel: giữ trong nhân phần tối thiểu — lập lịch cơ bản, quản lý bộ nhớ cấp thấp, IPC. Các dịch vụ khác (file system, driver, network) chạy như tiến trình ở user space, giao tiếp qua message passing.
- Ưu: nhỏ gọn, cách ly lỗi tốt (driver sập chỉ ảnh hưởng service đó), dễ mở rộng, an toàn hơn.
- Nhược: IPC qua ranh giới user/kernel nhiều lần → overhead, hiệu năng thường thấp hơn.
- Ví dụ: QNX, Mach, MINIX; macOS (XNU) và Windows là hybrid.