一文教你RTOS和Android操作系统设计
扫描二维码
随时随地手机看文章
两个操作系统经常一起应用
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)系统管理方式不同。
(转自嵌入式专栏)
1.2021年第8期《单片机与嵌入式系统应用》电子刊新鲜出炉!
2.为了兴趣爱好,我该选嵌入式么?
3.编码的终极意义:软件工程师出身CEO的好处!
4.嵌入式工程师掌握编程的几个要素
5.Cortex-M中断向量表原理及其重定向方法~
6.如何在MCU上高效地管理内存?
RTOS(Real-Time Operating System)是一种实时操作系统,被广泛应用于嵌入式系统。相对于普通操作系统,它具有更快的启动时间和更小的内存占用,以及实时性、可靠性等方面的优势。
1.什么是RTOS系统
RTOS是一种实时操作系统,不同于普通的桌面或服务器操作系统,它专门为嵌入式设备而设计,具有更高的实时性要求。
RTOS最大的特点是快速响应外部事件的能力,当外部事件(例如按键、传感器数据等)发生时,RTOS可在非常短的时间内完成相应的处理,并保证系统稳定运行,不会出现死机等问题。
2.RTOS与普通操作系统的区别
普通操作系统主要用于桌面电脑、服务器等大型计算设备上,重点关注用户体验、多任务处理和资源管理等方面。
而RTOS则主要应用于嵌入式设备上,关注实时性、响应速度和资源占用等方面。由于嵌入式设备通常有较小的处理器和内存,并且需要在特定时间内完成一些任务,因此RTOS的设计目标是优化执行效率,尽可能减少资源消耗,并提高系统的可靠性和稳定性。
3.RTOS的优点
相对于普通操作系统,RTOS具有以下优点:
快速启动时间:由于RTOS只需要加载必需的组件,因此通常可以在几毫秒内启动。
小内存占用:RTOS适用于内存较小的嵌入式设备,因此其内存占用量通常比普通操作系统更小。
可预测性:RTOS保证任务完成的时间,当出现高负载情况时,它不会像普通操作系统那样导致任务延迟。
实时性:RTOS响应外部事件的速度非常快,一旦事件发生,可在非常短的时间内完成相应的处理。
稳定性:RTOS的设计目标是最大限度地减少错误和故障,从而保证系统的稳定运行。