当前位置: 首页 > news >正文

网站建设需准备什么网站字体变大代码

网站建设需准备什么,网站字体变大代码,漳州做网站开发,WordPress自定义类排序一、任务状态概述在实时操作系统(RTOS)中,任务通常具有以下几种基本状态:Running(运行态):任务正在 CPU 上实际执行。单核系统中同一时刻最多只有一个任务处于运行态。Ready(就绪态&…

一、任务状态概述

在实时操作系统(RTOS)中,任务通常具有以下几种基本状态:

  • Running(运行态):任务正在 CPU 上实际执行。单核系统中同一时刻最多只有一个任务处于运行态。

  • Ready(就绪态):任务已具备执行条件,等待被调度器选中并获得 CPU 使用权。

  • Blocked(阻塞态):任务因等待外部事件(如延时、信号量、消息等)而无法继续执行,主动让出 CPU。

  • Suspended(挂起态):任务被强制暂停,不参与任何调度,必须显式恢复才能回到就绪态。

二、各状态详解与转换关系

1. Running(运行态)

  • 含义:任务正在 CPU 上执行。

  • 转换条件

    • 由就绪态被调度器选中进入运行态。

    • 可因时间片用完、被更高优先级任务抢占或主动阻塞而离开运行态。

2. Ready(就绪态)

  • 含义:任务已准备好,等待调度器分配 CPU。

  • 转换条件

    • 由阻塞态(事件发生)、挂起态(被恢复)或任务创建时进入。

    • 被调度器选中后进入运行态。

3. Blocked(阻塞态)

  • 含义:任务等待某一事件(如延时、信号量、消息等),期间不占用 CPU。

  • 转换条件

    • 由运行态主动调用阻塞类函数(如 vTaskDelay())进入。

    • 等待的事件发生后回到就绪态。

4. Suspended(挂起态)

  • 含义:任务被强制暂停,不参与调度。

  • 转换条件

    • 由其他任务调用 vTaskSuspend() 进入。

    • 由其他任务调用 vTaskResume() 恢复至就绪态。

三、状态转换流程图示意

text

[任务创建] → [Ready] → [Running] ↓          ↑          ||          |          ↓
[Suspended] ← [Blocked] ← [主动阻塞或事件等待]

四、调度机制详解

1. 调度原则

  • 相同优先级的任务按时间片轮流执行(Round-Robin)。

  • 高优先级任务可抢占低优先级任务。

  • 多个最高优先级任务并存时,它们之间轮流执行。

2. 就绪队列与链表结构

RTOS 使用数组(或链表)管理就绪任务,每个优先级对应一个链表,链表中存储该优先级下所有就绪任务的 TCB(任务控制块)。

  • pxCurrentTCB 指针指向当前正在运行的任务的 TCB。

  • 新创建的任务通过尾插法加入对应优先级的就绪链表。

3. 调度过程

  • 调度器从最高优先级向下查找第一个非空就绪链表。

  • 从该链表中选取下一个任务(如使用时间片轮转则选取下一个节点)。

  • 进行上下文切换,使该任务进入运行态。

4. 阻塞与延时机制

  • 调用 vTaskDelay() 会使任务从运行态进入阻塞态。

  • 任务被移至延迟链表,由 Tick 中断定时检查是否到期。

  • 到期后任务被重新移回就绪链表。

5. 挂起机制

  • 挂起的任务被移至挂起链表,不受 Tick 中断影响。

  • 必须显式调用 vTaskResume() 才能恢复至就绪态。

五、TCB 与任务句柄的关系

1. TCB(Task Control Block)

  • 是内核内部用于描述任务状态的数据结构。

  • 包含栈指针、任务状态、优先级、事件列表、延时信息等。

  • 对用户不可见,由内核维护。

2. 任务句柄(Task Handle)

  • 是指向 TCB 的指针,作为用户与内核交互任务的凭证。

  • 通过 xTaskCreate() 等函数返回,用于后续操作(如挂起、恢复、修改优先级)。

示例代码:

c

TaskHandle_t xHandle;
xTaskCreate(vTask, "Task", 1024, NULL, 1, &xHandle);
// 此后可通过 xHandle 操作该任务

六、使用注意事项与常见误区

1. 避免空循环延时

  • 在 RTOS 中,应使用 vTaskDelay() 而非 while(1) 进行延时。

  • 空循环会持续占用 CPU,导致低优先级任务无法执行,破坏系统实时性。

2. 状态转换需显式调用

  • 阻塞、挂起等状态转换需通过相应 API 实现,不能直接修改 TCB。

3. 优先级设置需合理

  • 过高优先级可能导致低优先级任务饥饿;过低可能无法及时响应。

七、总结

状态是否消耗 CPU是否参与调度进入原因离开条件
Running不适用被调度器选中时间片到/被抢占/主动阻塞
Ready事件发生/被恢复/任务创建被调度器选中
Blocked主动等待事件事件发生
Suspended被其他任务挂起被其他任务恢复

理解任务状态及其转换机制是掌握 RTOS 多任务调度和资源管理的基础。合理使用阻塞、挂起等功能,能显著提升系统效率和实时性。

http://www.dtcms.com/a/510986.html

相关文章:

  • WordPress注册验证修改注册江苏网站seo平台
  • 做兼职网站赚钱吗专业简历制作管理平台
  • 厦门集团网站建设网站策划与建设阶段
  • 网站排名的重要性dedecms物流企业网站模板(适合快递
  • 内蒙古城乡和建设厅网站附近注册公司代理机构
  • 十大免费cms建站系统介绍做网站淘宝条形码
  • 一个网站的制作特点福田网站建设论文结论
  • 廊坊建设局网站做封面电脑网站
  • 外贸网站如何做推广多少钱郑州网站推广外包地址
  • 网站建设商城模板哈尔滨网络科技公司哪家好
  • 建设鲜花网站前的市场分析优化排名软件
  • 网站变appwordpress查看原图
  • 为网站网站做代理怎么判wordpress的MD风格主题
  • 网站建设分哪些类别wordpress个人站无法升级
  • 做网站怎么找公司科技展厅设计方案
  • 长春建站宣传做国外wordpress賺钱
  • 桐乡市城市规划建设局网站c 可以做网站吗
  • 网站推广方法汇总网站申请支付宝支付
  • 响应式网站好处市场体系建设司在官方网站
  • 工作汇报ppt免费模板昆明官网seo费用
  • 静态淘宝网站制作模板做网站要买什么
  • 成都网站建设 木木科技可信网站网站认证
  • 帮人做网站分类目录 wordpress
  • 目前网站建设主流技术架构企业网站制作报价单
  • 建设部网站从哪登陆长春房产网官网
  • 合肥微网站杭州建管网
  • 网站上传的视频播放卡wordpress文章末尾添加评价功能
  • 在国外做网站推广wordpress 主页地址
  • 网站需要续费吗嘉定网站开发
  • 三里河网站建设怎么建好网站