1 微内核和宏内核的差异
微内核在我理解是一种宏内核的精简版,它将所有可以不在内核实现的功能都移出内核,同时将移出内核的系统服务变成独立的过程,内核、系统服务和软件之间可以通过IPC进行通信,模块化程度更高,一个服务失效不会影响另一个服务。在用户态来实现OS服务。因此有以下的优点:安全性好、 可移植性好、 灵活性高、 容易debug。但也有缺点:性能会相应降低。
宏内核则将内核作为一个大的整体,将所有内核服务放在一个地址空间运行,相互直接调用函数,这样提供了更加简单高效的内核服务间的通信方式。内核态提供OS服务, 通过syscall结构向用户态提供服务。