0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么要选择微内核操作系统?

RTThread物联网操作系统 来源:RTThread物联网操作系统 2020-06-03 14:35 次阅读

在开始今天的正文之前,我们先通过下面的视频,来更直观的感受下微内核操作系统

为什么要选择微内核操作系统?

微内核操作系统,单从名字上来说可能被误解为操作系统非常小,但这并不是它本身的意义,而是指内核非常小,内核只保留一些基本的功能,一些系统服务,例如文件系统,网络协议栈等则放到了用户态。

例如原来在宏内核操作系统中,用户应用程序是通过系统调用,陷入到内核中,然后再读取、访问文件。而在微内核操作系统中,则是用户应用程序通过发送IPC消息给到运行在用户态的文件系统服务来访问文件。

针对于微内核操作系统,我们看到最近两三年有些新的发展:

Google在推进Fuchsia微内核操作系统

IntelCPU的管理引擎中使用Minix微内核操作系统

华为在推进鸿蒙分布式微内核操作系统

可以看到相关厂商都一致性的选择了微内核架构或和微内核架构相关的技术方式。

这个背后的可能原因会有哪些?

原⽣进程沙箱,解决应⽤安全和分发问题 -- Google Fuchsia(⿊客)

稳定的驱动接⼝,硬件⼚商可独⽴维护硬件驱动 -- Google Fuchsia(硬件)

系统模块化,分层,设备⼚商可以灵活定制专有系统 -- Google Fuchsia(友商)

Linux越来越庞大,更多的为服务器进行优化,针对低性能、低资源设备显得臃肿;

可以提供网络,文件,web服务等的功能轻型系统;-- MINIX on Intel

(以上内容:部分是许中兴博士的Fuchsia一文的摘录,部分则出自网络上一些文章)

2019年年初,微内核也在RT-Thread提上了日程,同年4月便正式开始推进这件事情。还有一个促使我们决定的重要原因是,我们从中看到一些市场需求:

快速启动,终端上的系统可以在500ms内完成启动并就绪;

安全方面的考虑,当应用出问题时不会影响到其他无关功能;

在进行系统升级时,不类似传统RTOS需要把整个固件进行升级;

当要在ARM11、Cortex-A等带MMU的处理器上跑一套操作系统时,RT-Thread已经不那么能够得到适应:整体一起开发,代码维护相对困难;升级时也需要对系统一起进行升级。

RT-Thread Smart 混合微内核

RT-Thread Smart 之所以采用混合微内核架构,更多是从工程、实用层面考虑如何有效的解决需求:

系统启动需要足够快,功能就绪时<500ms

在初始启动时,时间会花很大一部分在系统加载上。传统的方式,都是整个映像程序一起加载。新的系统则只需要加载一个非常小的系统,然后其他应用部分按需加载,同时保持整体资源占用足够小;

应用崩溃时不再影响到内核、系统其他无关功能

每个应用都是地址隔离的,拥有自己的独立地址空间。当应用执行出错,或访问错误地址时,应用程序会core dump,而不会影响到其他应用,系统内核;

在工程引入新的特性时,对原有的功能不影响

继续沿用目前的RT-Thread整体内核代码,在原有基础上增加、完善lwP(轻型进程)功能,保留原有的实时性和小巧的特点。

RT-Thread混合微内核架构

从架构图可以看出内核的功能相对基本,一些系统服务则挪到了用户态,例如elmFATKit - FAT的文件系统,lwIPKit - lwIP轻型TCP/IP协议栈等,而在用户态则使用嵌入式系统中常用的musl libc库:一个轻型,但相对完整的libc实现。不过另外一点,这些系列的用户态系统服务,如果需要追求高性能,也可以在menuconfig中定制这个功能组件继续在内核中保留,这样可以达到最佳的性能。

通过混合微内核改造RT-Thread操作系统后,RT-Thread将成为最适合物联网产业的IoT OS之一,因为它可以完美覆盖小资源场景的MCU用于简单控制<使用RT-Thread nano版本>;中等规模的IoT节点<使用RT-Thread宏内核版本>;功能丰富的智能设备<使用RT-Thread混合微内核版本,也称之为RT-Thread Smart>。

报名测试条件及内容

上面已经对RT-Thread混合微内核操作系统进行了简单的介绍,还有许多没有公布的细节。如果你有兴趣了解,欢迎报名RT-Thread混合微内核系统内测,从更全面的方位来了解RT-Thread Smart。 在参与测试前,先说明下参与的条件:(名额有限,希望您可以认真对待报名表中的每一个问题)

希望是从事嵌入式系统终端开发的行业,具备开发经验;

希望有一定的Linux开发基础,前期一些开发环境可能是在Linux下;

对于参与的同学,我们会提供一份柿饼M7的开发板,同时根据情况收取一定的押金,后续开发板归还后返回押金;

以下这个就是柿饼M7的开发板:

柿饼M7开发板包括:

全志R11处理器,1.2GHz ARM Cortex-A7,64MB DRAM

板载16MB SPI NorFlash

支持AP6181 WiFi

