LynxOS是由Lynx实时系统公司开发的操作系统。LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。
体系结构
LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的“Galaxy”技术将其从大型集成化内核改造成微内核,这一技术将在LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。
调度策略
LynxOS 其调度策略为:
* LynxOS支持线程概念,提供256个全局用户线程优先级;
* 硬实时优先级调度:在每个优先级上实现了轮转调度、定量调度和FIFO调度策略;
* 快速正文切换和阻塞时间短;
* 抢占式的RTOS核心。
操作系统服务
LynxOS的系统服务:
* 网络和通信。由于使用unix/POSIX API,Lynx很适合于数据通信和Internet应用。又由于系统的开放性,网络软件很容易移植到Lynx上。同样,Lynx亦提供关键的电话通信协议,使之适用于电信系统的基础架构、操作和多媒体应用。
* TCP/IP协议栈。Lynx自带优化的TCP/IP协议栈,提供高性能服务,如TCP头预测、高级路由算法、IP级多址广播和链路级高速缓冲。
* Internet工具。包括,Telnet、断点续传、FTTP、PPP、SLIP、实时调度的嵌入式Java虚拟机、嵌入式HTTP server、bootp、ARP/RARP、DNS域名服务、电子邮件、Perl、电话通信协议等。
* SVR3流。LynxOS流机制为开发和移植基于流的驱动程序和应用提供了核心支持。
* 文件系统。实时的类unix层次结构文件系统:连续结构文件、带缓冲/不带缓冲、原始分区和原始设备访问。
* 基于Motif的图形用户接口。
* 分布式计算资源。SCMP与VME总线上的多处理结合,PCI桥服务、CompactPCI Hot-swap Services、Lynx/HA-DDS分布式数据系统。
系统开放性
LynxOS的开放性:
* POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。
* 支持多种CPU主板:包括CompactPCI(6U/3U)和标准PCI、VME/Eurobus、PC/104和PC/AT硬件等。
* 各种外设适配器:10/100BaseT Ethernet、SCSI接口、单/多通道串行控制器、单/双工并行口、时钟、计时器、IDE接口、高分辨率显示适配器等。
开发
模块设计
LynxOS的内部模块化,具有可伸缩性和配置性。最小应用时,LynxOS可仅使用内核和应用相连接形成ROM映象文件。完全应用时,LynxOS具有由一系列软件开发工具组成完整的自主调试环境,包含unix兼容的软件工具,工业标准的网络,图形用户接口和与UNIX相似的 分级文件系统。
遵循标准
LynxOS符合POSIX的1003.1的系统调用接口标准,同时实现POSIX的1003.1b标 准规定的实时扩展和1003.1 c标准规定的线程扩展。 LynxOS包括4.4 BSD系统调用接口和库函数,能为任何一个UNIX的平台上的应 用提供相当高程度的源级水平上的兼容。
开发信息
开发平台:Sun Solaris, SunOS, RS6000, LynxOS Native/Hosted
支持处理器:x86, 68k, PPC, microSPARC, microSPARC II,人民军RISC
支持实验板:PowerPC
系列:
- Motorola MVME1600 和 MVME2600 VME Boards - Motorola PowerStack Series E Systems - Motorola Ultra Boards 和 Ultra-based PowerStack RISC PC Systems - FORCE CPU-6604 - FORCE CPU-60xRT - CES RTPC 8067 Motorola MPC860 PowrQUICC: - Motorola ADS - Motorola MBX860 基于英特尔 x86的PC系列: 从386到PentiumPro所有根据PC/AT平台构造的系统 Motorola 68K: - Motorola MVME147 - Motorola MVME162 使用MC68040或MC68LC040 - Motorola MVME167 - Motorola MVME177 microSPARC, microSPARC II - SPARCclassic - SPARCstation 5 和 LX - SPARCclassicEngine, SPARCEngine 5 和 LX - TADPOLE TP91 和 TP912 - 其他 microSPARC 兼容实验板 第三方支持的系统和实验板,包括嵌入式Pentium系列. 用户可以通过Lynx移 植工具支持所有的硬件。
支持编译器:Lynx开放开发环境包含: gcc, g++
第三方产品:Fortran77/ 90, C++, Ada83, Ada95, Pascal, Modula-2
支持工具:Lynx开放开发环境包含: - gdb, X/Motif 客户/服务开发工具 Lynx PosixWorks
环境包含: - TotalView - 多进程, 多线程, 多处理器源级调试起 - TimeScan - Posix-aware 多线程性能分析工具 - LynxInsure++ - 静态及实时软件分析工具提供内存泄露探测和测试覆盖分析。
支持网络协议:TCP/IP, NFS, LynxSNMP工具包, 众多网络接口卡和设备, 第三方协议和硬件
标准:POSIX.1/.1b/.1c, Unix BSD 4.3
开发环境:本地开发, 交互式开发
软件供应形式:目标代码, 源代码
编程语言: C, 汇编
图形界面:X-Windows, Motif, 其它
产品有效模块:浮点运算模块, 通讯协议模块, 缓存模块, 网络支持模块, 数学库, 文件系统, 其它
多线程调度策略:固定优先级, 轮转调度, 时间片, 动态改变优先级, dead line monotonic scheduling, FIFO, run to completion
优先级倒转防止策略:优先级继承
技术信息
系统内核: 280K, 4M
系统内核内存:500K, 4G
进程最小存储区:1073 字节
线程最小存储区: 1073 字节
消息最小存储区:80 字节
优先级数目: 512
线程最大数目:无限制
典型线程切换时间:4US 到 19us
典型进程切换时间: 4us 到 19us
最大中断潜伏期: 14us
系统时钟最小分辨率: 20ns
多进程:支持
多线程:支持
多处理器:支持
MMU支持:支持
集成JAVA支持:不详
自动代码生成工具:支持
RMA:支持
参考资料
《电子产品世界》杂志社.baike.eepw.com.cn.2010-03-06
LynxOS - 老牌嵌入实时操作系统,市场占有率前十名.group.bokee.com.2010-03-06