实时式操作系统
实时操作系统(Real Time Operating System,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。
实时性能指标
- 统计任务切换时间
- 中断处理相关的指标,从中断到开始相应,包括中断延迟时间、中断响应时间都会影响系统的实时性
- 系统响应时间(主要体现在对用户的输入或请求做出反应的时间)
- 信号量混洗时间(指从一个任务释放信号量到另一个等待信号量的任务被激活的时间延迟)
多任务调度算法
实时系统存在多种调度算法。
优先级调度算法:分配一个相对固定的优先顺序,然后调度程序根据优先级的高低排序,按时间顺序进行高优先级任务优先调度。(非抢占式)
抢占式优先级调度算法:是在有优先级调度算法基础上,允许高优先级任务抢占低优先级任务而运行。
时间轮转调度算法:调度程序会依次调度每个人物运行一个小的时间片,然后再调度另一个任务。每个任务运行完一个时间片,无论是否结束都会释放CPu让下一个任务运行。(纯粹的时间轮转调度算法无法满足实时系统的要求,取而代之的是基于优先级的抢占式时间轮转调度)
最晚截止期调度算法:指调度程序按每个任务的最接近其截止期末端的时间进行调度
最早截止期调度算法:指调度程序按每个任务的截止期时间,选择最早到截止期头端时间的任务进行调度
在RTOS中,大多数的RTOS调度算法都是抢占式的。