一款真正可以拿的出手的本土嵌入式RTOS-SylixOS
由 winniewei 提交于 周四, 12/20/2018

作者:张国斌
在参加工信部人才交流中心和南京浦口区开发区管委会联合举办的第三届集成电路产业紧缺人才创新发展高级研修班暨产业促进交流会期间,我受邀参观了南京翼辉信息公司,该公司主要产品是SylixOS实时操作系统,该系统自2003年开始研发,经过十多年的发展,已经成为一个功能全面、稳定可靠,易于开发,被产业广泛采用的操作系统。
据翼辉信息总经理黄晓清介绍SylixOS是一款嵌入式硬实时操作系统,同其类似的操作系统,全球比较知名的还有VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)、ThreadX(主要应用于航空航天与数码通讯)等。
而且SylixOS是一款内核完全由国人自行编写的实时操作系统,相关内核代码开源并在工信部进行了源码自主率扫描,内核代码自主率100%,所有代码的自主率达到89.1%。接口兼容POSIX标准。
这是工信部出具的证书
实时系统(Real-time operating system,RTOS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。换句话说,系统设计时所有的事件都可以在指定的时间内得到响应。如果系统关键任务响应时间都满足这条标准,则这样的实时系统可称为硬实时系统。
与通用的分时操作系统不同(Linux、Windows、Unix等),实时操作系统在航空航天、军事与工业自动化领域更具优势,首先实时操作系统有着分时操作系统无法比拟的响应时间确定性,实时操作系统从调度器算法,到中断响应系统,到消息传递机制等所有的核心算法时间复杂度都是O(1),它表示系统的响应速度不依赖于系统任务的多少,负载的轻重,而只依赖于优先级的设计,就算当前系统满负荷运行,优先级高的事件发生后,系统还将会在指定的时间内立即响应事件。由于这种设计理念和算法上的优势,根据相关数学理论,分时系统在负载严重的情况下是不能通过提升处理器性能来获得确定的响应时间。
这种算法上的优势是通用分时系统所难以比拟的,而分时系统则更多考虑的是系统易用性、平衡性和数据吞吐率。所以实时系统与分时系统设计思想和应用领域完全不同,不存在替代关系,而是一种互补关系。
据他介绍目前SylixOS已经成功应用于工业控制与通信、武器装备及国家安全、新能源应用等国家基础领域中。
他表示为了保证SylixOS能够持续开发,并且吸引大批开发人员参与测试,所以SylixOS目前是以公开源代码项目的形式存在。
据悉,从军用到民用,400多家企业成为忠实的用户;SylixOS已经与国产CPU包括龙芯、飞腾、君正、国微等合作;众多项目或产品基于 SylixOS 进行开发,例如雷达、弹载飞控系统、星载任务计算机、机载火控系统、潜艇蓄电池监控系统、轮式装甲车实时监控系统等,其中大部分产品都要求 7x24小时不间断运行,当前很多 SylixOS 系统节点甚至不间断运行已超过五万小时(6年);授权八〇四所发布 SylixOS 发行版“风云翼辉”嵌入式实时操作系统,风云翼辉的诞生标志着 SylixOS 实时操作系统正式进入中国卫星领域”。
SylixOS在汽车仪表盘上的应用,启动时间非常快
SylixOS目前支持出华为和高通芯片以外的技术所有嵌入式芯片,它全面支持国产CPU(包括龙芯、飞腾、君正、国微等)也支持赛灵思等公司的FPGA产品。
据悉,翼辉信息已经推出面向软件开发全生命周期的集成开发环境,集设计、开发、调试、仿真、部署、测试功能于一体,SylixOS 已发展成一套完整的嵌入式系统开发解决方案。因为是自己原创的,所以开放了源代码;因为开放源代码,证明自己的自主可控能力。2015年,SylixOS 开源社区建立,SylixOS 出色的内核技术开始与全世界分享。
清华大学曾对 SylixOS、Linux、Linux+RT 三款操作系统进行了实时性对比测试。测试结果表明 SylixOS的实时性大幅领先 Linux,并且也优于Linux+RT。
黄晓清表示基于 SylixOS稳定高可靠内核,翼辉信息还开发出了真对人工智能、机器人、无人机应用的SDK,和其他RTOS相比,SylixOS的优势很明显。
目前,翼辉信息国内高可靠、高性能实时操作系统的引领者,未来,SylixOS将覆盖更多新兴领域!
注:本文为原创文章,转载请注明作者及来源
- 登录 发表评论
- 热度: 213
一款真正可以拿的出手的本土嵌入式RTOS-SylixOS的更多相关文章
- 我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)
前言 之前,一直想开发一款属于自己的Markdown编辑器,主要是自己平常写文章可以更加灵活操作,另外扩宽自己的视野也是非常不错的选择啊!所以在周末就决定玩耍一番.首先我调研了很多线上热门的md编辑器 ...
- Android之SqlLite数据库使用
每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无关的SQL数据库—SQLite.SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据 ...
- 让Sqlite脱离VC++ Runtime独立运行
前段时间在开发OrayTalk(傲瑞通)的聊天记录模块时用到了Sqlite,这是我第一次接触和使用Sqlite,总体感觉还是非常不错的.这里把我使用Sqlite的经验跟大家分享一下. 一.关于Sqli ...
- RTT操作系统
http://www.rt-thread.org/官网 RT-Thread RTOS,由国内一些专业开发人员开发.维护.它不仅仅是一款 高效.稳定的实时操作系统内核,也是一套面向嵌入式系统的软件平台, ...
- 让Sqlite脱离VC++ Runtime独立执行
前段时间在开发OrayTalk(傲瑞通企业即时通信系统)的聊天记录模块时用到了Sqlite,这是我第一次接触和使用Sqlite,整体感觉还是很不错的.这里把我使用Sqlite的经验跟大家分享一下. 一 ...
- Android系统架构及内核简介
(来源于ThinkPHP) Android是Google公司开发的基于Linux平台的开源手机操作系统,它包括操作系统.中间件.用户界面和应用程序,而且不存在任何以往阻碍移 动产业创新的专利权障碍,并 ...
- 安卓开发_数据存储技术_sqlite
一.SQLite SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了.SQLite已经被多种软件和产品使用 ...
- 数据库 简介 升级 SQLite 总结 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 手机CPU
说起手机CPU的历史,笔者给大家提一个问题:"世界上第一款智能手机是什么呢?"相信很多人的答案是爱立信的R380或诺基亚的7650,但都不对,真正的首款智能手机是由摩托罗拉在200 ...
随机推荐
- best-time-to-buy-and-sell-stock-ii leetcode C++
Say you have an array for which the i th element is the price of a given stock on day i. Design an a ...
- path-sum leetcode C++
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...
- Bzoj P2054 疯狂的馒头 | 并查集
题目链接 思路:因为每次染色都会将某些馒头的颜色彻底更改,所以每个馒头的最终的颜色其实是由最后一次染色决定的,那么我们只考虑最后一次染色即可.对此,我们可以从后往前倒着染色,当目前的染色区间中存在白色 ...
- mac bigsur 安装mysql步骤
我首先下载的是mysql8.x,安装完后,在偏好设置里面,双击mysql图标,弹窗:未能载入偏好设置面板MySQL,重启无果,查攻略说是要安装5.7.x,在mysql官网上,下载5.7.29 强烈建议 ...
- 算法学习->求解三角形最小路径
00 问题 00-1 描述 对给定高度为n的一个整数三角形,找出从顶部到底部的最小路径和.每个整数只能向下移动到与之相邻的整数. 找到一个一样的力扣题:120. 三角形最小路径和 - 力扣(LeetC ...
- Filter学习笔记
博客园的编辑器太丑了,所以我换用了别的Markdown编辑器,并用图片形式上传.
- Git+windows安装教程(一)
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- 使用silky脚手架构建微服务应用
目录 模板简介 构建独立应用的模板Silky.App.Template 构建模块化应用的模板Silky.Module.Template 开源地址 在线文档 模板简介 使用 dotnet new 命令可 ...
- 模块化开发 | es6模块暴露与引入
CommonJS模块开发 CommonJS定义 每个文件就一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. 私有作用域不会污染全局作用域. 模块可加载多次, ...
- redis批量操作
由于redis没有批量删除命令,所以借助xargs redis-cli -h 127.0.0.1 keys testdata_2018* |xargs redis-cli -h 127.0.0.1 d ...