SylixOS嵌入式硬实时操作系统
SylixOS是一款嵌入式硬实时操作系统,同其类似的操作系统,全球比较知名的还有VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)、ThreadX(主要应用于航空航天与数码通讯)等。 从全球范围上看,SylixOS作为实时操作系统的后来者,在设计思路上借鉴了众多实时操作系统的设计思想,其中就包括RTEMS、VxWorks、ThreadX等,使得具体性能参数上达到或超过了众多实时操作系统的水平,成为国内实时操作系统的最优秀代表之一。
主要特点有:
优秀的实时性能(任务调度与切换、中断响应算法都是O(1)时间复杂度算法) |
支持无限多任务 |
抢占式调度支持256个优先级 |
支持协程(windows称为纤程) |
支持虚拟进程 |
支持优先级继承,防止优先级翻转 |
极其稳定的内核,很多基于SylixOS开发的产品都需要7x24小时不间断运行 |
内核CPU占用率低 |
柔性体系(Scalable) |
核心代码使用C编写,可移植性好 |
支持紧耦合同构多处理器(SMP),例如:ARM Cortex-A9 SMPCore |
全世界独一无二的硬实时多核调度算法 |
支持标准I/O接口 |
支持多种新兴异步事件同步化接口,例如:signalfd、timerfd、eventfd等 |
支持IEEE POSIX操作系统接口规范 |
支持众多标准文件系统:FAT、YAFFS、ROOTFS、PROCFS、NFS、ROMFS等等 |
支持文件记录锁,可支持数据库 |
支持统一的块设备CACHE模型 |
支持内存管理单元(MMU) |
支持第三方GUI图形库,如:Microwindows、µC/GUI、ftk等等 |
支持动态装载应用程序、动态链接库以及模块 |
支持扩展系统符号接口 |
支持标准TCP/IPv4/IPv6双网络协议栈,提供标准的socket操作接口 |
支持AF_UNIX, AF_INET, AF_INET6协议域 |
内部集成众多网络工具,例如:FTP、TFTP、NAT、PING、TELNET、NFS等等 |
内部集成shell接口、支持环境变量(与Linux操作习惯基本兼容) |
内部集成可重入ISO/ANSI C库(支持80%以上标准函数) |
支持众多标准设备抽象,如:TTY、BLOCK、DMA、ATA、GRAPH、RTC、PIPE等。同时支持多种工业设备或总线模型,如:CAN、I2C、SPI、SDIO等 |
提供高速定时器设备接口,可提供高于主时钟频率的定时服务 |
支持热插拔设备 |
支持设备功耗管理 |
设备模型支持多路I/O复用接口与异步I/O接口 |
内核、驱动、应用程序支持GDB调试 |
提供内核行为跟踪器,方便进行应用性能与故障分析 |
请阅读SylixOS源码包下的introduction.pdf文件
第三方库支持情况 http://code.google.com/p/sylixos/wiki/WikiSylixOS_StdLibrary
怎样编译并运行 SylixOS http://code.google.com/p/sylixos/wiki/HOWTO
详细情况请查询 http://www.sylixos.com
注意, 由于授权问题 SylixOS 仅开放少量 BSP 代码,如有需要请联系作者。
开发环境
图形界面可以使用QtCreator开发
终端
开发工作区
评论