RTOS基本原理概述

    嵌入式实时操作系统英文为EmbedReal Time OperatingSystem ,简称RTOS 。与PC 机上的通用的操作系统Windows 或是Linux 相比,RTOS 精简,实时性强。不同的RTOS 根据性能特点适应于航天航空、生物医学、工业控制、消费电子等行业。

    RTOS是一种架构。历史以来,任何一个阶段都有一定的软件架构在主宰软件行业。最开始的架构是前后台的超循环模式。While(1)大循环是后台,中断异步处理是前台。这种结构直至现在也很多公司使用,适合简单的、资源不多的单片机做一些简单的控制处理。但是如果需要处理多个的任务,这种超循环模式将变得难以控制,而且实时性也变的十分差,一个任务卡住了,下个任务执行时间难以预测,任何优秀的产品都是离不开现实需求,于是RTOS孕育而生。

    RTOS以多任务,实时性强,提供多种服务为软件工程师解决了超循环问题。对于RTOS,一个任务的卡死,并不影响另一个任务的运行。RTOS每个任务都有机会占有cpu全部的资源(单核情况),使用RTOS的用户只需要关心怎样去规划任务,包括任务的优先级、时间片,以及任务之间的同步、通讯就可以。

概念解析:

1. 任务、进程、线程

Linux中内核层的进程等于线程,用户层的进程是由线程组成的,同一进程的各个线程可以使用该进程的全部资源(比如消息队列、信号量等)。

2. 软实时和硬实时

软实时:尽可能快地完成操作。

硬实时:能够在指定的期限完成实时任务(即便在最坏的处理负载下也能如此)的操作系统,超过截止期限后将造成灾难性后果。

软实时对于任务的平均响应时间要低于某个值(Deadline),而硬实时是在最坏的情况下对于任务的响应时间要低于某个值。


RTOS中进程等于线程等于任务,一般RTOS是没有分层的(后面会提到为什么会这样),一般称作任务。

操作系统在作者看来就是为用户做好一些服务,比如提供任务切换、信号量、消息队列、互斥锁等服务;在用户看来就是管理软硬件,写好任务,使用操作系统提供的API,让操作系统去调度任务。


你可能感兴趣的:(信号量,前后台,RTOS,实时操作系统)