SylixOS 概述
SylixOS 是一款大型嵌入式实时操作系统,诞生于 2006 年,起初它只是一个小型多任务调度器,经过多年开发,SylixOS 目前已经成为一个功能完善、性能卓越、可靠稳定的嵌入式系统软件开发平台。与 SylixOS 类似的实时操作系统中,全球比较知名的有 VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)等。

SylixOS 作为抢占式多任务硬实时操作系统,具有如下功能与特点:
 兼容 IEEE1003(ISO/IEC9945)操作系统接口规范;
 兼容 POSIX 1003.1b(ISO/IEC 9945-1)实时编程的标准;
 优秀的实时性能(任务调度与切换、中断响应算法都是 O(1)时间复杂度算法);
 支持无限多任务;
 抢占式调度支持 256 个优先级;
 支持协程(windows 称为纤程);
 支持虚拟进程;
 支持优先级继承,防止优先级反转;
 极其稳定的内核,很多基于 SylixOS 开发的产品都需要 7×24 小时不间断运行;
 内核占用 CPU 率低;
 柔性体系(Scalable);
 核心代码使用 C 语言编写,可移植性好;
 支持紧耦合同构多处理器(SMP),例如:ARM Cortex-A9 SMP Core;
 独一无二的硬实时多核调度算法;
 支持标准 I/O、多路 I/O 复用与异步 I/O 接口;
 支持多种新兴异步事件同步化接口,例如:signalfd、timerfd、eventfd 等;
 支持众多标准文件系统:TpsFS、FAT、YAFFS、RAMFS、NFS、ROMFS 等;
 支持文件记录锁,可支持数据库;
 支持统一的块设备 Cache 模型;
 支持内存管理单元(MMU);
 支持第三方 GUI 图形库,如:Qt、Microwindows、emWin 等;
 支持动态装载应用程序、动态链接库以及模块;
 支持扩展系统符号接口;
 支持标准 TCP/IPv4/IPv6 双网络协议栈,提供标准的 socket 操作接口;
 支持 AF_ROUTE、AF_UNIX、AF_PACKET、AF_INET、AF_INET6 协议域;
 内部集成众多网络工具,例如:FTP、TFTP、NAT、PING、TELNET、NFS 等;
 内部集成 shell 接口、支持环境变量(与 Linux 操作习惯基本兼容);
 内部集成可重入 ISO/ANSI C 库(支持 80%以上标准函数);
 支持众多标准设备抽象,如:TTY、BLOCK、DMA、ATA、GRAPH、RTC、PIPE
 等。同时支持多种工业设备或总线模型,如:PCI、USB、CAN、I2C、SPI、SDIO等;
 提供高速定时器设备接口,可提供高于主时钟频率的定时服务;
 支持热插拔设备;
 支持设备功耗管理;
 内核、驱动、应用程序支持 GDB 调试;
 提供内核行为跟踪器,方便进行应用性能与故障分析。

SylixOS 应用领域

 SylixOS 采用抢占式、多任务、硬实时的方式来设计整个操作系统。其技术实现的核心目标是实时可控,稳定可靠。所以 SylixOS 适用于(但不限于)以下对实时性和稳定性要求尤为突出的领域:
 工业实时控制领域:主要包括工业机器人系统、现场安全监控与防护系统、工业现场总线通信管理系统等;
 航空航天领域:主要包括航空器飞控系统、航空航天数据采集与记录系统、高精度测绘系统,航空航天通信系统等;
 国防安全领域:主要包括加密通信系统、传感器终端系统、虚拟仪表系统、数据采集与记录系统、火控系统等;
 金融终端领域:主要包括 POS 收费系统、终端支付系统、ATM 自动柜员机等;
 高可靠民用领域:主要包括汽车行驶记录仪系统、车辆及船用发动机中央控制系统、生产线测试系统、医疗仪器系统、分布式无人值守系统等。

RealEvo-IDE 和 SylixOS

RealEvo-IDE 的主要功能是 SylixOS 工程管理和程序调试。RealEvo-IDE 可以创建SylixOS Base 工程、创建 SylixOS BSP 工程、创建 SylixOS App 工程、创建 SylixOS Shared Lib
工程、创建 SylixOS Kernel Module 工程及创建 SylixOS Kernel Static Lib 工程等。支持一键推送调试、手动启动调式、通过串口调试、动态库调试及 Attach 到进程调试,所有调试方
式在多线程调试时都支持 Non-stop 模式。
RealEvo-IDE 运行于宿主机上,通过网络或串口与目标机交互。RealEvo-IDE 的交叉编译器在宿主机上编译生成可以在目标机上运行的 SylixOS 镜像文件,交叉调试器实现了宿主机与目标机之间的前后台调试。
RealEvo-IDE 主要集成以下开发工具:
 针对平台优化的编译工具链;
 强大的多平台模拟器;
 优秀的设计与测试工具;
 性能分析工具;
 代码覆盖率分析工具;
 友好的代码编辑器;
 远程系统访问工具;
 

        RealEvo-IDE主界面

初识SylixOs的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

随机推荐

  1. 追星女孩必备!使用Camtasia制作爱豆视频

    制作爱豆视频,我用得比较多的是Camtasia(Windows)教程录制.因为这款软件操作简单,功能强大,用起来相当顺手呢.而且更重要的是,Camtasia有录屏功能,电脑存量不足的情况下,真的很好用 ...

  2. 详细了解IDM的队列功能

    队列的种类 IDM(Internet Download Manager)下载器的队列分为2种:主要下载队列和同步队列.此外,我们也可以自己创建附加队列. 在左边的[分类]窗口中,黄色的图标为主要下载队 ...

  3. CLH lock queue的原理解释及Java实现

    目录 背景 原理解释 Java代码实现 定义QNode 定义Lock接口 定义CLHLock 使用场景 运行代码 代码输出 代码解释 CLHLock的加锁.释放锁过程 第一个使用CLHLock的线程自 ...

  4. 使用ES替代whoosh全文检索

    目录 1.docker安装ES 1.拉取docker镜像 2.使用docker安装ES 3.在页面中测试 2.使用ES替代whoosh全文检索 2.1 在Django中修改搜索引擎为ES 2.2 命令 ...

  5. 精尽MyBatis源码分析 - 插件机制

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  6. 编程C语言进阶篇——自定义数据类型:结构体

    一.结构体 定义方法: 结构名 变量名 特点: 两个同类型的结构变量可以相互赋值,但是结构变量之间不能使用"<","=="等运算符,如果使用则需要对运算符 ...

  7. 【震惊】手把手教你用python做绘图工具(一)

    在这篇博客里将为你介绍如何通过numpy和cv2进行结和去创建画布,包括空白画布.白色画布和彩色画布.创建画布是制作绘图工具的前提,有了画布我们就可以在画布上尽情的挥洒自己的艺术细胞. 还在为如何去绘 ...

  8. 2014_07_11_VGA基础及封装

    -- VR1201 Color Filter LCOS Microdisplays QVGA (320*240 Pixel) Color Filter LCOS Microdisplays -- VR ...

  9. Beta冲刺随笔——Day_Ten

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...

  10. 使用django的用户表进行登录管理

    改写用户基本表 ... AUTH_USER_MODEL = 'appjwt.User' ... setting.py from django.db import models from django. ...