Trong khoa học máy tính, một microkernel (thường được viết tắt là μ-kernel) là lượng phần mềm gần như tối thiểu có thể cung cấp các cơ chế cần thiết để triển khai một hệ điều hành. Các cơ chế này bao gồm quản lý không gian địa chỉ cấp thấp, quản lý luồng và giao tiếp liên tiến trình (IPC). Nếu phần cứng cung cấp nhiều vòng hoặc chế độ CPU, microkernel có thể là phần mềm duy nhất thực thi ở mức đặc quyền nhất, thường được gọi là chế độ giám sát hoặc chế độ hạt nhân. Các chức năng của hệ điều hành truyền thống, chẳng hạn như trình điều khiển, chồng giao thức và hệ thống file, bị loại bỏ khỏi microkernel và thay vào đó được chạy trong không gian người dùng. Về kích thước mã nguồn, microkernel thường nhỏ hơn hạt nhân monolithic. MINIX là một ví dụ với chỉ có khoảng 12,000 dòng lệnh. Các nhân của hệ điều hành ban đầu khá nhỏ, một phần là do bộ nhớ máy tính bị hạn chế. Khi khả năng của máy tính phát triển, số lượng thiết bị mà nhân phải kiểm soát cũng tăng lên. Trong suốt lịch sử ban đầu của Unix, hạt nhân nói chung là nhỏ, mặc dù chúng chứa nhiều triển khai trình điều khiển thiết bị và hệ thống file khác nhau. Khi không gian địa chỉ tăng từ 16 lên 32 bit, thiết kế nhân không còn bị giới hạn bởi kiến trúc phần cứng, và nhân bắt đầu phát triển lớn hơn. Berkeley Software Distribution (BSD) của Unix bắt đầu kỷ nguyên của các hạt nhân lớn hơn. Ngoài việc vận hành một hệ thống cơ bản bao gồm CPU, đĩa và máy in, BSD đã bổ sung một hệ thống mạng TCP/IP hoàn chỉnh và một số thiết bị "ảo" cho phép các chương trình hiện có hoạt động 'vô hình' qua mạng. Sự tăng trưởng này tiếp tục trong nhiều năm, tạo ra các hạt nhân với hàng triệu dòng mã nguồn. Kết quả của sự phát triển này, hạt nhân dễ bị lỗi và ngày càng khó bảo trì. Microkernel được thiết kế để giải quyết sự phát triển này của các hạt nhân và những khó khăn dẫn đến. Về lý thuyết, thiết kế microkernelcho phép quản lý mã dễ dàng hơn do nó được phân chia thành các dịch vụ không gian người dùng. Điều này cũng cho phép tăng cường bảo mật và ổn định do giảm lượng mã chạy trong kernel mode. Ví dụ: nếu một dịch vụ mạng gặp sự cố do tràn bộ đệm, chỉ bộ nhớ của dịch vụ mạng sẽ bị hỏng, phần còn lại của hệ thống vẫn hoạt động. Trên hầu hết các bộ xử lý chính thống, việc nhận được một dịch vụ vốn đã đắt hơn trong một hệ thống dựa trên microkernel hơn là một hệ thống monolithic. Trong hệ thống monolithic, dịch vụ có được bằng một lệnh gọi hệ thống, yêu cầu hai "mode switches" (thay đổi vòng của bộ xử lý hoặc chế độ CPU). Trong hệ thống dựa trên microkernel, dịch vụ nhận được bằng cách gửi một thông điệp IPC đến một server, và nhận được kết quả trong một thông điệp IPC khác từ server. Điều này yêu cầu chuyển đổi ngữ cảnh nếu các trình điều khiển được triển khai dưới dạng các quy trình hoặc một lệnh gọi hàm nếu chúng được thực hiện dưới dạng các thủ tục. Ngoài ra, việc chuyển dữ liệu thực tế đến máy chủ và quay lại có thể phát sinh thêm chi phí sao chép, trong khi trong một hệ thống monolithic, hạt nhân có thể truy cập trực tiếp vào dữ liệu trong bộ đệm của máy khách. Do đó, hiệu suất là một vấn đề tiềm ẩn trong các hệ thống microkernel. Thật vậy, kinh nghiệm của các microkernels thế hệ đầu tiên như Mach hayChorusOS cho thấy rằng các hệ thống dựa trên chúng hoạt động rất kém. Tuy nhiên, Jochen Liedtke đã chỉ ra rằng các vấn đề về hiệu suất của Mach là kết quả của việc thiết kế và triển khai kém, cụ thể là bộ nhớ đệm quá nhiều của Mach. Liedtke đã chứng minh với L4 microkernel của riêng mình rằng thông qua thiết kế và triển khai cẩn thận, và đặc biệt là bằng cách tuân theo nguyên tắc tối thiểu, chi phí IPC có thể giảm nhiều hơn một bậc so với Mach.Hiệu suất IPC của L4 vẫn bất bại trên nhiều loại kiến trúc. Mặc dù những kết quả này chứng minh rằng hiệu suất kém của các hệ thống dựa trên các microkernels thế hệ thứ nhất không phải là đại diện cho các hạt nhân thế hệ thứ hai như L4, nhưng điều này không tạo ra bằng chứng rằng các hệ thống dựa trên microkernel có thể được xây dựng với hiệu suất tốt. Nó đã được chỉ ra rằng một máy chủ Linux nguyên khối được chuyển sang L4 chỉ thể hiện một vài phần trăm chi phí so với Linux gốc. Tuy nhiên, hệ thống một máy chủ như vậy thể hiện rất ít lợi thế, nếu có, các microkernel được cho là cung cấp bằng cách cấu trúc chức năng của hệ điều hành thành các máy chủ riêng biệt. Một số hệ thống đa máy chủ thương mại tồn tại, đặc biệt là hệ thống thời gian thực QNX và Integrity. Không có so sánh toàn diện về hiệu suất so với các hệ thống nguyên khối đã được công bố cho các hệ thống nhiều máy chủ đó. Hơn nữa, hiệu suất dường như không phải là mối quan tâm lớn đối với các hệ thống thương mại đó, thay vào đó nhấn mạnh thời gian phản hồi xử lý ngắt nhanh đáng tin cậy (QNX) và tính đơn giản vì lợi ích của sự mạnh mẽ. Một nỗ lực để xây dựng một hệ điều hành đa máy chủ hiệu suất cao là dự án IBM Sawmill Linux. Tuy nhiên, dự án này đã không bao giờ được hoàn thành. Trong khi đó, người ta đã chứng minh rằng trình điều khiển thiết bị cấp người dùng có thể đạt được hiệu suất của trình điều khiển trong nhân ngay cả đối với các thiết bị có thông lượng cao, ngắt quãng cao như Gigabit Ethernet. Điều này dường như ngụ ý rằng các hệ thống đa máy chủ hiệu suất cao là có thể. Lợi ích bảo mật của các microkernels đã được thảo luận thường xuyên. Trong bối cảnh bảo mật, nguyên tắc tối thiểu của microkernels, một số người đã lập luận, là hệ quả trực tiếp của nguyên tắc đặc quyền ít nhất, theo đó tất cả mã chỉ nên có những đặc quyền cần thiết để cung cấp chức năng cần thiết. Tính tối thiểu đòi hỏi cơ sở tính toán đáng tin cậy (TCB) của hệ thống phải được giữ ở mức tối thiểu. Vì hạt nhân (mã thực thi ở chế độ đặc quyền của phần cứng) đã tiết lộ quyền truy cập vào bất kỳ dữ liệu nào và do đó có thể vi phạm tính toàn vẹn hoặc tính bảo mật của nó, hạt nhân luôn là một phần của TCB. Giảm thiểu nó là điều đương nhiên trong một thiết kế theo hướng bảo mật. Do đó, các thiết kế microkernel đã được sử dụng cho các hệ thống được thiết kế cho các ứng dụng bảo mật cao, bao gồm KeyKOS, EROS và các hệ thống quân sự. Trên thực tế, các tiêu chí chung common criteria (CC) at ở mức đảm bảo cao nhất (Evaluation Assurance Level (EAL) 7)có một yêu cầu rõ ràng rằng mục tiêu đánh giá phải "đơn giản", một sự thừa nhận về khả năng thiết lập độ tin cậy thực sự đối với một hệ thống phức tạp Thật không may, một lần nữa, thuật ngữ "đơn giản" gây hiểu lầm và không được xác định rõ ràng. Ít nhất thì Department of Defense Trusted Computer System Evaluation Criteria đã đưa ra một cách chính xác hơn phần nào các lớp B3/A1: Vào năm 2018, một bài báo được trình bày tại Hội nghị Hệ thống Châu Á - Thái Bình Dương tuyên bố rằng các microkernel an toàn hơn đáng kể so với các hạt nhân monolithic bằng cách điều tra tất cả các CVE quan trọng được công bố cho nhân Linux vào thời điểm đó. Nghiên cứu kết luận rằng 40% các vấn đề hoàn toàn không thể xảy ra trong một microkernel, đã được xác minh chính thức và chỉ 4% các vấn đề sẽ hoàn toàn không có vấn đề trong một hệ thống như vậy. Thuật ngữ "nanokernel" hoặc "picokernel" trước đây được gọi là: Cũng có ít nhất một trường hợp mà thuật ngữ nanokernel được sử dụng không phải để chỉ một hạt nhân nhỏ, mà là một hạt hỗ trợ độ phân giải xung nhịp nano giây.