4.2 day3 FreeRTOS

1.总结任务调度算法之间的区别,重新实现一遍任务调度算法的代码。

抢占式调度:高优先级的任务可以打断低优先级任务的执行。抢占式调度适用于任务优先级不同的任务。

时间片轮转:相同优先级的任务有相同的时间片(1ms),当时间片耗尽,任务必须退出。

>1抢占式调度

>2 时间片轮转

2.总结静态创建任务和动态创建任务的区别,以及动态创建任务和静态创建任务的源码分析步骤。

        1.动态创建不需要指定具体的栈只需要指定栈的大小,栈会通过pvPortMalloc动态创建出来,静态创建任务需要具体的栈(通过数组来指定),还需要提供栈的大小。

        2.动态创建需要消耗的系统资源会比静态创建任务要多。

        3.动态创建任务适用于需要随时申请和随时释放的场景,静态创建适用于任务数量确定的情况下。

3.总结任务的状态,以及任务状态之间的转换关系。

        1.Ready:就绪态,当任务被创建后就会进入到就绪态。

        2.Running:运行态,任务的代码正在执行。

        3.Blocked:阻塞态,当任务在等待时间,或者是信号量,互斥量的时候进入阻塞态。

        4.Suspended:挂起态,当任务被挂起后任务还存在但是不运行。

Ready->Running:当调度器选择了当前任务,让当前任务的代码执行。

Running->Ready:当任务执行结束后,重新进入就绪态

Blocked->Ready:当等待的事件完成后,就进入就绪态(时间到了,等待到了信号量,互斥量)

Blocked->Suspeded:使用vTaskSuspend函数让任务进入挂起态

Ready->Suspeded:使用vTaskSuspend函数让任务进入挂起态

Suspeded->Ready:使用vTaskResume函数让任务进入就绪态

Running->Suspeded:使用vTaskSuspend函数让任务进入挂起态

Running->Blocked:等待事件进入阻塞态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/586897.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(十一)RabbitMQ及SpringAMQP

1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应,…

Linux:入门篇

文章目录 前言1. Linuxd的安装环境2.Linux的简单介绍2.1 新建目录2.2 新建文件 3.指令到底是什么?4.shell命令以及运行原理5.总结 前言 很多人对于Linux的学习总是感觉无法下手,不知道从何开始学习,相信这篇文章将会为你提供一个清晰的思路。…

NXP-S32DS软件安装

文章目录 一、安装包获取二、S32DS安装三、芯片插件安装 一、安装包获取 登录NXP官网,进入软件目录https://www.nxp.com/ 下载S32DS软件和RTD驱动库,并安装S32DS软件。 单击“S32DS.3.5_b220726_win32.x86_64.exe”下载该软件 点击“License Keys”&…

【PythonGIS】Python实现批量导出面矢量要素(单个多面矢量->多个单面矢量)

可怜的我周六还在工作,已经很久没更新过博客了,今天正好有空就和大家分享一下。今天给大家带来的是使用Python将包含多个面要素/线要素的矢量批量导出单个要素的矢量,即一个要素一个矢量文件。之前写过多个矢量文件合并成一个矢量文件的博文&…

Linux文件与进程交互的窥探者lsof

lsof 是一个 Linux 和 UNIX 系统中的实用工具,用于列出系统中打开文件的所有信息。这个名字代表 “List Open Files”,但它也可以显示进程相关的其他信息,如: 打开的文件描述符列表 打开网络连接的列表 被进程使用的信号和内核对…

新手学python还是c?

考虑到个人情况和职业规划是非常重要的。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私信22,我在后台发给你。 Python作为初学者入门语言…

GTS fail之GtsPackageSignatureTest和GtsApexSignatureVerificationTest

目录 1. Fail项具体详情 2. Google为何增加测试项 3. 解决方法 1. Fail项具体详情 run gts -m GtsPackageSignatureTest -t android.security.cts.PackageSignatureTest#testPackageSignatures fail TestResultDetailsandroid.security.cts.PackageSignatureTest#testPacka…

正弦实时数据库(SinRTDB)的使用(7)-历史统计查询

前文已经将正弦实时数据库的使用进行了介绍,需要了解的可以先看下面的博客: 正弦实时数据库(SinRTDB)的安装 正弦实时数据库(SinRTDB)的使用(1)-使用数据发生器写入数据 正弦实时数据库(SinRTDB)的使用(2)-接入OPC DA的数据 正弦实时数据库(SinRTDB)…

前端:注册页面

效果 代码 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevi…

单元最短路模板 dijkstra以及SPFA的FAQ

单源最短路 首先先看两道题目&#xff1a; Luogu P3371 【模板】单源最短路径&#xff08;弱化版&#xff09; Luogu P4779 【模板】单源最短路径&#xff08;标准版&#xff09; 两道题目都是求最小单元最短路。 使用Dijkstra两道题目均可以通过&#xff0c;但是如果使用SPFA…

Redis面试题汇总

目录 一、动力节点Redis的书 7. Redis持久化 二、马士兵李瑾老师 2.1 Redis高级特性和应用 1&#xff09;发布订阅&#xff1a; 2&#xff09;Stream 延伸&#xff1a;Redis中几种消息队列实现的总结 3&#xff09;慢查询 4&#xff09;Pipeline流水线 5&#xff09;…

新发现!科学家最新成果:补充类“原知因起源金”物质可延长寿命23%

近日&#xff0c;美哥伦比亚大学Vijay Yadav团队在《Science》发布了一项重磅级成果&#xff1a;通过补充一种特殊氨基酸&#xff08;带有磺酸基团的全能抗衰物质&#xff09;&#xff0c;竟然惊人地将实验动物的寿命延长了23%。 而其背后的机制&#xff0c;与早已火爆电商圈的…