当前位置:网站首页>1293_ Implementation analysis of xtask resumeall() interface in FreeRTOS
1293_ Implementation analysis of xtask resumeall() interface in FreeRTOS
2022-07-08 00:22:00 【grey_ csdn】
All learning summary : GreyZhang/g_FreeRTOS: learning notes about FreeRTOS. (github.com)
This analysis is xTaskResumeAll() The interface is actually a little complicated , But the related concepts are clear and easy to understand .
The premise of recovery operation is that the scheduler cannot suspend .
First , Doing a reverse operation with the suspended work , It mainly deals with a symbolic counter .
Then check the current OS Number of tasks in , If the number of tasks is greater than 0 It's meaningful to continue to deal with it . Next , Conduct “ Suspend the emptying of the task list ”. That is, take out one node after another , Remove from the pending list and the status list , Add to the ready task list . If a high priority task is found, it is ready , Note that task scheduling is required later .
If you find a pending task , Then reset the next blocking release time . According to the scheduler “ backward ” Scheduling times , Dispatch tick Callback function to schedule the addition . In this process, we only deal with the task list , No actual scheduling occurs . If it is found that scheduling is needed , Then you also need to mark the next task scheduling switch .
According to the previous judgment information , If it is found that task switching is required, then perform switching .
such , This interface is basically analyzed . however , There are still some concepts that need to be straightened out later , Or the whole OS I can't see clearly . The first is the function of each linked list and the transfer relationship during state switching ; The other is the operation logic of blocking and contact blocking . these , Later, it will be combed as special notes .
边栏推荐
- 80%的人答错,苹果logo上的叶子到底朝左还是朝右?
- RPA cloud computer, let RPA out of the box with unlimited computing power?
- 【obs】官方是配置USE_GPU_PRIORITY 效果为TRUE的
- CoinDesk评波场去中心化进程:让人们看到互联网的未来
- The standby database has been delayed. Check that the MRP is wait_ for_ Log, apply after restarting MRP_ Log but wait again later_ for_ log
- Play sonar
- Cmake learning notes (1) compile single source programs with cmake
- “一个优秀程序员可抵五个普通程序员”,差距就在这7个关键点
- Binder核心API
- Emotional post station 010: things that contemporary college students should understand
猜你喜欢
How does starfish OS enable the value of SFO in the fourth phase of SFO destruction?
Opengl3.3 mouse picking up objects
How to learn a new technology (programming language)
3 years of experience, can't you get 20K for the interview and test post? Such a hole?
某马旅游网站开发(登录注册退出功能的实现)
fabulous! How does idea open multiple projects in a single window?
How to measure whether the product is "just needed, high frequency, pain points"
Qt添加资源文件,为QAction添加图标,建立信号槽函数并实现
"An excellent programmer is worth five ordinary programmers", and the gap lies in these seven key points
关于组织2021-2022全国青少年电子信息智能创新大赛西南赛区(四川)复赛的通知
随机推荐
Robomaster visual tutorial (0) Introduction
Introduction to paddle - using lenet to realize image classification method I in MNIST
C language 005: common examples
他们齐聚 2022 ECUG Con,只为「中国技术力量」
腾讯安全发布《BOT管理白皮书》|解读BOT攻击,探索防护之道
华泰证券官方网站开户安全吗?
从Starfish OS持续对SFO的通缩消耗,长远看SFO的价值
什么是负载均衡?DNS如何实现负载均衡?
每日刷题记录 (十六)
华为交换机S5735S-L24T4S-QA2无法telnet远程访问
Operating system principle --- summary of interview knowledge points
Flask learning record 000: error summary
QT and OpenGL: loading 3D models using the open asset import library (assimp) - Part 2
Go learning notes (2) basic types and statements (1)
35岁真就成了职业危机?不,我的技术在积累,我还越吃越香了
动态库基本原理和使用方法,-fPIC 选项的来龙去脉
【测试面试题】页面很卡的原因分析及解决方案
Play sonar
The difference between -s and -d when downloading packages using NPM
52岁的周鸿祎,还年轻吗?