研究生做了两年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等。
通用操作系统和实时操作系统
一、通用操作系统的设计注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则。
大型的os代码包括的内容很多,就拿linux来说,它就包括了调度、文件、网络、驱动等完整的代码内容。
二、对于实时操作系统,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的困难。因此,实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性predictability)
而一般的rtos呢,就拿大家熟悉的ucos2来说,只是包含了调度、同步、互斥、时钟等代码。如果系统工程师需要拿ucos2来做一个项目,那么他还需要bsp、lwip、ucgui、fatfs、driver、framework等很多代码才能组成一个完成的系统。
可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括cpu、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。三、差别比较之处
几个主要差别的地方:
(1)任务调度策略不同。
(2)内存管理方式不同。
(3)中断处理方式。
(3)系统管理方式不同。
高端黑科技华为nova 2 Plus魔镜版美得太不像话了!
苹果全新配色:渐变机身+5G网络+3860毫安电池
人工智能应该学什么专业
四种新型现代水产生态养殖模式详解
被网友亲封“垃圾推送之王”小米,如何才能关掉推送,只需七步还你一个安静的世界!
通用操作系统和实时操作系统
吉林等5家省合资公司的成立,将完善国家电网在各省的充电业务布局
华为EMUI9.1三大利器解读
日本采用机器人调节用工劳动力
2021数字经济大会推5G通信展区,“5G+工业互联网”,带你体验万物智联
Instagram将通过AI筛查检测欺凌性言语,以对抗网络欺凌行为
cpu发热如何解决 如何正确选择CPU
全面解读功能安全之暴露率的实例和解释
陶瓷耳机价格不菲但却备受年轻人追捧,这是为何
CASAIM自动化检测设备自动扫描变速箱三维尺寸检测方案
关于开关电源晶体管放大电路的结构组成
云端业者扩大IoT布局,芯片浪潮已不可阻挡
新华三发布终端准入控制系统EAD3,有AI,“区块链”和阿米巴魔盒加持!
声发射检测技术的应用
荣耀智慧屏系列正式开售,短短5分钟便取得了销量破3000台的好成绩