一、引 言

每部具有移动通信功能的手机都运行着两个操作系统:

在终端用户熟悉的Android和iOS外,

还有一个实时操作系统 (RTOS) 管理着无线电功能。

RTOS 这个操作系统储存在固件,运行在基带处理器上,这些基带RTOS系统都是私有的。

例如,运行在高通基带处理器的RTOS系统叫AMSS,基于高通私有的REX内核,由69个并发任务构成,处理从USB到GPS的一切事物,它运行在一个 ARMv5处理器上。这些私有闭源的软件从未经过恰当的同行评审,实际上质量堪忧。

再例如,MTK 平台采用的是Nucleus OS,Nucleus是Accelerated Technology公司开发的嵌入式RTOS,使用标准C开发,其中Nucleus Plus提供源代码下载。Nucleus支持FAT、CD-ROM 文件系统。

Luxembourg大学的安全研究员Ralf-Philipp Weinmann 逆向工程了高通和英飞凌的基带处理器软件,轻而易举的就发现了大量的bug。这些漏洞可以让攻击者远程执行代码,导致设备崩溃,可以用Hayes命令集悄悄启动自动应答。

每部手机都藏着第二个操作系统

二、瑞典RTOS供应商Enea公司(OSE/OSEck RTOS)

详情请参考: Enea公司官网: http://www.enea.com/solutions/rtos/ose/

Enea OSE是一款稳定、高性能的实时操作系统,它专门针对要求真正的确定性实时行为和高可用性的多处理器系统进行了优化。对于从手机和汽车到医疗仪器和电信基础设施的许多系统,它缩短了研发时间,提高了可靠性并降低了生命周期维护成本。

  1. 针对手机应用处理器的OS(如Windows Mobile\Windows CE\Symbian\Linux和Android) 在实时性能上要差一些。

2.针对手机基带处理器的RTOS: OSE 是一个紧凑的、可靠的、高性能的RTOS,专门针对分布式容错多内核系统进行了优化。它的目标应用市场是对实时响应性能要求非常高的手机基带处理器和基站用户线路接入卡,尤其适用于基于多内核处理器或分布式的多处理器的应用场合。

2008年全球有4亿部新手机采用了Enea公司的OSE/OSEck RTOS来实现,同时OSE/OSEck RTOS也被用在全球约50%的基站设备里,而且客户大多是全球第一流的系统供应商,包括:爱立信、诺基亚、诺基亚-西门子, Alcatel-Lucent、摩托罗拉、富士通、Infineon、Agere、波音、三星、索尼-爱立信、Yamaha、华为、中兴、大唐和中国普天等。

“OSE 在手机基带市场上可以说是一枝独秀。”Enea 公司亚太区副总裁Dan Andersson 很自豪地说:“OSE 是一种模块化的解决方案,适用于从超低成本手机到智能手机的全部手机市场。它既支持DSP、RISC基带处理器和应用处理器,又支持包括Linux在内(OSE 虚拟机技术)的任一应用OS,可扩展性和移植性非常好,是一种非常好的长远投资选择。”

OSE 经久不衰的成功奥秘是它的模块化、分层架构和直接异步消息传递设计。这一内在的分布式架构在确保高性能的同时,允许程序员对复杂的应用进行概括、分割和开发,这类应用可以是单一CPU系统,也可以是大型的、分布式多CPU和多内核系统。

Enea 还可提供一个可选的OSE仿真环境,即OSE Soft Kernel,它允许OSE进程运行在Windows、Linux或Solaris宿主机上。它也可以与一个运行中的实时系统一起工作。这使得设计人员能够建立混合式软/硬件OSE目标环境,从而使得设计师可以在宿主机上运行一部分应用,并在硬件到位后移植到真正的目标板上。

多核处理器对OS的挑战是,OS也被要求并行地工作。对多核RTOS的要求是必须为最大程度地发挥出多核应用的性能提供非常好的支持,以及支持扩展到更多内核的处理器,同时保持标准的RTOS实时特性,如响应确定性和中断时延。RTOS(实时操作系统)必须提供一种简单的、灵活的和统一的编程环境,它可以提供下列功能,如负载平衡、启动加载、文件系统和联网。

OSE 有四大独特技术优势,分别是:可移植性好、可扩展性好、更高性能和更好响应确定性。

三、瑞典RTOS供应商Enea公司(OSE/OSEck RTOS)技术详解

1.纯SMP模式的缺点

SMP(对称多处理) 模式指采用一个RTOS来管理一个处理器上的所有同类内核,或一块板子上的多个同类处理器。这种模式需要很多个不同的锁定机制,并需要频繁进行同步操作。从软件管理角度来看,SMP 模式是非常容易管理的,因为它创建了一个高度抽象的硬件资源,从而很容易实现各CPU上的负载平衡。

