文章目录
- RTOS简介
- IOTOS
- Freertos简介
- RTOS划分
RTOS简介
(1)实时操作系统,本用于追求实时性的嵌入式系统。 典型:ucos、uclinux、vxworks
(实时性的指当事件产生的时候,需要花多久的时间做出响应。)
(2)特点:中断响应快、一般可嵌套中断、使用实地址、多任务
嵌套中断: 当发生一个中断,正在处理中断处理程序的时候,又发生一个中断(这个中断的优先级高于正常处理的中断)。系统会从刚刚处理一半的中断处理程序中跳出来,再次中断处理刚发生的这个高优先级中断的处理函数。当执行完这个中断处理函数后,会接着处理之前没有处理完的中断处理函数中执行。系统执行完处理函数后才会回到普通任务里去。
(优点:可以将中断分等级,因此中断就有优先级之分,优先级高的中断可以抢占低优先级的中断。)
实地址: 对于linux或Android系统使用的是虚拟地址,硬件里有mmu可以做虚拟地址映射,所以在linux和Android这类操作系统中的应用层程序都是使用的虚拟地址。然而实地址的特点就是必须将应用程序和源代码放在一起使用,就像之前的功能手机诺基亚,诺基亚手机就是RTOS系统,系统里不能下载软件买回来是什么游戏软件就只有什么游戏软件,当想要下载升级软件时,必须把手机拿到店里刷机才行,因为RTOS使用的是实地址,所有的应用程序都是和源代码合在一起形成一个可执行程序烧写到手机里。然而现在的智能手机使用的虚拟地址,任何的应用程序都是使用虚拟地址,所以支持下载运行使用。
(注:RTOS系统是一个裸机程序,最终会链接一个可执行文件使用;Linux和Android操作系统是一个裸机程序,应用程序是在裸机程序之上执行的。)
多任务: 有多段代码在同时运行。若不使用RTOS,也可以通过状态机、while循环实现,相当麻烦。而RTOS自带有多任务的机制。
(注:“同时”,在宏观上是并行的,微观上是串行的。)
IOTOS
由RTOS向IoTOS转型。典型:freertos、LiteOS、rt-thread
传统的RTOS和IoTOS特点都是相同的,但是它们的目标不一样。
传统的RTOS主要实现中断响应快,性能指标:中断响应快不快;任务稳不稳定
IoTOS主要在对IoT开发的拓展能力,比如网络协议栈等
Freertos简介
之前是第三方免费rtos,后被amazon收购,用于云计算主间。
官网:https://www.freertos.org/
FreeRTOS目录,原有部分,主要是kernel和port部分
FreeRTOS-Plus目录,IoTOS附加部分,主体是第三方联网组件
RTOS划分
RTOS应用开发,主要在任务创建、IPC、内存管理等。
RTOS内核开发,主要是kernel部分源码分析和port部分硬件相关。
IoT开发,主要在物联网相关的组件和第三方资源使用。