前言:研究生做了两年Android应用,实习时转了嵌入式应用软件开发,拿着一块移植了RTOS的设备学习。入门了才发现,两者都是开源、稳定、经历众多设备厂商打磨的优秀操作系统,根据以下几点对比学习。
双系统
学得越多,发现自己知道的越少。两个操作系统其实经常一起应用:
Android手机的双MCU
- AP(Application Processor)是ARM架构搭载Android,运行系统和应用,由于高功耗待机时和WIFI、LCD均休眠
- BP(BaseBand Processor)架构搭载RTOS,运行通信协议、射频、GPIO,低功耗
TP_Link小白路由的双系统
- 搭载Android4.2,运行APP加强应用功能
- 搭载RTOS,完成安全、严密、专业的路由功能
高通骁龙810/7系列处理器
- 一个ARM运行基于Linux的Android OS
- 一个ARM运行(RTOS)
适用于 TI 处理器的可扩展 Linux 和 TI RTOS 解决方案
查资料过程中,发现TI也提供了一套基于自己家处理器的可扩展Linux,Android,RTOS解决方案,同样的处理器,可选的SDK和操作系统,也是棒。当然Android做为操作系统更为丰满,更上层,而实时操作系统比如ucos,比如最近在学的rtos,都仅提供了任务调度、同步、互斥、时钟等功能,所以必须内核组,BSP&DSP,应用软件开发人员再向这个骨架中填充(移植)血肉:lwip(小型TCP/IP协议栈), fatfs(文件系统), driver(各种外设驱动), framework, ucGUI, bsp等。
[注]. 对运行RTOS的ARM,参考[1]中作者还补充了以 L4,REX为基础的 Modem 部分采用的微内核设计。介绍了从早期操作系统内核到微内核,从Scheduling, File System, Networking, Device Driver, Memory Management, Paging等功能完善的内核到仅仅留下Address Space Support, IPC, Scheduling的精简功能的微内核的演变。
通用操作系统和实时操作系统
两者的本质区别还不是很明白,牵扯到中断优先级,任务调度机制,各种策略和算法去满足实时性,系统行为可预测性还是平均响应。需要再多多学习。
参考资料
[1].
通用操作系统与实时操作系统(RTOS)比较
[2].
吓到了吗?揭秘智能手机背后隐藏的第二系统——RTOS
[3].
TP双系统智能路由来了:TP mini小白路由