宏内核与微内核
操作系统内核的设计在历史上存在两大阵容。一个是宏内核,另一个是微内核。
宏内核是指所有的内核代码都被编译成二进制文件,所有的内核代码都运行在一个大的内核地址空间里,内核代码可以直接访问和调用,效率高并且性能好。
微内核是指把操作系统分为多个独立的功能模块,每个功能模块之间的访问需要通过消息来完成,因此效率没有那么高。
Linux Torvalds在设计Linux内核之初并没有使用当时学术界流行的微内核架构,而采用实现方式比较简单的宏内核架构。宏内核架构的优点是设计简洁且性能比较好,而微内核架构的优势很明显,比如稳定性和实时性等。微内核架构最大的问题就是高度模块化带来的交互的冗余和效率的损耗。把所有的理论设计放到现实的工程实践中是一种折中的艺术。Linux在20多年的发展历程中,行程了自己的工程理论,并且不断融入了微内核的精华,如模块化设计、抢占式内核,动态加载模块等。
宏内核与微内核--Linux的工程理论
最新推荐文章于 2024-08-11 14:41:12 发布