零、引 子---由终端设备到RTOS:RTOS无处不在..........

(1).Android手机有两个处理器,一个叫Application Processor(AP),一个叫Baseband Processor(BP):

AP是ARM架构的处理器,用于运行Linux+Android系统;

BP 用于运行实时操作系统(RTOS),通讯协议栈运行于BP的RTOS之上。非通话时间,BP的能耗基本上在5mA左右,而AP只要处于非休眠状态,能耗至少在50mA以上,执行图形运算时会更高。另外LCD工作时功耗在100mA左右,WIFI也在100mA左右。一般手机待机时,AP、LCD、WIFI 均进入休眠状态,这时Android中应用程序的代码也会停止执行。

下面以mt6582/32位(四核处理器为例说明)

AP MCU: Apps MCU(APP MCU)-------处理器1

MD MCU: Modem MCU(Modem MCU)-------处理器2

下面再以高通8x26平台为例说明:

高通说明如下:(高通  android 智能手机解决方案的软件包括两个部分)

1).以linux 操作系统为基础的 android 系统

2). 以 L4,REX为基础的 Modem 部分(RTOS)

在高通7系列的架构中,一个IC内部集成有两个ARM处理器:

一个ARM9(或者arm11),专门负责处理通信协议,射频以及GPIO等,软件架构采用AMSS,;

另外一个是ARM11,用来处理多媒体,上层应用,以及其他的一些任务,运行的系统是 android 系统。

这两个处理器之间通过共享内存的硬件方式来进行通信。

补充:

L4是一组计算机程序,是最初由Jochen Liedtke设计的微内核构架的操作系统内核,现在已经形成一个微内核家族。L4这个微内核系统由于其出色的性能和很小的体积而开始被计算机工业所认知,被移植到了许多不同的硬件构架上。高通的 L4 提供了操作系统最基本的操作,是买别人的。

早期的操作系统绝大多数是 Monolithic Kernel, 意思是整个操作系统 - 包括Scheduling (调度), File system (文件系统),Networking (网络),Device driver (设备驱动程序), Memory management (存储管理),Paging(存储页面管理) - 都在内核中完成.一直到现在广泛应用的操作系统,如UNIX,Linux,和Windows还大都是monolithic kernel操作系统.但随着操作系统变得越来越复杂(现代操作系统的内核有一两百万行C程序是很常见的事情),把所有这些功能都放在内核中使设计难度迅速增加.

微内核是一个与Monolithic Kernel相反的设计理念.它的目的是使内核缩到最小,把所有可能的功能模块移出内核.理想情况下,内核中仅留下Address Space Support(地址空间支持),IPC

(Inter-Process Communication,进程间通讯),和Scheduling(调度),其他功能模块做为用户进程运行。

REX是在 L4 之上封装的服务,是一个抢占式,多任务的RTOS,所有的任务都以task的形式存在,REX提供包括任务创建,同步,互斥,计时器,中断控制等功能的API,这里的task实际上就是我们的线程,每个 task对应着一个线程。REX维护一个task list(双向链表),始终运行高优先级的task。products里面所有的服务包括3g协议栈等都是以task的形式跑在rex之上的。

而Brew的话是运行的环境,跟Java 有点儿类似,相当于是一个虚拟机。

AMSS――高级的移动用户软件(Advanced Mobile Subscriber Software)技术,是一种新的软件架构,是对原来软件架构 DMSS 的升级。 AMSS 源代码实际上是QC BREW(Binary Runtime Environment For Wireless)平台的的底层部分,去掉了为应用程序提供接口的AEE(application execution environment)部分,高通在Dual Proc 芯片上的其他平台基本上都是采用的这样的架构。

(2).每部Android手机(具有移动通信功能的手机)都运行着两个操作系统:在终端用户熟悉的Android和iOS外,还有一个实时操作系统(RTOS)管理着无线电功能。这个操作系统储存在固件,运行在基带处理器上。这些基带RTOS系统都是私有的。

例如,运行在高通基带处理器的RTOS系统叫AMSS,基于高通私有的REX内核,由69个并发任务构成,处理从USB到GPS的一切事物,它运行在一个ARMv5处理器上。这些私有闭源的软件从未经过恰当的同行评审,实际上质量堪忧。Luxembourg大学的安全研究员Ralf-Philipp Weinmann逆向工程了高通和英飞凌的基带处理器软件,轻而易举的就发现了大量的bug。这些漏洞可以让攻击者远程执行代码,导致设备崩溃,可以用Hayes命令集悄悄启动自动应答。

(3)TP-Link小白路由內置了雙系統: 智能擴充部份由 Android 4.2 系統提供,大家可以透過安裝 Apps 加強功能。至於RTOS 則提供了一個系統嚴密、安全而且專業路由器的完整功能。

一、通用操作系统的设计

注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则。

