操作系统|开源!国产微内核操作系统RT-Thread Smart发布( 二 )


不过在十几年以后的今天, RT-Thread 已经拥有了国内最大的嵌入式开源社区 。
生态为先 , 方能成器IT 行业每隔十年就会出现一种新型生态 , 比如 2000 年出现的由微软和英特尔组成的 Wintel 生态 , 把持着目前 85% 的桌面系统市场份额 , 而在 2010 年形成的由 Arm+Android、IOS 的组成 AAI 生态联盟 , 其市场份额占比几乎是 100% 。
【操作系统|开源!国产微内核操作系统RT-Thread Smart发布】由于应用程序会被操作系统从可执行文件角度进行深层的绑定 , 因此操作系统与在其基础上建立的应用程序组成的生态体系 , 才是最终成败的关键 。
RT-Thread Smart 选择在这个时点发布 , 并与龙芯公司全面结合 , 将很有机会形成 RT 龙芯联盟生态 , 成为中国自主掌控的操作系统利器 。
之前国内很多做操作系统的公司 , 往往都特别重视技术发展 , 却忽略了对于应用生态的支持 , 但是独木难支 , 用户所需要的并不是一个单独的操作系统 , 而是运行在操作系统上的各种应用 。
可以说在生态建设方面我们吃过很多亏 , 也上过不少当 。 比如红旗 Linux , 在 2001 年其 OEM 付费订单甚至超过了 100 万套 。 但是一台没有 Office、PS , 不能玩游戏的电脑 , 对于用户的价值不多 。
与拥有成熟生态的 Windows 相比 , 红旗 Linux 只能甘拜下风 。 再比如上个世纪 80 年代曾经风生水起的日本的操作系统 TRON , 也在生态未完全建立时就被美国封杀 。
而在开发者支持及生态体系建设方面 , RT-Thread 已经有了一定建树 , 另一个值得关注的点是 RT-Thread Studio 的应用商店 , 这款产品覆盖了全技术栈整合 。
经笔者实际体验 , 在 RT-Thread Studio 中添加腾讯云的连接支持 , 只需在 Package Center 选择对应的程序包即可 。
混合微内核:RT-Thread Smart 的关键突破正如前文所谈 , 根据最新的终端智能化需求 , 物联网操作系统要在实时性、成本、安全性、启动速度等方面取得平衡 , 而这个平衡的关键 , 在于到底是选择操作系统 , 还是选择微内核还是宏内核 。
而 RT-Thread Smart 定位于成为一个面向实时应用场合的高性能混合微内核操作系统 , 以期填补传统 RTOS 和大型操作系统之间的留白 。
具体来说 , 宏内核将内核的功能 , 都组合在一个内核态进程中完成 , 而微内核将许多在宏内核中的模块移出内核 , 使之运行于用户模式 。
宏内核的好处是各功能模块处于同一个地址空间 , 相互调用效率很高 , 弊端是体积太大 , 不利于在移动设备上进行部署 。
微内核的好处是功能模块各自独立、体积较小 , 方便进行移植也方便对其它体系的兼容 。 弊端是功能模块之间变进程间通信 , CPU 上下文切换代价很大 , 执行效率较低 。
简单来说就是微内核可以做得很小 , 但是性能不佳 , 宏内核性能不错 , 但是往往体积太大 。
而 RT-Thread Smart 上 , 使用了共享内存的方式 , 把交换的数据内存块 , 分别投到不同的进程地址空间上 , 从而不需要做额外的数据拷贝 。
这种方案在针对具体场景的优化时往往会起到较好效果 , 例如监控摄像可能数据带宽要求很高 , 那么就可以把涉及到的网络协议栈再放回到内核态中 , 这时性能指标又能达到非常理想的程度 。
继承原有生态正如笔者上文所说 , 做出一款能用的操作系统容易 , 但做出一整套的生态难 , 因此如果我们的操作系统能够直接兼容已有的成熟生态 , 可能是最佳的方案 。 比如最近刚刚发布的银河麒麟就提出了 Kydroid 技术 , 可以全面支持安卓的应用程序 。
RT-Thread Smart 不但与 RT-Thread API 全面兼容 , 而且符合 POSIX 标准(可移植操作系统接口 Portable Operating System Interface) , POSIX 是 IEEE 对于 UNIX 操作系统 , 定义 API 的系列标准总称 , 所以这意味着 RT-Thread Smart 全面继承了 Unix API , 也就是说 Linux 下的应用程序可以非常方便的移植 。 与 Linux 及其主干系统 RT-Thread 相比 , 其主要特点如下: