任务描述API说明
## 任务描述
本操作系统是抢占式嵌入式实时操作系统,优先级高的任务会抢占优先级低的任务。如没有更高优先级任务就绪或当前任务不主动放弃 CPU 使用权,则当前任务会一直占用 CPU 资源,这点在创建任务时需要注意。操作系统任务的几种状态:
- SXR_PENDING_TSK:任务处于就绪状态,等待运行;
- SXR_SUSPENDED_TSK:任务处于挂起状态,不参与系统调度。调用 resume 后可重新参与调度;
- SXR_ACTIVE_TSK:任务运行状态,占用 cpu 资源;
- SXR_WAIT_MSG_TSK:任务处于挂起状态,等待事件到达;
- SXR_STOPPED_TSK:任务处于停止状态,任务被删除不会再参与系统调度;
**操作系统任务调度器机制如下**:
1)优先级的值设置的越小,优先级越高;
2)操作系统会按任务优先级挂载,调度器会从当前就绪的任务中挑选出任务优先级最高的运行;
3)Task 会占用处理器进行运行,直到触发调度器重新调用(包含:线程休眠、新建 task、timer 到达或事件发送等)之后,切换到下一个 task 继续进行处理器的占用与运行;
4)task 从挂载中去除并等待 timer 计时结束或 event 发送后重新恢复到调度器队列中等待调度运行。