在很多情况下,高度抽象的硬件资源是一种优势,但当某个应用的I/O变得非常密集时(如在嵌入式数据报转发/路由应用中),这一抽象层就会带来很大的开销。在应用层上的共享存储编程模型的原则是基于使用存储器中可变的共享对象,这对多核系统的可扩展性来说是一种固有的瓶颈。这将不可避免地导致很难扩展到更多的内核。

这一点,再加上在许多情况下用SMP来实现多个内核比较复杂这样一个事实,使得采用SMP模式的多处理器系统的响应确定性不是那么好,从长期角度来看,这也使得传统的SMP模式不太适合用来实现高速数据包处理应用。

2.纯AMP模式的缺点

AMP(非对称多处理)模式使用的方法是,每个内核都运行一个属于它自己的完整的、单独的操作系统或应用框架(一种简化版RTOS的替代说法)。这种模式允许不同内核运行不同的RTOS。AMP系统的优势是每个内核可实现高性能,以及它可很好地扩展到多个内核。使用AMP模式和虚拟化技术也是一个能够复用传统单核设计的办法。

AMP模式的缺点是OS不能为分布式应用的负载平衡或OS资源管理提供支持。此外,采用AMP模式应用的配置、加载和启动也具有内在的设计复杂性。

3.OSE混合模式的独特优势

OSE 采用了独特的SMP(对称多处理)和AMP(非对称多处理)混合模式来实现最大的设计灵活性,这一模式既可克服AMP模式或SMP模式的缺点,又可以融合它们各自的优点,OSE 的这种独特的多核设计架构可以提供裸机(Bare Metal)模式的性能,并同时保有SMP模式的易用性和AMP模式的可扩展性及确定性。OSE 的多核支持可为以前的OSE应用提供完全的向后兼容性,从而使得用户可以保护它的软件投资。

OSE 是 一个真正的分布式操作系统,它使用了一个基于消息的编程模型,这可提供应用位置的透明性。OSE 架构是一个非常模块化和可扩展的架构,由运行在一个微内核顶部的大量运行时组件构成。

OSE 内核的开发基础是进程之间的消息交换,这一进程间通信(IPC)机制是OSE编程模型的基础,它的实现形式是一个简单的API,用于分布式系统上不同进程/线程之间的消息交换,这些进程/线程可运行一个、或几个处理器节点上。OSE 还提供了一个寻址模式来实现应用的可扩展性,这使得一个系统可以运行在一个处理器节点上或分布式集群的多个节点上,而无须改变程序代码。

当多处理器在物理上是分开的时,OSE 内核使用IPC协议LINX传递消息。LINX 可使得基于同一背板的不同插卡上的处理器、同一插卡上的不同处理器、以及同一芯片上的不同内核之间相互之间保持透明度,它使得用户很容易实现负载平衡。

4.OSE 同时支持 RISC CPU和DSP

(1).Enea OSE组成

Enea OSE 由OSE Delta、OSEck、OSE Epsilon、Optima和LINX组成:

OSE Delta支持大部分的 RISC CPU,包括:ARM、XScale、MIPS、PowerPC;

OSEck 是 Enea 专门为DSP优化而设计的内核;

OSE Epsilon支持MCU和SoC,该内核100%用汇编编写,因此占用存储空间极小;

Optima是基于Eclipse的集成开发环境或工具,主要用于开发应用程序;
LINX 是一个分布式处理器间或多个处理器内核间进行通信的中间件。

(2).Enea OSE支持架构

在RISC处理器方面,目前最新的OSE支持XScale、ARM、PowerPC和MIPS32架构的RISC处理器,包括:ARM7、ARM9E、ARM10、ARM11、XScale、IBM PowerPC4xx、IBM PowerPC7xx、Intel网络处理器IXP2400/2350、Freescale MPC86xx (支持多核MPC8641D)、Freescale MPC85xx(支持多核MPC8572DS)、Freescale MPC83xx、Freescale MPC82xx、Freescale MPC74xx、TI所有OMAP处理器和MIPS32/64处理器。

在DSP方面,OSE 支持TI的所有DSP器件和内核、Freescale MSC8101/03、Freescale MSC8102/22/26、Freescale MSC8144、SC120/SC1200、SC140/SC1400、SC2400/SC3400、ADI TigerSHARC (TS101S and TS201S)、ADI Blackfin、Freescale MPC5xx/55xx、LSI Logics ZSP400/500、STMicroelectronics ST100/120/…、Agere Systems dsp16k、CEVA的DSP及其内核。

