微内核、宏内核、混合内核的对比分析

- 什么是内核

  • 宏内核
  • 微内核
  • 混合内核
    - 相关产品分析
  • Linux
  • RT-Thread

一、什么是内核

    内核是操作系统的核心部分,管理着系统的各种资源,是连接应用程序和硬件的一座桥梁,也是直接运行在硬件上的软件实体。内核的存在使得对硬件资源的管理更加高效,这也是嵌入式系统开发与单片机开发的显著区别。
在操作系统启动时,内核是首先加载到内存的部分,在保证尽可能小的内存使用的同时要尽可能多的为操作系统的应用程序和其他部分提供基本的服务,内核通常负责内存管理、进程和任务管理、设备管理、IO通信、中断处理、文件系统等。
宏内核:
    宏内核包含了所有基本的系统服务,这些服务都打包进了内核当中,这也必然造成了内核太大,不便于维护,当内核中的某个服务崩溃时,整个内核也会崩溃。这种架构也并非一无是处,由于用户服务和内核服务被实现在同一空间中,具体来说就是内核可以代表内核进程运行代码,当用户经过系统调用或者中断进入内核态时,内核也可以代表它运行的代码,这样在执行速度上也会更快。常见的宏内核架构的系统有Linux、BSD、DOS等
微内核:
    微内核是内核的一种精简形式,将通常与内核集成在一起的系统服务层分离出来,变成可以根据需求来自由加入的组件,使得用户服务独立于内核服务,因此,任何用户服务的崩溃都不会影响到内核服务。在升级时,也只需要用新模块替换旧模块,不需要修改整个操作系统,具有可移植性与可扩展性强的优点。在微内核中用户服务和内核服务在不同的地址空间实现。由于内核中执行的服务少,大部分放在用户层运行,客服端的程序和运行在用户空间的服务通过消息传递来建立通信,两者没有直接的交互,这也导致微内核中执行速度相对较慢。常见的操作系统有RT-therad、Harmony OS等
混合内核:
    混合内核可以说是对微内核与宏内核两者进行了折中设计的思想。混合内核在实质上还是属于微内核,为了提升微内核的运行效率,它让一些微内核结构中运行在用户空间的代码运行在内核空间,这样就可以提高内核的运行效率。这种架构更常见于商业操作系统中,如Microsoft Windows NT 3.1,NT 3.5,NT 3.51,NT 4.0,2000,XP,Vista,7,8,8.1和10. Apple Inc等。

11

图1.1 微内核与宏内核的对比分析

二、相关产品分析

宏内核:Linux
    Linux作为一个开源操作系统应用十分广泛,也有众多的发行版本,无论是欧拉还是银河麒麟都有linux的身影。Liunx作为经典宏内核操作系统,主要由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等,如下图所示:
在这里插入图片描述

图2.1 Linux系统架构

    Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源,内核抽象出一层系统调用接口,用于用户的调用访问。

RT-Thread:
    RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程操作系统。一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务)从而达到实时的效果。在 RT-Thread 系统中,任务调度通过线程来实现。
RT-Thread有标准版(MCU)、nano版(极简版)、Smart版(面向MMU)。RT-Thread不仅是一个实时内核,还有丰富的中间组件和软件包,这也是其与RTOS、FreaaRTOS、uc/os的主要区别之一,准确来说,之有RT-Thread nano版属于微内核的范畴,标准版和Smart版归属于混合内核。
在这里插入图片描述

图2.2 RT-Thread系统架构图
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摸鱼带师小弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值