Introduction Microkernel

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ị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.

Tài liệu tham khảo

WikiPedia: Microkernel http://www.byte.com:80/art/9401/sec8/art2.htm http://www.oreilly.com/catalog/opensources/book/ap... http://www.realworldtech.com/forums/index.cfm?acti... http://www.inf.tu-dresden.de/index.php?node_id=269... http://os.ibds.kit.edu/65_747.php http://citeseerx.ist.psu.edu/search?q=microkernel http://www.eecis.udel.edu/~mills/database/papers/n... http://brinch-hansen.net/memoirs/contents.html http://www.brinch-hansen.net/papers/1970a.pdf http://www.cs.vu.nl/~ast/reliable-os/