研究生做了两年android应用,实习时转了嵌入式应用软件开发,拿着一块移植了rtos的设备学习。入门了才发现,两者都是开源、稳定、经历众多设备厂商打磨的优秀操作系统,根据以下几点对比学习。
双系统,两个操作系统其实经常一起应用
android手机的双mcu
1. ap(application processor)是arm架构搭载android,运行系统和应用,由于高功耗待机时和wifi、lcd均休眠
2. bp(baseband processor)架构搭载rtos,运行通信协议、射频、gpio,低功耗
tp_link小白路由的双系统
1. 搭载android4.2,运行app加强应用功能
2. 搭载rtos,完成安全、严密、专业的路由功能
高通骁龙810/7系列处理器
1. 一个arm运行基于linux的android os
2. 一个arm运行(rtos)
适用于 ti 处理器的可扩展 linux 和 ti rtos 解决方案
查资料过程中,发现ti也提供了一套基于自己家处理器的可扩展linux、android、rtos解决方案,同样的处理器,可选的sdk和操作系统,也是棒。当然android做为操作系统更为丰满,更上层,而实时操作系统比如ucos,比如最近在学的rtos,都仅提供了任务调度、同步、互斥、时钟等功能,所以必须内核组,bsp&dsp,应用软件开发人员再向这个骨架中填充(移植)血肉:lwip(小型tcp/ip协议栈), fatfs(文件系统), driver(各种外设驱动), framework, ucgui, bsp等。
通用操作系统和实时操作系统
1.通用操作系统的设计注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则。
大型的os代码包括的内容很多,就拿linux来说,它就包括了调度、文件、网络、驱动等完整的代码内容。
2.对于实时操作系统,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因此,实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性predictability)
而一般的rtos呢,就拿大家熟悉的ucos2来说,只是包含了调度、同步、互斥、时钟等代码。如果系统工程师需要拿ucos2来做一个项目,那么他还需要bsp、lwip、ucgui、fatfs、driver、framework等很多代码才能组成一个完成的系统。
可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括cpu、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。
3.差别比较之处
几个主要差别的地方:
(1)任务调度策略不同。
(2)内存管理方式不同。
(3)中断处理方式。
(3)系统管理方式不同。
让智能电视看高清湖南台直播的电视科技:方法大揭秘
区块链望颠覆云计算 重构全社会数据架构
食品检验仪器设备清单都有哪些配件
华为云云耀云服务器 L 实例,助力千行百业轻松上云
诺基亚3、诺基亚5、诺基亚6、诺基亚3310夺回市场噱头,诺基亚8依然蔡司或配双摄!情怀杠杠滴
适用于TI处理器的可扩展Linux和TI RTOS解决方案
NASA欲利用人工智能探测外星生命
光电开关在纺织设备上的应用简述
为什么有些音圈电机模组是黑色,而有些是白色?
苹果iOS10.2.1Beta4测试版更新,是为了防止iOS10.2越狱?
数字逻辑门总结功能
全卷积网络也可以实现E2E检测
关于以ARMv7-A架构为研究对象的虚拟存储系统技术研究过程全解
五大法宝助LED照明业突破重围
工业仓储电子标签推动着工业产业链的转型发展
OpenHarmony城市技术论坛第4站——北京站圆满举办
华为控制器芯片的迭代发展历程
物联网对电子商务有什么影响
三星Galaxy note8最新消息,三星note8外形配置曝光,4000毫安电池加上双摄像头,您可还满意?
Mentor Graphics Veloce VirtuaLAB为前沿网络设计新增下一代协议