您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > RTOS基本原理以及实例分析
实时操作系统(RealTimeOperatingSystem)实时系统实时系统是指必须在有限的时间内做出响应的系统。根据对时间要求的严格程度可以划分为硬实时系统和软实时系统。硬实时系统是指系统响应必须在指定的时间之内;软实时系统对时间的要求相对较低,偶尔响应较慢也可以接受。前后台方式的软件体系前台行为:当中断发生时处理异步事件。后台行为:在一个无限循环中按顺序执行操作。任务级中断级前后台方式的软件体系需要的系统资源比较少,但是在实时性方面的性能比较差,任务级响应时间可能很长,程序的可维护性也比较差。基于实时操作系统的软件体系实时操作系统是一段在嵌入式系统启动后首先运行的背景程序,用户的应用程序是运行于实时操作系统之上的多个任务。实时操作系统根据任务的要求,进行任务调度、资源分配、异常处理以及任务间的通信。微观上多个任务以时分复用方式占用微处理器,宏观上感觉多个任务是在同时运行。基于实时操作系统的软件体系占用的资源比较多,但是在实时性方面的性能比较好,程序的可维护性也比较好,更容易实现模块化。基于实时操作系统的软件体系HARDWARERTOSUSERPROGRAMAPPLICATIONMIDDLEWAREDRIVER内核实时操作系统内核的最基本服务就是进行任务调度,此外还提供多种系统服务,包括信号量管理、事件管理、消息队列和定时延时等。内核的这些服务都是通过提供内核函数实现的任务通过调用内核函数使用内核提供的各种服务,任务自己感觉不到多进程环境,它觉得自己始终在控制微处理器,仅仅是调用了一个函数而已。内核可剥夺型内核不可剥夺型内核内核类型不可剥夺型内核要求每个任务主动放弃微处理器的控制权,任务级响应时间取决于最长的任务执行时间。可剥夺型内核允许最高优先级的任务一旦就绪,总能得到优先运行的机会。任务级响应时间得以最优化。任务每个任务都是一个无限的循环,多个任务以时分复用方式占用同一个微处理器。每个任务都有各自独立的堆栈,通过将运行中工作寄存器的数据保存在堆栈中,每个任务都感觉自己拥有专用的工作寄存器。每个任务通常有一定的优先级,越重要的任务优先级越高。实时系统大多综合了软实时和硬实时这两种需求,应当合理创建任务,并且给任务赋予合理的优先级。最低优先级任务:IdleTask。任务每个任务总是处于休眠、就绪、运行、挂起和被中断这五种状态中的一种,并且在程序运行过程中不断变化状态。挂起被中断就绪休眠运行任务调度基于时间任务调度的策略基于优先级结合优先级和时间时间片就绪时间中断使高优先级任务抢占CPU运行的任务主动放弃CPU任务调度的原因中断中断是一种硬件机制,用于通知微处理器有异步事件发生了。中断的一旦被识别,微处理器首先执行保护现场操作,而后调用中断服务程序处理异步事件。对于不可剥夺型内核,中断返回后回到被中断的任务;而对于可剥夺型内核,中断返回后将让进入就绪状态的最高优先级任务运行,被中断任务如果不是最高优先级的就绪任务,将进入挂起状态,等待运行的机会。中断级的优先权总是高于任务级。时钟节拍时钟节拍是一个特定的周期性中断,一般使用定时器中断实现。时钟节拍如同操作系统内核的脉搏,为各种内核服务提供一定精度的时间信息。时钟节拍的抖动是总是存在的,具体的抖动幅度不仅取决于时钟节拍的周期,也和微处理器的负荷有关系。由于时钟节拍的抖动,调用操作系统延时函数时应多定义一个时钟节拍。信号量信号量实际上是一种约定机制,在多任务内核中普遍使用。信号量像是一把钥匙,任务要运行下去,得先拿到这把钥匙。如果某信号量已被别的任务占用,其他需要该信号量的任务只得被挂起,直到该信号量被当前使用者释放。控制共享资源的互斥使用信号量的作用标志某事件的发生使两个任务的行为同步事件事件实际上是一种标志。通常使用一个与微处理器位宽相同的变量,每个比特表示一定的含义,用于在任务之间传递少量的信息,实现任务的同步。关联型(AND)独立型(OR)事件的同步方式消息消息邮箱也称作交换消息,是一种非常灵活的任务通信方式。通过内核服务,任务或者中断服务程序把一则消息(即一个指针)放到邮箱里去。一个或多个任务可以通过内核服务接收这则消息。该指针指向的内容就是任务之间传递的消息。多个消息邮箱可以构成消息队列。通常内核按照先进先出的策略管理消息队列。事件等待通常信号量、事件和消息都可以支持无限等待方式和限时等待方式。在无限等待方式下,任务无条件等待事件的发生从而进入就绪状态,如果所等的事件始终没有发生,任务将始终处于挂起状态。在限时等待方式下,任务在指定的时间范围内等待事件的发生,如果所等的事件发生,任务将立刻进入就绪状态,如果在指定时间内所等的事件没有发生,任务也将在进入就绪状态。
本文标题:RTOS基本原理以及实例分析
链接地址:https://www.777doc.com/doc-1422246 .html