强内核,又称宏内核或单内核,是操作系统内核架构的一种,简单理解,就是把所有要用到的东西都放到了内核里,比如最基本的进程、线程管理、内存管理、文件系统、驱动、网络协议等等。因为所有的模块都是在内核里,那优点就是处理效率高,但随着内核增大,管理起来也越不方便,而且只要其中一个模块出现问题,就会导致整个内核崩溃,系统的稳定性就差一些。
微内核是指将内核模块化设计,大部分内核都作为单独的进程,相互之间通过消息传递进行通信。微内核的功能类似于一个消息的转发站,优点是有助于内核功能的扩展和模块间的隔离,单个模块的bug不影响整个内核,只要杀掉出问题的进程就可以了,内核稳定性高,缺点就是进程间通信肯定会影响内核的效率。
宏内核的代表是Linux,微内核的代表是windows。可能有人会说微内核看起来更好,为什么 Linux不用微内核。Linux第一版用的是宏内核,之后也一直沿用下来,在Linus看来没有必要去重写Linux内核,一是这种结构实现起来是比较简单的,避免了划分模块、设计消息结构等麻烦,二是Linux没有研发时间上的限制,也不受市场的压力,其实就是有的是时间把单内核写好,三是Linux其实在单内核内核实现了充分的模块化,也就相当于吸收了微内核的优点,扩展及管理起来并没有那么困难,四是Linus认为了为增加可维护性而牺牲处理效率是不值得的。
单内核与微内核设计之比较
操作系统内核可以分为两大设计阵营:单内核和微内核(第三阵营外内核,主要用在科研系统中,但也逐渐在现实世界中壮大起来)。
单内核是两大阵营中一种较为简单的设计,在1980年之前,所有的内核都设计成单内核。所谓单内核就是把它从整体上作为一个单独的大过程来实现,并同时运行在一个单独的地址空间。因此,这样的内核通常以单个静态二进制文件的形式存放于磁盘。所有内核服务都在这样的一个大
原文作者:lucky tiger;如有侵权,请联系管理员删除。