一基础知识

1、任务调度(调度器)

调度器就是使用相关的调度算法来决定当前需要执行的哪个任务

FreeRTOS三种任务调度方式:

1、抢占式调度:主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务。(FreeRTOS中数字越大优先级越高)

2、时间片调度:主要针对优先级相同的任务,当多个任务的优先级相同时, 任务调度器会在每一次系统时钟节拍到的时候切换任务。

3、协程式调度:当前执行任务将会一直运行,同时高优先级的任务不会抢占低优先级任务FreeRTOS现在虽然还支持,但是官方已经表示不再更新协程式调度

2、任务状态

FreeTROS共有四种状态1、运行态 2、就绪态 3、阻塞态 4、挂起态



这四种状态中,除了运行态,其他三种任务状态的任务都有其对应的任务状态列表

1、就绪列表:pxReadyTasksLists[x]API函数

2、阻塞列表:pxDelayedTaskList[x]API函数

3、挂起列表:xSuspendedTaskList[x]挂起列表

调度器总是在所有处于就绪列表的任务中,选择具有最高优先级的任务来执行

一、FreeRTOS学习笔记-基础知识的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. three.js学习笔记--基础知识

    基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...

  3. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

  4. Java Script 学习笔记 -- 基础知识

    Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...

  5. java虚拟机JVM学习笔记-基础知识

    最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--java虚拟机 媒介:JVM是每一位从事Java开发工程师必须翻越的一座大山! JVM(Java Virtual Machine)JRE ...

  6. hadoop学习笔记——基础知识及安装

    1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操 ...

  7. php学习笔记——基础知识(2)

    9.PHP语句 if 语句 - 如果指定条件为真,则执行代码 if...else 语句 - 如果条件为 true,则执行代码:如果条件为 false,则执行另一端代码 if...else if.... ...

  8. php学习笔记——基础知识(1)

    1.PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果. 2.基础 PHP 语法 1)PHP 脚本可放置于文档中的任何位置. 2)PHP 脚本以 <?php 开头,以 ?> ...

  9. Redux学习笔记-基础知识

      Redux概述 是什么:Redux是管理状态的容器,提供可预测的状态管理. 怎么做:Redux主要是用来管理组件或者应用的状态,本质上跟一个事件处理器差不多.通过分发action触发reduce来 ...

  10. GO Lang学习笔记 - 基础知识

    Go lang Learn Note 标签(空格分隔): Go Go安装和Go目录 设置环境变量GOROOT和GOPATH,前者是go的安装目录,后者是开发工作目录.go get包只会将包下载到第一个 ...

随机推荐

  1. 游戏AI行为决策——HTN(分层任务网络)

    游戏AI行为决策--HTN 前言 Hierarchical Task Network(分层任务网络),简称HTN,与行为树.GOAP一样,也是一种行为决策方法.在<地平线:零之曙光>.&l ...

  2. Go runtime 调度器精讲(一):Go 程序初始化

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 本系列将介绍 Go runtime 调度器.要学好 Go 语言,runtime 运行时是绕不过去的,它相当于一层"操作系统" ...

  3. OIDC – 关于 SAML 和 ADFS

    前言 最近听朋友说, 正在使用 ADFS 做 SSO, 哎哟. 我都是用 OIDC 做的, 这个 ADFS 是啥? 没听过. 于是搜索了一下, 这里先做一个小记入. ADFS 介绍 参考: stack ...

  4. 邀请参与 2022 第三季度 Flutter 开发者调查

    自 Flutter 3 发布之后,我们在以移动端为中心到多平台框架的路线上稳步前行,用 Dart 2.17 的新语言特性帮助大家提升工作效率,并对核心工具进行了改进,让您在跨平台打造优秀体验时更加得心 ...

  5. Camera 冷启动阶段分解

    目录 一.Camx trace 调试开关设置 1.设置 camxoverridesettings trace开关 2. 重启后设置开启camx trace 开关 二.Camera 冷启动阶段分解分析 ...

  6. Python之py9-py9博客情况获取

    #!/usr/bin/env python # -*- coding:utf-8 -*- import os import re import datetime import requests url ...

  7. Python 潮流周刊#72:Python 3.13.0 最终版已发布!(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  8. rabbitmq 新下载链接🔗

    Linux下安装RabbitMQ需要依赖socat和erlang插件环境 1 插件下载  1.1 RabbitMQ下载 下载地址一:https://www.rabbitmq.com/download. ...

  9. KubeSphere DevOps 流水线入门指南

    作者:赵海亮,浙江大学计算机专业四年级在读博士生,研究方向为云计算.边缘计算.分布式系统等. 虽然 KubeSphere 能够将我们从 yaml 文件的编写中解放出来,但是项目上云仍然十分繁琐. 此外 ...

  10. python之调用高德、百度api解析经纬度地址

    调用高德 # 高德地图根据经纬度反查地址,每天只能调用5000次 def gaode_excute_single_query(coordStrings ,currentkey='你自己的api-key ...