大型的os代码包括的内容很多,就拿linux来说,它就包括了调度、文件、网络、驱动等完整的代码内容。

android和rtos相互切换,通用操作系统与实时操作系统(RTOS)比较相关推荐

  1. 【操作系统】操作系统的发展历程——手工阶段、批处理阶段、分时操作系统、实时操作系统

    [操作系统]操作系统的发展历程--手工阶段.批处理阶段.分时操作系统.实时操作系统 说明:本系列用于记录学习操作系统时的知识点,主要参考资料:王道考研. 不骗各位,博主真的是小菜鸡,如有纰漏还请指出. ...

  2. 什么是嵌入式实时操作系统,Android 操作系统属于实时操作系统吗?

    嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理, 处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应, 并控制所有实时任务协调一致运行的嵌入式操作系统 ...

  3. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?

    嵌入式实时操作系统其主要特点如下: ●实时性.由于对嵌人式实时操作系统的共同要求是系统能快速响应事件,具有较强的实时性,所以嵌入式实时操作系统的内核都是可抢占的. ●可裁剪性.嵌入式操作系统运行的硬件 ...

  4. 1.1.3 操作系统的发展与分类(手工操作阶段、批处理阶段、分时操作系统、实时操作系统、其它操作系统)

    01 | 操作系统的分类及其特征优劣 02 | 操作系统的发展历程 2.1 | 手工操作阶段 2.2 | 批处理阶段 2.3 | 分时操作系统 2.4 | 实时操作系统 2.5 | 其它操作系统 03 ...

  5. threadx系统_实时操作系统(RTOS)市场简报

    ​微控制器与微处理器 微控制器单元,简称微控制器,其英文名为microcontroller unit(简写微MCU),是指在一个芯片上构成的以实现控制目的为主的功能单元.其包括中央处理器.存储器.寄存 ...

  6. 嵌入式操作系统和RTOS(实时操作系统)介绍。

    目录 嵌入式操作系统 RTOS(实时操作系统) 实时操作系统: 什么是嵌入式操作系统 一μClinux 二μC/OS-II 三eCos 四 FreeRTOS 五 mbed OS 六 RTX 七 VxW ...

  7. wince系统改安卓系统_什么是实时操作系统(RTOS)

    在维基百科上,实时操作系统(RTOS)的定义如下: 实时操作系统(Real-time operating system, RTOS),又称即时操作系统,它会按照排序运行.管理系统资源,并为开发应用程序 ...

  8. 【中级软考】什么是实时操作系统?(RTOS:Real Time Operating System)

    实时操作系统(RTO:Real Time Operating System)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出 ...

  9. 实时内核(Core)和实时操作系统(RTOS)有何不同?

    大家都知道什么是实时操作系统,但是,大家熟知的实时操作系统,站在更广的角度来看,其实它就是一个实时内核. 一.实时内核和实时操作系统 一个实时内核是管理微处理器(MPU).微控制器(MCU)或数字信号 ...

最新文章

  1. 颜水成发了个「简单到令人尴尬」的视觉模型,证明Transformer威力源自其整体架构...
  2. JVM运行时数据区概览
  3. java注释日志打印_java 注解结合 spring aop 实现自动输出日志
  4. python数据处理随笔总结
  5. 查看服务器内存、CPU、网络等占用情况的命令--汇总
  6. 第二次打开不是最大_第二次约会男生该干嘛,才能让关系更进一步?
  7. DevExpress之TreeList用法
  8. AutoPager的简单实现
  9. Spring Boot ES 实战,直接拿来用!
  10. (转)全球3.4万亿美元ETF蓝海,我们还在末尾 且听全球第二大团队讲真经
  11. 使用ajax实现文件上传功能
  12. echarts地图列表_Echarts 地图生成
  13. reviewboard mysql_ReviewBoard-安装(Centos 7)
  14. 物联网嵌入式学习路线
  15. MongoDB Mobile Sync for iOS推出Beta版本
  16. linux fstab错误无法启动,Linux 系统 fstab错误导致系统无法启动的修复
  17. C语言之“先有的鸡还是先有的蛋”浅谈
  18. 我做了一个网易云音乐外链播放器的Vue组件,很nice
  19. windows无法telnet解决办法
  20. 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结

热门文章

  1. 异常:Class net.sf.cglib.core.DebuggingClassWriter overrides final method visit
  2. 理论力学---广义坐标和广义力
  3. 中国苯二亚甲基二异氰酸酯XDI市场发展格局及未来前景动向分析报告2022-2028年
  4. Java 将表格数据导入word文档中
  5. code2198 数字三角形WWW
  6. python中tell_Python中tell()方法的使用详解
  7. 交换机下配置banner login是做什么的
  8. animate将flash转换html,【An教程】快速入门Animate(原Adobe Flash)
  9. iOS地图定位导航与大头针的简单使用
  10. Java变成笔记4:复用类