RTOS基本原理以及实例分析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
后台行为:在一个无限循环中按顺序执行操作。 前台行为:当中断发生时处理异步事件。
任
中
务
断
级
级
前后台方式的软件体系需要的系统资源比较 少,但是在实时性方面的性能比较差,任务级响 应时间可能很长,程序的可维护性也比较差。
基于实时操作系统的软件体系
实时操作系统是一段在嵌入式系统启动后首先 运行的背景程序,用户的应用程序是运行于实时操 作系统之上的多个任务。实时操作系统依据任务的 要求,进展任务调度、资源安排、特殊处理以及任 务间的通信。微观上多个任务以时分复用方式占用 微处理器,宏观上感觉多个任务是在同时运行。
任务通过调用内核函数使用内核供给的各种 效劳,任务自己感觉不到多进程环境,它觉得自 己始终在把握微处理器,仅仅是调用了一个函数 而已。
内核
不可剥夺型内核 内核类型
可剥夺型内核
不行剥夺型内核要求每个任务主动放弃微处 理器的把握权,任务级响应时间取决于最长的任 务执行时间。
可剥夺型内核允许最高优先级的任务一旦就 绪,总能得到优先运行的时机。任务级响应时间 得以最优化。
基于实时操作系统的软件体系占用的资源比较 多,但是在实时性方面的性能比较好,程序的可维 护性也比较好,更简洁实现模块化。
基于实时操作系统的软件体系
USER PROGRAM APPLICATION MIDDLEWARE DRIVER RTOS HARDWARE
内核
实时操作系统内核的最根本效劳就是进展任 务调度,此外还供给多种系统效劳,包括信号量 治理、大事治理、消息队列和定时延时等。内核 的这些效劳都是通过供给内核函数实现的
每个任务都是一个无限的循环,多个任务以时分复用 方式占用同一个微处理器。
每个任务都有各自独立的堆栈,通过将运行中工作寄 存器的数据保存在堆栈中,每个任务都感觉自己拥有专用 的工作存放器。
每个任务通常有确定的优先级,越重要的任务优先级 越高。实时系统大多综合了软实时和硬实时这两种需求, 应当合理创立任务,并且给任务赐予合理的优先级。
中断级的优先权总是高于任务级。
Байду номын сангаас
时钟节拍
时钟节拍是一个特定的周期性中断,一般使 用定时器中断实现。时钟节拍犹如操作系统内核 的脉搏,为各种内核效劳供给确定精度的时间信 息。
时钟节拍的抖动是总是存在的,具体的抖动 幅度不仅取决于时钟节拍的周期,也和微处理器 的负荷有关系。
由于时钟节拍的抖动,调用操作系统延时函 数时应多定义一个时钟节拍。
最低优先级任务: Idle Task。
任务
任务
每个任务总是处于休眠、就绪、运行、挂起 和被中断这五种状态中的一种,并且在程序运行 过程中不断变化状态。
挂起
休眠
就绪
运行
被中断
任务调度
运行的任务主动放弃CPU
任务调度的原因 中断使高优先级任务抢占CPU
任务调度的策略
基于时间
时间片 就绪时间
基于优先级
独立型(OR)
事件的同步方式
关联型(AND)
消息
消息邮箱也称作交换消息,是一种特殊灵敏 的任务通信方式。通过内核效劳,任务或者中断 效劳程序把一则消息〔即一个指针〕放到邮箱里 去。一个或多个任务可以通过内核效劳接收这则 消息。该指针指向的内容就是任务之间传递的消 息。
多个消息邮箱可以构成消息队列。通常内核 依据先进先出的策略治理消息队列。
结合优先级和时间
中断
中断是一种硬件机制,用于通知微处理器有 异步大事发生了。中断的一旦被识别,微处理器 首先执行疼惜现场操作,而后调用中断效劳程序 处理异步大事。
对于不行剥夺型内核,中断返回后回到被中 断的任务;而对于可剥夺型内核,中断返回后将 让进入就绪状态的最高优先级任务运行,被中断 任务假设不是最高优先级的就绪任务,将进入挂 起状态,等待运行的时机。
信号量
信号量实际上是一种商定机制,在多任务内 核中普遍使用。信号量像是一把钥匙,任务要运 行下去,得先拿到这把钥匙。假设某信号量已被 别的任务占用,其他需要该信号量的任务只得被 挂起,直到该信号量被当前使用者释放。
控制共享资源的互斥使用
信号量的作用 标志某事件的发生 使两个任务的行为同步
大事
大事实际上是一种标志。通常使用一个与微 处理器位宽一样的变量,每个比特表示确定的含 义,用于在任务之间传递少量的信息,实现任务 的同步。
大事等待
通常信号量、大事和消息都可以支持无限等 待方式和限时等待方式。
在无限等待方式下,任务无条件等待大事的 发生从而进入就绪状态,假设所等的大事始终没 有发生,任务将始终处于挂起状态。
在限时等待方式下,任务在指定的时间范围 内等待大事的发生,假设所等的大事发生,任务 将立刻进入就绪状态,假设在指定时间内所等的 大事没有发生,任务也将在进入就绪状态。
实时操作系统
〔Real Time Operating System〕
实时系统
实时系统是指必需在有限的时间内做出响应 的系统。依据对时间要求的严格程度可以划分为 硬实时系统和软实时系统。
硬实时系统是指系统响应必需在指定的时间 之内;软实时系统对时间的要求相对较低,间或 响应较慢也可以承受。
前后台方式的软件体系
任
中
务
断
级
级
前后台方式的软件体系需要的系统资源比较 少,但是在实时性方面的性能比较差,任务级响 应时间可能很长,程序的可维护性也比较差。
基于实时操作系统的软件体系
实时操作系统是一段在嵌入式系统启动后首先 运行的背景程序,用户的应用程序是运行于实时操 作系统之上的多个任务。实时操作系统依据任务的 要求,进展任务调度、资源安排、特殊处理以及任 务间的通信。微观上多个任务以时分复用方式占用 微处理器,宏观上感觉多个任务是在同时运行。
任务通过调用内核函数使用内核供给的各种 效劳,任务自己感觉不到多进程环境,它觉得自 己始终在把握微处理器,仅仅是调用了一个函数 而已。
内核
不可剥夺型内核 内核类型
可剥夺型内核
不行剥夺型内核要求每个任务主动放弃微处 理器的把握权,任务级响应时间取决于最长的任 务执行时间。
可剥夺型内核允许最高优先级的任务一旦就 绪,总能得到优先运行的时机。任务级响应时间 得以最优化。
基于实时操作系统的软件体系占用的资源比较 多,但是在实时性方面的性能比较好,程序的可维 护性也比较好,更简洁实现模块化。
基于实时操作系统的软件体系
USER PROGRAM APPLICATION MIDDLEWARE DRIVER RTOS HARDWARE
内核
实时操作系统内核的最根本效劳就是进展任 务调度,此外还供给多种系统效劳,包括信号量 治理、大事治理、消息队列和定时延时等。内核 的这些效劳都是通过供给内核函数实现的
每个任务都是一个无限的循环,多个任务以时分复用 方式占用同一个微处理器。
每个任务都有各自独立的堆栈,通过将运行中工作寄 存器的数据保存在堆栈中,每个任务都感觉自己拥有专用 的工作存放器。
每个任务通常有确定的优先级,越重要的任务优先级 越高。实时系统大多综合了软实时和硬实时这两种需求, 应当合理创立任务,并且给任务赐予合理的优先级。
中断级的优先权总是高于任务级。
Байду номын сангаас
时钟节拍
时钟节拍是一个特定的周期性中断,一般使 用定时器中断实现。时钟节拍犹如操作系统内核 的脉搏,为各种内核效劳供给确定精度的时间信 息。
时钟节拍的抖动是总是存在的,具体的抖动 幅度不仅取决于时钟节拍的周期,也和微处理器 的负荷有关系。
由于时钟节拍的抖动,调用操作系统延时函 数时应多定义一个时钟节拍。
最低优先级任务: Idle Task。
任务
任务
每个任务总是处于休眠、就绪、运行、挂起 和被中断这五种状态中的一种,并且在程序运行 过程中不断变化状态。
挂起
休眠
就绪
运行
被中断
任务调度
运行的任务主动放弃CPU
任务调度的原因 中断使高优先级任务抢占CPU
任务调度的策略
基于时间
时间片 就绪时间
基于优先级
独立型(OR)
事件的同步方式
关联型(AND)
消息
消息邮箱也称作交换消息,是一种特殊灵敏 的任务通信方式。通过内核效劳,任务或者中断 效劳程序把一则消息〔即一个指针〕放到邮箱里 去。一个或多个任务可以通过内核效劳接收这则 消息。该指针指向的内容就是任务之间传递的消 息。
多个消息邮箱可以构成消息队列。通常内核 依据先进先出的策略治理消息队列。
结合优先级和时间
中断
中断是一种硬件机制,用于通知微处理器有 异步大事发生了。中断的一旦被识别,微处理器 首先执行疼惜现场操作,而后调用中断效劳程序 处理异步大事。
对于不行剥夺型内核,中断返回后回到被中 断的任务;而对于可剥夺型内核,中断返回后将 让进入就绪状态的最高优先级任务运行,被中断 任务假设不是最高优先级的就绪任务,将进入挂 起状态,等待运行的时机。
信号量
信号量实际上是一种商定机制,在多任务内 核中普遍使用。信号量像是一把钥匙,任务要运 行下去,得先拿到这把钥匙。假设某信号量已被 别的任务占用,其他需要该信号量的任务只得被 挂起,直到该信号量被当前使用者释放。
控制共享资源的互斥使用
信号量的作用 标志某事件的发生 使两个任务的行为同步
大事
大事实际上是一种标志。通常使用一个与微 处理器位宽一样的变量,每个比特表示确定的含 义,用于在任务之间传递少量的信息,实现任务 的同步。
大事等待
通常信号量、大事和消息都可以支持无限等 待方式和限时等待方式。
在无限等待方式下,任务无条件等待大事的 发生从而进入就绪状态,假设所等的大事始终没 有发生,任务将始终处于挂起状态。
在限时等待方式下,任务在指定的时间范围 内等待大事的发生,假设所等的大事发生,任务 将立刻进入就绪状态,假设在指定时间内所等的 大事没有发生,任务也将在进入就绪状态。
实时操作系统
〔Real Time Operating System〕
实时系统
实时系统是指必需在有限的时间内做出响应 的系统。依据对时间要求的严格程度可以划分为 硬实时系统和软实时系统。
硬实时系统是指系统响应必需在指定的时间 之内;软实时系统对时间的要求相对较低,间或 响应较慢也可以承受。
前后台方式的软件体系