什么是微内核,什么是宏内核?这两者之间有何区别?

华为最新发布的鸿蒙系统采用了微内核架构,而安卓系统采用了宏内核。采用微内核架构的还有windows系统内核、塞班系统、google正在研发的Fuchsia系统(用于替代android)。

微内核是内核的一种精简形式。通常系统服务层是和内核集成在一起的,而微内核将系统服务层被分离出来,变成可以根据需求加入的选件,这样就可以提供更好的可扩展性和更加有效的应用环境。

近日华为开发者大会宣布的鸿蒙操作系统用的就是微内核,这也是鸿蒙系统的亮点之一。

宏内核同样管理着用户程序和硬件之间的系统资源,但是和微内核不一样的是,在宏内核架构中,用户服务和内核服务在同一空间中实现。具体一点,就是内核可以代表内核进程运行代码,就是通常的内核进程;当用户进程经过系统调用或者中断进入到内核态时,内核也可以代表它运行代码。这样一来,宏内核需要管理的资源多于微内核,其大小就相对大一些了。

宏内核技术就像有人用多米诺骨牌组成一幅精美的图画,有一张牌出错,整幅画就完了。而微内核技术是把这幅画分成若干部分,即使一部分出错,其他部分也没事。

另外从安全性来说,宏内核技术相当于一套大房子,只要拿了大门钥匙,可以进入每一个房间;而鸿蒙使用的微内核技术,相当于每个房间都有不同的钥匙,安全性大大提升。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190812A0GPWX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券