以下是SylixOS基本特性,SylixOS源码大家可以到官方网站下载。
基本功能
1. 支持任务管理,支持256个任务调度优先级,实现基于优先级的抢占式调度和同优先级的时间片轮转调度算法;
2. 支持多核SMP软件架构,支持任务统一管理,并支持任务对特定核的亲和度调度策略;
3. 支持中断管理;
4. 支持信号量、消息队列、管道、共享数据结构、事件和异步信号机制,满足任务间通信以及同步和互斥;
5. 支持MMU内存管理;
6. 支持时钟和定时器管理;
7. 支持异常管理,支持对操作系统和应用软件的错误进行处理;
8. 支持强亲和度调度策略,可设置多核处理器的特定核只运行指定线程;
9. 支持安全容器,实现地址空间隔离,容器间有相互独立的地址空间与资源配额管理,不能相互访问,同时实现了容器间的信息安全。
10. 支持混合多核解决方案,不同的CPU核心运行不同的OS,以满足现场灵活性需求。
11. 微内核版本、Matrix653 分时分区版本、SIL版本将在2019年面世。
网络通信
SylixOS支持完善的网络功能以及丰富的网络工具:
1. 支持 10M/100M/1G/10G 以太网;
2. 支持 wireless net framework;
3. 支持 Mesh 网络和 AODV 自组网协议;
4. 支持主流的 WIFI、3G/4G 模块、网卡冗余、虚拟网卡、单网卡多IP;
5. 支持 IPv4/IPv6 双网络协议栈,提供标准的 socket 接口;
6. 支持 AF_UNIX、AF_PACKET、AF_INET、AF_INET6、AF_ROUTE等协议域;
7. 支持众多网络工具 ,例如:FTP、TFTP、NAT、PING、TELNET、NFS、PPP、KidVPN、VLAN 等;
8. 支持主流工业实时以太网(商用和开源多个版本),例如:EtherCAT;
9. 支持丰富的网络中间件,例如: SNTP、libxemail、libcurl、GoAhead-WebServer、DHCP-Server、ACE、TAO、DDS、LCM、NcFTP Client、SNTP Server、noPoll(WebSocket)、Boa 等;
10. 支持内置规则防火墙、外挂网络防火墙。可有效抵御常见的网络攻击,例如:单播、组播、广播网络风暴、报文重放攻击、ARP 欺骗攻击、ARP 泛洪攻击、TCP SYN、ACK 泛洪攻击等。
11. 支持传输服务优先级(Priority)和可靠数据传输(Don't drop)两种 QoS 模型;
12. 支持基于策略的流量控制技术;
13. 支持 PPPoS、PPPoE、PPPoL2TP 拨号链接;
14. 支持远程登陆攻击检测与黑白名单管理;
文件存储
SylixOS文件存储功能可满足如下要求:
1) 支持众多标准文件系统:FAT12/16/32/ex、YAFFS、ROOTFS、PROCFS、NFS、ROMFS 、RAMFS等;
2) 支持 SylixOS 专利文件系统:TpsFs(掉电安全文件系统),彻底解决嵌入式行业文件存储掉电安全问题;
3) 支持文件记录锁与数据库;
4) 文件系统支持 POSIX 标准的 I/O 操作;
5) 文件存储介质支持 NOR FLASH、NAND FLASH、eMMC、SD、CF、IDE 、SATA 、SSD、U 盘、NVMe 固态存储等。
图形显示和多媒体支持
供 RealEvo-QtSylixOS 软件,方便用户在Qt Creater上开发调试应用界面。 支持多屏显示、OpenGL、VNC 远程显示; 支持 Qt、Microwindows、μC/GUI、MiniGUI 等图形用户界面(GUI),支持 Qwt 等第三方 Qt 控件库; 支持触摸屏、键盘、鼠标,支持输入设备热插拔。
兼容性
SylixOS在设计之初就考虑到系统的适应性和可扩展性,从内核到应用各个层次设计十分合理,耦合性低。目前SylixOS对底层BSP的支持已经具备完善的功能抽象:IO层、设备驱动层、驱动接层均具备完善的软件框架,且应用层API丰富而完善,能够做到只编写一次代码,不管内核如何升级,应用程序和驱动只需要重新编译(大部分甚至不用重新编译)也可正常运行的效果。从而让内核对应用层,驱动层的兼容性达到最佳效果。
SylixOS支持IEEE 1003、支持POSIX 1003.1b、支持国军标 GJB7714-2012 等操作系统接口规范,能够让以往的基于Linux的应用程序几乎无需任何更改即可运行在SylixOS上。