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开发
终端
开发工作区
SylixOS操作系统自学经历(一) 我现在的工作岗位是嵌入式软件工程师,在学习过程中感谢王翾先生,陈洪邦先生,李孝成先生以及其他同事的大力帮助。 在系统学习SylixOS操作系统前我先看了《SylixOS启程之旅》这一门公开课,点开下面链接即可观看: SylixOS启程之旅 RealEvo——IDE学习心得 Real——Evo简介: SylixOS 是一款支持对称多处理器(SMP)的大型实时操作
Q: SylixOS 版权是什么形式, 是否分为<开发版税>和<运行时版税>. A: SylixOS 是开源并免费的操作系统, 支持 BSD/GPL 协议(GPL 版本暂未确定). 没有任何的运行时版税. 您可以用她来做任何 您喜欢做的项目. 也可以修改 SylixOS 的源代码, 不需要支付任何费用. 当然笔者希望您可以将使用 SylixOS 开发的项目 (不需要开源)或对 SylixOS 源码
源头 memAccessCmd是用于SylixOS下对内存/寄存器进行访问和测试的工具。 SylixOS下调测程序,无论是应用、驱动还是内核,如果能查看并操作指定内存/寄存器,将是一个非常有效的手段。作者在多年的SylixOS程序开发中积累了不少自己编写的调测软件工具,其中内存工具算的是上最基础使用频率最高的一个。 博客最后有发文时的最新版源码,使用者可以自行将其编译为app或内核模块来用,直接添
概念 内核在处理中断请求时,要求在单位时间内可以处理尽可能多的中断,也就是系统要求处理中断的吞吐率要尽可能地大。这就要求中断处理程序要尽可能地短小精悍,并且不能有耗时操作。但是大多数的中断处理程序是很复杂的,很难在短时间内处理完毕。为了提高系统的响应能力和并发能力,需要解决平衡中断处理程序时间要求短和工作量要大的问题,SylixOS 将中断处理分为两个阶段,也就是顶半部和底半部: 顶半部完成的一般
我们正在使用双四核24GB的Intel Xeon 机器。 您需要足够的内存来缓存活动的readers和writers。您可以通过假设您希望缓存30秒,将您的内存需求计算为write_throughput * 30来进行内存需求的后期估计。 磁盘的吞吐量很重要。我们有8x7200转的SATA硬盘。通常磁盘的吞吐量是瓶颈,磁盘是越多越好。您能不能从更昂贵的磁盘中受益取决于你的刷新配置(如果您经常强制刷
操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成
目前常用的 Linux 发行版主要包括 Debian/Ubuntu 系列和 CentOS/Fedora 系列。 前者以自带软件包版本较新而出名;后者则宣称运行更稳定一些。选择哪个操作系统取决于读者的具体需求。 使用 Docker,读者只需要一个命令就能快速获取一个 Linux 发行版镜像,这是以往包括各种虚拟化技术都难以实现的。这些镜像一般都很精简,但是可以支持完整 Linux 系统的大部分功能。
更多面试题总结请看:【面试题】技术面试题汇总 互斥锁的实现 1. 禁止中断 进入临界区前禁止中断,离开之前恢复中断。这样任何中断都不会发生,包括时钟中断,也就是说 CPU 不会被切换到其他线程。 优点是实现简单。缺点有很多: 给用户禁止中断的权利很危险,如果用户进程死循环,操作系统可能永远无法获取控制权 只适用于单 CPU 的场景,其他 CPU 上运行的线程仍然可以访问临界资源,因为不同 CPU
本文向大家介绍Spring实战之注入嵌套Bean操作示例,包括了Spring实战之注入嵌套Bean操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Spring实战之注入嵌套Bean操作。分享给大家供大家参考,具体如下: 一 配置 二 接口 Axe Person 三 实现 Chinese StoneAxe SteelAxe 四 测试类 五 运行 钢斧砍柴真快 更多关于java相关内容
进程与线程 对于有线程系统: 进程是资源分配的独立单位 线程是资源调度的独立单位 对于无线程系统: 进程是资源调度、分配的独立单位 进程之间的通信方式以及优缺点 管道(PIPE) 有名管道:一种半双工的通信方式,它允许无亲缘关系进程间的通信 优点:可以实现任意关系的进程间的通信 缺点: 长期存于系统中,使用不当容易出错 缓冲区有限 无名管道:一种半双工的通信方式,只能在具有亲缘关系的进程间使用(父