390 likes | 569 Views
内容提要. 一: OSE 发展历程及性能特点介绍 二: OSE 基本 概念及架构 三:竞争分析( OSE vs. pSOS 及 OSE vs. Vxworks) 四:典型应用介绍. OSE 发展历程及性能特点介绍 OSE 的 成长及发展. 一: ENEA 公司成立于1968年,总部位于瑞典斯得哥尔摩,与爱立信共同成长。 二: ENEA 公司于1990 年开始推出新一代实时多任务操作系统 OSE 。( 1981 VRTX , 1982 pSOS , 1985 VxWorks )
E N D
内容提要 一:OSE发展历程及性能特点介绍 二:OSE基本概念及架构 三:竞争分析(OSE vs. pSOS及OSE vs. Vxworks) 四:典型应用介绍
OSE发展历程及性能特点介绍 OSE的成长及发展 一:ENEA公司成立于1968年,总部位于瑞典斯得哥尔摩,与爱立信共同成长。 二:ENEA公司于1990年开始推出新一代实时多任务操作系统OSE。( 1981VRTX, 1982 pSOS, 1985 VxWorks) 三:OSE于1998年通过IEC61508(SIL3)安全标准认证,同年通过DO-178B(level A-D)安全认证。 四:公司员工超过800人,公司股票市值在过去1年半中涨幅超过300%,目前市值已超过50亿美圆。 五:2000年8月,OSE进入中国,由旋极公司独家负责技术推广。
OSE发展历程及性能特点介绍 OSE的显著特点 • 极高的处理能力 • 支持复杂的分布式系统 • 强大的容错能力 • 丰富的功能模块 • 广泛的应用 • 严格的安全认证 • 强大的第三方支持
OSE发展历程及性能特点介绍 OSE丰富的功能模块
电信 Ericsson, Nokia Phillips, Lucent, Alcatel 汽车电子 Mercedes, SAAB, Volvo 数据传输 Sagem, Philips, Sony 医疗 Siemens, Medtronic, GE Medical, Gambro, Phillips Medical 消费类电子 Sony, Sagem 工业 Landis & Gyr, ABB Atlas Copco, Fisher Controls, Fisher Rosemount 国防工业 Racal, British Aerospace, SAAB, Lockheed Martin 石油化工 ICS Triplex, Triconex 无线通信 Ericsson, Nokia,Lucent, R&S OSE发展历程及性能特点介绍 OSE的客户遍及全球
OSE发展历程及性能特点介绍 OSE的安全性——全球最佳 • OSE通过了一系列严格的安全认证: • ICE61508,SIL3 该认证是一个安全性认证,产品涉及工业控制、石油化工、航空产品及医疗铁路等,OSE是唯一获此认证的商用RTOS • DO-178B(Level A-D) 是由FAA(US Federal Aviation Administration) 制定的航空安全标准,主要针对航空系统和设备上使用的软件 • EN60601-4 这是针对医疗设备中的可编程电子系统的认证
OSE分布式系统特点之一 同时支持多CPU和DSP • Lucent Technologies:DSP 16000 • Texas Instruments:TMS320C54xTMS320C62xTMS320C67x • Motorola 68K family:68302, 68331, 68332, 68340, 68360 • Motorola PowerPC Family:5XX ,6XX,7XX,7400 ,8XX ,82XX, • M-Core, Coldfire • IBM PowerPC4XX : 403, 4057XX : 750, 750CX • AtmelAVR • ARM Consortium Family:ARM4T : ARM720, ARM740, ARM920, and ARM940 • Intel StrongARM family:StrongARM : SA110, SA1100 and SA1110ARM5T : Intel XScale • MIPS Consortium family:MIPS3000 : IDT RC36100 and Toshiba TX3904. • InfineonC166, E-Gold, TriCore • NECV850 • MitsubishiM16C • Lucent Technologies:StarPro2000Texas Instruments:TMS320C55x (09 -01)TMS320C64xAnalog DevicesTigerSHARC (09 -01)LSI LogicZSP400 (09 -01)STMicroelectronics ST100 (09 -01)MotorolaMSC8101 ( 8101 pitch pack )MSC8102
ftp | tftp | telnet | bootp | http | WAP | l2tp | DNS | DHCP | OSPF | RIP | SSL | NAT | NTP | SNTP | IPsec | Radius | IKE | IPv6|Etc... OSE High Efficiency Single Copy Sockets SNMP UDP TCP IP/ICMP/IGMP ARP/RARP PPP Ethernet Serial OSE分布式系统特点之二 支持全方位网络协议
CPU#1 CPU#3 OSE PROCESS OSE PROCESS MESSAGE CPU#2 OSE分布式系统特点之三 先进的消息传递机制
OSE分布式系统特点之四 支持MMU和MPU • 支持MMU(Memory Manager Unit) • 支持CPU内MMU管理、内存映射管理。支持1级页表和2级页表。 • 支持MPU(Memory Protection Unit) • 动态保护进程和存储空间,且可重配置 • 无共享内存错误
OSE分布式系统特点之五 支持软件在线升级和热插拔 OSE是一个容错、冗余系统: 1:链路错误或板级错误自动检测及系统自动重配置 2:自动监管进程,在运行中动态地改换路由或绑定 3:易于软件升级——不论在开发中还是在使用中 4:支持硬件热插拔(热交换)
Application Application High Level Approach Ease of Use Modular Design Supervised IPC Transparent IPC Error detection Memory management Functionality Conventional RTOS OSE OSE基本概念 进程与信号 进程:Processes – functions with a context 信号:Signals – Information carriers
一个进程是一个函数 OS_PROCESS(poll) { int i,j; union SIGNAL *sigp1, *sigp2; for (;;) { code } /* for(;;) */ } /* OS_PROCESS */ 每个进程都有自己的堆栈 进程可以被内核强占(中断) 使用“Signal”获得所需的信息 使用“Signal”发送信息 一个进程可以不依赖其他的进程单独执行 OSE基本概念 进程的基本概念
Ready Access to the CPU is granted Pre-empted, can no longer run Stop Send, start (higher priority) * Running Waiting Receive OSE基本概念 进程的基本特性 • 进程的三种状态: • Ready —就绪 • Running—执行中 • Waiting —等待 • 调度原则: • 强占(中断) : 操作系统可以在任何时候中断先行进程,甚至在系统调用中 • 基于优先级 : 具有最高优先级的进程总是先执行(在没有中断产生及非等待状态)
OSE基本概念 进程的分类 • Interrupt processes 中断 response-time critical task • Timer interrupt processes 定时器中断 high priority cyclic task • Prioritised processes 区分优先级的进程 longer task than interrupt processes, not directly tied to some external events • Background processes 后台进程 lowest level processes, used to spend leftover CPU time • Phantom processes 影象进程 special purpose, used mainly by OSE LNH as images of remote processes
H i g h e s t 0 p r i o r i t y I I n n t t e e r r r r u u p p t t P P r r o o c c e e s s s s e e s s T i m e r 0 I n t e r r u p t Z System Timer Interrupt P r o c e s s e s I I n n t t e e r r r r u u p p t t 3 1 P P r r o o c c e e s s s s e e s s 3 1 0 P r i o r i t i z e d P r o c e s s e s 3 1 B a c k g r o u n d L o w e s t P r o c e s s e s p r i o r i t y OSE基本概念 优先级 • 对区分优先级的进程而言,优先级仅代表响应进程的时间先后 • 对定时器进程而言,优先级反应的是定时事件的重要程度 • 对中断进程而言,优先级对应的是硬件中断的优先级 • 对后台进程和影像进城,优先级别无影响
OSE基本概念 调度方式 • 强占:Fully pre-emptive (all processes) 系统可以在任何时刻中断现行进程 • 周期性:Cyclic (timer-interrupt processes) 每隔一定的时间间隔周期性执行 • 基于优先级排队:Priority based (prioritised processes) 优先级高的先执行,优先级低的后执行 • 循环:Round-Robin (prioritised and background) 同一优先级按先来后到顺序,在前一进程时间片届满后执行
CPU#1 CPU#3 OSE PROCESS OSE PROCESS MESSAGE • IPC提供以下函数实现消息传递: • Alloc() • Send() • Receive() • Free_buf() • Hunt(), Attach() CPU#2 OSE基本概念 消息传递机制(IPC) OSE使用基于消息模式的通信方式,为多机系统提供了快速、异步的通信手段,从根本上解决了多处理器之间通信的问题
OSE PROCESS ”CLIENT” SIGNAL ”CALL” OSE PROCESS ”SWITCH” SIGNAL的内容: NAME: CALL FROM: CLIENT TO: SWITCH OWNER: CLIENT DATA: PHONENO=11234 OSE基本概念 信号(Signals) Signal是两个进程之间通信的一种方式,其主要特点是: • 高性能 • 无共享内存 • 由内核进行管理 • 便于跟踪和监视 • 包含发送者、接受者、所有者及数据等内容
P1 P3 S T P1 S T P3 S T S S P2 P2 T P4 S P4 T P3 OSE基本概念 信号(Signals) • 消息选择及识别 - 接受方P3能够选择和识别接收的信号中哪些是自己所需要的 - 通常在接收到消息队列时用到 - 接受方也可以等待指定的信号到来或检查队列中是否有该信号 • 信号传送的路线——路由 -路由表可以和进程相联系 - 对每个发送给P2的信号,都将扫描其路由表,然后传给正确的进程 -允许多重路由 -内核会防止死循环出现
硬件中断 软件事件 (信号或信号量) Interrupt or Timer Interrupt process 定时器中断 OSE基本概念 中断
Hardware 硬件延时 硬件中断 解码 引入中断 OS或用户代码 完成最长临界 段处理 Software 中断处理 进程 用户进程 OS 执行 中断服务程序 OS 上下文切换 OSE基本概念 中断处理
OSE中, 存储器的基本类型称为 “pool”(内存池) • pool是一片内存区域,信号缓冲(buffer)、堆栈(stack)及系统内核(kernel)可以分配在这个区域中 • 每个pool 可以使用一组大小规格(共8种 size)用于内存分配 OSE基本概念 内存管理
signals stack HIGH LOW SIZE 1 SIZE 2 SIZE 3 SIZE 4 SIZE 5 SIZE 6 用户 pool - stacks and signals 系统 pool - stacks, signals, PCB (from low mem), Uarea and supervisor stacks SIZE 7 SIZE 8 OSE基本概念 内存管理
传统 RTOS OSE Process 1 Process 2 Process 1 Process 2 Application Application Application Application SYSTEM ERROR HANDLER Error code Error code BLOCK ERROR HANDLER Application Application Error code Error code PROCESS ERROR HANDLER Conventional Kernel OSE Kernel 3-Layer Error Handler OSE基本概念 错误处理 • 如果内核检测到错误, 将转入出错处理“error handler”, 允许用户集中处理。错误处理分3层:系统(system)、块(block)、进程(progress) • 这种方式使代码确认非常容易,因为所有的错误都以相同的方法处理
Link Handler的主要特点 透明性:系统进程之间,不管在任何位置,都可以象在同一处理器上的进程之 间传递消息一样 PROCESS 自动监管:系统自动实现对网络资源和目标板监管,利用这种机制来检测资源 是否存在,最典型的应用就是“热插拔” A C MESSAGE PROCESS 容错:LH对系统中的节点无主从要求,也不需要共享内存,这是容错性的基础 LH B LH CPU 仿真分布式系统:LH不仅对目标板,而且可以实现Realtime Kernel与Soft Kernel 的连接,完成仿真功能 LH LH 开放的协议接口:协议栈可以是TCP/IP,X.25或用户定制协议,对节点的物理连接也无任何要求 CPU CPU OSE基本概念 链接管理(Link Handler) LH(Link Handler)是分布式系统的核心,它连接系统中各个节点,实现不同CPU进程之间的透明通信
OSE基本概念 LH——监控分布式系统
OSE 组件 LINK HANDLER 开放的接口 INET Serial Other 设备驱动 开放的接口 Ethernet or Serial 硬件 Serial Other OSE基本概念 LH——开放接口、透明连接
因此传统RTOS将宣传卖点集中在调试解决方案/BSP/网络及第三方集成上,而非RTOS自身!因此传统RTOS将宣传卖点集中在调试解决方案/BSP/网络及第三方集成上,而非RTOS自身! 竞争分析 传统RTOS的缺陷 • 先天不足 • -针对70年代的微指令结构设计。这种指令结构最初是为Digital公司的PDP-8/11机型和Data General公司的Nova/Eclipse机型服务的,目前早已过时。 • -设计思想已落后 • 后天的改进有限 • 针对其固有缺陷,传统RTOS也作了一些局部性的但非根本性的功能添加、完善: • -内核预抢先(Kernel Pre-emptibility) • -优先级继承(Priority Inheritance) • -更多的服务子例程(More service calls) • -更复杂的调试方案(More sophisticated debug solutions)
内建安全性 更高的性能 更强的功能 开发平台 竞争分析 OSE的优势 而OSE正是从RTOS自身的性能、功能及安全性出发,克服传统RTOS的缺陷,给使用者一个优秀的开发平台
pSOS+共5页 OSE仅1页 竞争分析 OSE与pSOS的比较 pSOS+ OSE 一个“Ping-pong”例子程序代码的比较
OSE 3.0 pSOS+ 5.3.1 OSE 的性能指标最高时是pSOS+的6倍(平均为2-4倍) 竞争分析 OSE与pSOS性能的比较 资料来源: New OSE customer Product Evaluation,February 1998 测试条件:Processor: PowerPC 860,Clock: 40 MHz OSE 执行2级错误检测 (最高级): x=100 1,000 10,000 20,000 40ms 296ms 2.856s 5.704s OSE 执行0级错误检测: x=100 1,000 10,000 20,000 20ms 208ms 2.04s 4.07s 注:OSE中,信息量的大小没有影响。 PSOS+ 发送10 byte 信息: x=100 1,000 10,000 20,000 100ms 430ms 3.75s 7.49s pSOS+ 发送100 byte信息: x=100 1,000 10,000 20,000 110ms 480ms 4.15s 8.24s pSOS+ 发送1,000 byte信息: x=100 1,000 10,000 20,000 130ms 870ms 8.01s 15.96s
OSE 3.0 VxWorks5.2 竞争分析 OSE与VxWorks性能的比较 资料来源 : Wind River published benchmark data sheet Enea Data Miscellaneous Technical Data Enea Data latency tests on PPC603 66MHz board 测试条件: Processor: PowerPC 603,Clock: 66 MHz 中断总响应时间(快54%--4倍) 6.7 us(最坏时) ,2.7 us(最好时)10.3 us 内存分配(快4倍以上) 3.8 us (确定)16.9 us(不确定) 内存释放(快约11倍) 2.7 us (确定)29.3 us (不确定) 上下文切换时间(快62%) 2.4 us3.9 us
OSE 3.0 VxWorks5.2 竞争分析 OSE与VxWorks性能的比较 资料来源 : Wind River published benchmark data sheet Enea Data Miscellaneous Technical Data Enea Data latency tests on PPC603 66MHz board 测试条件: Processor: PowerPC 603,Clock: 66 MHz 获取/释放计数信号量(快约4倍) 3.3 us12.9 us 挂起/恢复进程(快5倍以上) 5.5 us29.3 us 消息处理(快4倍--8倍) 14.7us(含分配缓冲/发送/分派/接收/释放缓冲)58.5us(含发送-任务未决/上下文切换/接收) 7.4 us(仅含发送/分派/接收)(VxWorks中所有消息队列缓冲都是预分配的)
典型应用介绍之一 爱立信——WCDMA 爱立信经过慎重挑选之后,采用OSE来开发第三代移动通信--WCDMA。主要是基于如下理由: 1.在3G中弹性带宽要求和多媒体业务是非常严格的指标,而且最重要的规范是支持分布式系统,OSE完全合乎其要求。 2.OSE的Linker Hander使开发人员集中精力到应用程序的开发中,而对具体的进程通信仅仅使用简单的信息传递模式。 3.群组设计:在3G的基带设计中,有相当多的模块组合成特定的功能组,使用OSE Block-Group 概念可将特定的模块组合成软模块,极大地提高了软件的重利用效率。 4.内存保护:OSE允许使用弹性的内存管理去适应最严格的内存访问要求。 5.简单的进程通信机制使开发人员交流更容易。调试更轻松。 6.软件在线升级变得得心应手。
典型应用介绍之二 深圳华为——WCDMA 为跟随世界潮流,加快产品开发进度,降低开发成本,华为公司也采用OSE开发WCDMA。
典型应用介绍之三 Lucent——通讯设备 Lucent是世界上最大的电信设备供应商,在以前的设备开发中使用自己开发的RTOS,但现在选择OSE。主要欣赏OSE的Linker Handle\MMU\Program Handle以及其实力雄厚的技术支持。 目前的应用开发领域包括:交换机\GSM设备\3G设备\无线通讯设备等等。
典型应用介绍之三 Nokia——通讯设备 Nokia是世界领先的手机制造商,考虑到未来的发展趋势,Nokia也采用OSE作为其产品的RTOS. Nokia采购OSE主要用于开发:无线上网手机\3G设备\3G手机