USB接口(用于USB Device连接PC),USB转串口TTL

40/50pin标准RGB屏接口

6线Touch电容触摸屏接口

音频Speaker接口,MIC模拟麦克风

MIPI/DVP camera接口(目前还未包括驱动)

对于参与测试的同学,需要做些什么:

提供一份使用的测试报告,反馈混合微内核使用上的最直观感受;

在上面进行一定的开发,反馈开发层面哪里不足、需要改进;

希望可以有1 - 2个月的时间来和我们持续的沟通和反馈;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10412

    浏览量

    206465
  • 操作系统
    +关注

    关注

    37

    文章

    6266

    浏览量

    121841
  • RT-Thread
    +关注

    关注

    31

    文章

    1148

    浏览量

    38857

原文标题:【内测邀请】RT-Thread Smart 混合微内核系统开始内测了!

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    微内核操作系统详解:RTOS是否归属其中?

    由于在微内核OS中,客户和服务器之间以及服务器和服务器之间的通信,是采用消息传递通信机制进行的,致使微内核OS能很好地支持分布式系统和网络系统
    发表于 03-27 10:10 111次阅读
    <b class='flag-5'>微内核操作系统</b>详解:RTOS是否归属其中?

    基于多内核操作系统内生安全技术

    万物互联,设备越来越多,且智能化、网络化趋势日益明显,成为未来发展的一个必然方向,但同时也为系统安全带来了新的挑战与机遇,功能安全与网络安全的各种问题和隐患也随之而来。操作系统是软件架构的基石
    的头像 发表于 01-16 11:07 261次阅读
    基于多<b class='flag-5'>内核</b>的<b class='flag-5'>操作系统</b>内生安全技术

    linux属于什么操作系统

    ),是一种免费使用和自由传播的 类UNIX 操作系统,其内核由 林纳斯·本纳第克特·托瓦兹 (Linus Benedict Torvalds)于
    的头像 发表于 11-08 11:01 1611次阅读

    开源操作系统大全

    内核,并且使用 GNU 工程中各种工具和数据库的操作系统。Linux 存在着许多不同的 Linux 版本,但 它们都使用了 Linux 内核。流行的 Linux 版本有 Ubuntu、Debian
    发表于 10-27 15:13

    Windows CE.net操作系统内核定制

    电子发烧友网站提供《Windows CE.net操作系统内核定制.doc》资料免费下载
    发表于 10-26 11:23 0次下载
    Windows CE.net<b class='flag-5'>操作系统</b>的<b class='flag-5'>内核</b>定制

    基于优先级调度的嵌入式实时操作系统内核详解(下)

    基于优先级调度的嵌入式实时操作系统内核详解(下)
    的头像 发表于 09-06 12:46 493次阅读
    基于优先级调度的嵌入式实时<b class='flag-5'>操作系统</b><b class='flag-5'>内核</b>详解(下)

    物联网设备操作系统有哪些?如何选择物联网操作系统

    物联网(IoT)设备端操作系统是指安装在物联网设备上的软件系统,用于管理和控制设备的硬件资源、执行应用程序以及处理通信任务。选择适合的物联网(IoT)设备端操作系统是一个重要的决策,以
    的头像 发表于 08-05 16:25 1121次阅读
    物联网设备<b class='flag-5'>操作系统</b>有哪些?如何<b class='flag-5'>选择</b>物联网<b class='flag-5'>操作系统</b>

    汽车操作系统和中间件的关系

    如果嵌入式操作系统(比如FreeRTOS, uCOS或Autosar CP的内核)的开发难度和工作量是1, 那么大型操作系统的开发难度和工作量就是99, 从体量就能看出,一个完整的嵌入式操作系
    发表于 07-21 11:16 430次阅读
    汽车<b class='flag-5'>操作系统</b>和中间件的关系

    FreeRTOS:一个迷你的实时操作系统内核

    ** 1、FreeRTOS** FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器
    的头像 发表于 06-29 17:15 511次阅读
    FreeRTOS:一个迷你的实时<b class='flag-5'>操作系统</b><b class='flag-5'>内核</b>

    内核线程(2)#操作系统

    操作系统
    学习硬声知识
    发布于 :2023年06月01日 14:13:23

    内核线程(1)#操作系统

    操作系统
    学习硬声知识
    发布于 :2023年06月01日 14:12:33

    内核线程(2)#操作系统

    操作系统
    学习硬声知识
    发布于 :2023年05月31日 23:05:42

    内核线程(1)#操作系统

    操作系统
    学习硬声知识
    发布于 :2023年05月31日 23:05:01

    操作系统中抢占式和非抢占式内核的区别

    操作系统一般分为抢占式内核和非抢占式内核,通常RTOS都是抢占式内核。你知道抢占式内核和非抢占式内核
    的头像 发表于 05-29 10:47 765次阅读
    <b class='flag-5'>操作系统</b>中抢占式和非抢占式<b class='flag-5'>内核</b>的区别

    聊聊操作系统

    说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统
    的头像 发表于 05-12 11:13 1016次阅读
    聊聊<b class='flag-5'>操作系统</b>