智能手机背后隐藏的第二系统 -- OSE相关推荐

  1. 智能手机背后隐藏的第二系统——RTOS

    参考:http://news.hiapk.com/anzhuo/20131113/1465009.html 一.引  言 每部具有移动通信功能的手机都运行着两个操作系统: 在终端用户熟悉的Androi ...

  2. App市场的“繁荣”背后 隐藏令人唏嘘的真相

    App市场的"繁荣"背后 隐藏令人唏嘘的真相 常宁 2015-12-19 08:29:41 创业 阅读(19501) 评论(0) 挖掘机哪家强?山东济南找蓝翔.这句广告语今年超级火 ...

  3. 用户需求分析:背后隐藏的门槛

    转载自:http://www.itongji.cn/article/101336202014.html 互联网的红利烧红了一个新的职业:产品经理.一夜间,人人都是产品经理.很多成名大佬喜欢说:&quo ...

  4. 核函数背后隐藏着怎样的映射

    核函数(kernel functions)是机器学习里的一个常用技巧.它接收两个样本的特征向量,给出一个标量:这个标量可以理解成把两个特征向量通过一个「隐藏的映射」变换到一个高维空间之后,再做内积的结 ...

  5. 我不知道是安稳的背后隐藏着沮丧

    从今到往,原来这些年有这么多的感悟: 1.凡事不必苛求,来了就来了:凡事不必计较,过了就过了:遇事不要皱眉,笑了就笑了:结果不要强求,做了就对了:生活就是一种简单,心静了就平和了. 2.不用为谁轻易改 ...

  6. 智能分数计算机在线使用,基于智能手机的试卷分数统计系统及其使用方法与流程...

    本发明涉及一种基于智能手机的试卷分数统计系统及其使用方法. 背景技术: 对于考试分数的统计,现有的技术中,需要由外接设备和计算机配合完成.其缺陷在于:第一.外接设备和计算机本身具有成本高和挪动不方便的 ...

  7. (附源码)app智能手机的微课程学习系统 毕业设计 100909

    摘  要 随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多学校的眼球之中,他们利用网络来做这个微课程学习系统的网站,随之就产生了"智能手机的微课程学习系统 ",这 ...

  8. (附源码)springboot智能手机的微课程学习系统 APP 毕业设计 100909

    摘  要 随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多学校的眼球之中,他们利用网络来做这个微课程学习系统的网站,随之就产生了"智能手机的微课程学习系统 ",这 ...

  9. 上海宝付支付背后隐藏的功能开眼了

    上海宝付支付背后隐藏的功能开眼了 在它背后,默默地接管了交易渠道的功能.与C端支付相比,B端支付更多地了解公司的核心吸引力,第三方支付接口它可以帮助公司建立基于交易的闭环交易. 虽然目前的C端支付占据 ...

最新文章

  1. mariadb galera Cluster 多主集群安装实录
  2. 着眼未来!2019未来杯高校AI挑战赛圆满落幕
  3. SpringMVC控制器接收不了PUT提交的参数的解决方案
  4. mysql 实务操作_mysql多表操作
  5. 字节跳动2019暑期实习生算法岗笔试题
  6. 安装 Oracle Database PSU 10.2.0.4.2 步骤
  7. android socket ppt,socket網路設計.ppt
  8. STM8S103 PB4和PB5
  9. linux头文件 库,Linux操作系统的头文件和库文件搜索路径
  10. C语言程序设计线上测试01,2001年C语言程序设计笔试A卷.doc
  11. UI素材|网站404页面有什么用处
  12. python配置文件注释_python操作配置文件yaml
  13. 计算机原理(3)-内存工作原理
  14. linux glibc 升级失败,glibc升级失败后的处理过程
  15. qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin “xcb“
  16. ubuntu linux 安装报错解决方法E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource tempo
  17. linux下chm制作工具,在Linux上安装CHM查看工具
  18. 高考志愿填报|物联网为何成为【热门选手】?
  19. 2018.11.22!今天重温一遍知识点,捋一捋思路
  20. TCR宝藏级隐藏项目National Writing Board

热门文章

  1. 【软工视频】--需求分析
  2. Uncaught ReferenceError: jp2 is not defined,用jsonp抓取qq音乐总是说回调函数没有定义
  3. 重要样本关注机制:一种新颖的目标检测框架(附原论文下载)
  4. LTE宏微协同组网中的干扰抑制技术研究
  5. moviepy常用操作-拼接镜头
  6. 直接转矩控制matlab仿真,基于matlab的异步(感应)电机直接转矩控制系统毕业论文+仿真源码+仿真模型...
  7. C++虚继承和虚基类;虚函数与继承
  8. 字节跳动2019春招研发机试题  万万没想到之聪明的编辑
  9. 一个酷炫的,动态交互网页的桌面。
  10. Delphi 注册表操作