鸿蒙内核源码分析(定时器机制篇) | 内核最高优先级任务是谁???

    百万汉字注解 + 百篇博客分析 -> 鸿蒙内核源码
上级 37dea5a3
......@@ -55,7 +55,9 @@
## **百篇博客分析**
* (总目录) | 精读内核源码 深挖地基工程[< CSDN](https://blog.csdn.net/kuangyufei/article/details/108727970) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4626852)
在给鸿蒙内核源码加注释过程中,整理出以下文章.
* (总目录) | 百万汉字注解 百篇博客分析[< CSDN](https://blog.csdn.net/kuangyufei/article/details/108727970) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4626852)
### **故事篇**
......@@ -112,6 +114,8 @@
### **基础篇**
* (定时器机制篇) | 内核最高优先级任务是谁???[< CSDN](https://blog.csdn.net/kuangyufei/article/details/113774260) [ | OSCHINA >](https://my.oschina.net/weharmony/blog/4951625)
* (汇编传参篇) | 汇编如何传递复杂的参数?[< CSDN](https://blog.csdn.net/kuangyufei/article/details/113265990) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4927892)
* (汇编基础篇) | CPU在哪里打卡上班 ?[< CSDN](https://blog.csdn.net/kuangyufei/article/details/112986628) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4920361)
......@@ -122,13 +126,13 @@
* (源码结构篇) | 内核500问你能答对多少?[< CSDN](https://blog.csdn.net/kuangyufei/article/details/111938348) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4869137)
* (源码注释篇) | 精读内核源码有哪些好处?[< CSDN](https://blog.csdn.net/kuangyufei/article/details/109251754) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4686747)
* (源码注释篇) | 精读内核源码 深挖地基工程[< CSDN](https://blog.csdn.net/kuangyufei/article/details/109251754) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4686747)
* (双向链表篇) | 谁是内核最重要结构体?[< CSDN](https://blog.csdn.net/kuangyufei/article/details/108585659) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4572304)
### **主流站点**
感谢 OSCHINA,CSDN,华为开发者论坛, 51CTO, 电子发烧友,以及其他小伙伴通过自己的公众号对系列文章的转载和推荐,无以为报,唯有不断的深挖内核地基,输出更多文章,错漏之处请多见谅,会持续完善源码注解和文档内容,精雕细琢,尽全力打磨精品内容。文章输出站点:
感谢 `OSCHINA``CSDN``华为开发者论坛`, `51CTO`, `电子发烧友`,以及其他小伙伴通过自己的公众号对系列文章的转载和推荐,无以为报,唯有不断的深挖内核地基,输出更多文章,错漏之处请多见谅,会持续完善源码注解和文档内容,精雕细琢,尽全力打磨精品内容。文章输出站点:
**[CSDN |](https://blog.csdn.net/kuangyufei)** **[开源中国 |](https://my.oschina.net/weharmony)** **[51CTO |](https://harmonyos.51cto.com/column/34)** **[头条号 |](https://gitee.com/weharmony/docs/raw/master/pic/other/tt.png)** **[WeHarmony |](https://weharmony.gitee.io)** **[公众号](https://gitee.com/weharmony/docs/raw/master/pic/other/wxcode.png)**
......@@ -168,8 +172,4 @@
百万汉字注解 >> 精读内核源码,中文注解分析, 深挖地基工程,大脑永久记忆,四大码仓每日同步更新[< Gitee ](https://gitee.com/weharmony/kernel_liteos_a_note)[| Github ](https://github.com/kuangyufei/kernel_liteos_a_note)[| CSDN ](https://codechina.csdn.net/kuangyufei/kernel_liteos_a_note)[| Coding >](https://weharmony.coding.net/public/harmony/kernel_liteos_a_note/git/files)
百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,多站点每日同步更新[< OSCHINA ](https://my.oschina.net/u/3751245/blog/4626852)[| CSDN ](https://blog.csdn.net/kuangyufei/article/details/108727970)[| WeHarmony >](https://weharmony.gitee.io/)
百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,多站点每日同步更新[< OSCHINA ](https://my.oschina.net/u/3751245/blog/4626852)[| CSDN ](https://blog.csdn.net/kuangyufei/article/details/108727970)[| WeHarmony >](https://weharmony.gitee.io/)
\ No newline at end of file
......@@ -110,7 +110,7 @@ extern "C" {
LITE_OS_SEC_BSS SWTMR_CTRL_S *g_swtmrCBArray = NULL; /* First address in Timer memory space *///定时器池
LITE_OS_SEC_BSS UINT8 *g_swtmrHandlerPool = NULL; /* Pool of Swtmr Handler *///用于注册软时钟的回调函数
LITE_OS_SEC_BSS LOS_DL_LIST g_swtmrFreeList; /* Free list of Software Timer */
LITE_OS_SEC_BSS LOS_DL_LIST g_swtmrFreeList; /* Free list of Software Timer *///空闲定时器链表
/* spinlock for swtmr module, only available on SMP mode */
LITE_OS_SEC_BSS SPIN_LOCK_INIT(g_swtmrSpin);//初始化软时钟自旋锁,只有SMP情况才需要,只要是自旋锁都是用于CPU多核的同步
......@@ -417,7 +417,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_SwtmrCreate(UINT32 interval,
sortList = LOS_DL_LIST_ENTRY(g_swtmrFreeList.pstNext, SortLinkList, sortLinkNode);
swtmr = LOS_DL_LIST_ENTRY(sortList, SWTMR_CTRL_S, stSortList);
LOS_ListDelete(LOS_DL_LIST_FIRST(&g_swtmrFreeList));
LOS_ListDelete(LOS_DL_LIST_FIRST(&g_swtmrFreeList));//
SWTMR_UNLOCK(intSave);
swtmr->uwOwnerPid = OsCurrProcessGet()->processID;//定时器进程归属设定
......
......@@ -263,8 +263,8 @@ typedef VOID (*SWTMR_PROC_FUNC)(UINTPTR arg); //函数指针, 赋值给 SWTMR_CT
* @ingroup los_swtmr
* Software timer control structure
*/
typedef struct tagSwTmrCtrl {//变量前缀 uc:UINT8 us:UINT16 uw:UINT32 代表的意思
SortLinkList stSortList;
typedef struct tagSwTmrCtrl {//软件定时器控制块
SortLinkList stSortList;//通过它挂到对应CPU核定时器链表上
UINT8 ucState; /**< Software timer state */ //软件定时器的状态
UINT8 ucMode; /**< Software timer mode */ //软件定时器的模式
UINT8 ucOverrun; /**< Times that a software timer repeats timing */ //软件定时器重复计时的次数
......@@ -279,7 +279,7 @@ typedef struct tagSwTmrCtrl {//变量前缀 uc:UINT8 us:UINT16 uw:UINT32 代表
that handles software timer timeout is called */
SWTMR_PROC_FUNC pfnHandler; /**< Callback function that handles software timer timeout */ //处理软件计时器超时的回调函数
UINT32 uwOwnerPid; /** Owner of this software timer */ //软件定时器所属进程ID号
} SWTMR_CTRL_S;
} SWTMR_CTRL_S;//变量前缀 uc:UINT8 us:UINT16 uw:UINT32 代表的意思
/**
* @ingroup los_swtmr
......
git add -A
git commit -m '鸿蒙内核源码分析(事件控制篇) | 任务间一对多和多对多的同步方案
搜索 @note_pic 可查看绘制的全部字符图
搜索 @note_why 是尚未看明白的地方,有看明白的,请Pull Request完善
搜索 @note_thinking 是一些的思考和建议
搜索 @note_#if0 是由第三方项目提供不在内核源码中定义的极为重要结构体,为方便理解而添加的。
搜索 @note_good 是给源码点赞的地方
git commit -m '鸿蒙内核源码分析(定时器机制篇) | 内核最高优先级任务是谁???
百万汉字注解 + 百篇博客分析 -> 鸿蒙内核源码
'
git push origin master
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册