From a77332bb2395535aeaa7c2866303652e77e303ec Mon Sep 17 00:00:00 2001 From: kuangyufei Date: Fri, 19 Feb 2021 17:22:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=B8=BF=E8=92=99=E5=86=85=E6=A0=B8=E6=BA=90?= =?UTF-8?q?=E7=A0=81=E5=88=86=E6=9E=90(=E5=8E=9F=E5=AD=90=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E7=AF=87)=20|=20=E6=98=AF=E5=93=AA=E4=B8=A4=E6=9D=A1?= =?UTF-8?q?=E6=B1=87=E7=BC=96=E6=8C=87=E4=BB=A4=E5=9C=A8=E4=B8=BA=E5=8E=9F?= =?UTF-8?q?=E5=AD=90=E6=93=8D=E4=BD=9C=E4=BF=9D=E9=A9=BE=E6=8A=A4=E8=88=AA?= =?UTF-8?q?=20=3F=20=20=20=20=20=E7=99=BE=E4=B8=87=E6=B1=89=E5=AD=97?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3=20+=20=E7=99=BE=E7=AF=87=E5=8D=9A=E5=AE=A2?= =?UTF-8?q?=E5=88=86=E6=9E=90=20->=20=E8=AF=BB=E9=80=8F=E9=B8=BF=E8=92=99?= =?UTF-8?q?=E5=86=85=E6=A0=B8=E6=BA=90=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 +++++++++--- kernel/base/core/los_tick.c | 6 +++--- kernel/base/include/los_signal.h | 4 ++-- zzz/git/push.sh | 4 ++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2cf4e288..555d5f2d 100644 --- a/README.md +++ b/README.md @@ -55,9 +55,10 @@ ## **百篇博客分析** -在给鸿蒙内核源码加注释过程中,整理出以下文章. +给 **[鸿蒙内核源码加注释](https://gitee.com/weharmony/kernel_liteos_a_note)** 过程中,整理出以下文章. -* (总目录) | 百万汉字注解 百篇博客分析[< CSDN](https://blog.csdn.net/kuangyufei/article/details/108727970) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4626852) + +* (总目录) | 百万汉字注解 百篇博客分析[< CSDN](https://blog.csdn.net/kuangyufei) [ | OSCHINA >](https://my.oschina.net/weharmony) ### **故事篇** @@ -85,7 +86,7 @@ * (进程概念篇) | 进程都管理了哪些资源?[< CSDN](https://blog.csdn.net/kuangyufei/article/details/113395872) [ | OSCHINA >](https://my.oschina.net/u/3751245/blog/4937521) -### **进程通讯(IPC)** +### **进程通讯** * (消息队列篇) | 进程间如何异步解耦传递大数据 ? [< CSDN](https://blog.csdn.net/kuangyufei/article/details/113815355) [ | OSCHINA >](https://my.oschina.net/weharmony/blog/4952961) * (事件控制篇) | 任务间一对多和多对多的同步方案 [< CSDN](https://blog.csdn.net/kuangyufei/article/details/113759481) [ | OSCHINA >](https://my.oschina.net/weharmony/blog/4950956) @@ -117,6 +118,10 @@ ### **基础篇** +* (时间管理篇) | Tick是操作系统的基本时间单位 [< CSDN](https://blog.csdn.net/kuangyufei/article/details/113867785) [ | OSCHINA >](https://my.oschina.net/weharmony/blog/4956163) + +* (原子操作篇) | 是哪两条汇编指令在为原子操作保驾护航 ? [< CSDN](https://blog.csdn.net/kuangyufei/article/details/113850603) [ | OSCHINA >](https://my.oschina.net/weharmony/blog/4955290) + * (定时器机制篇) | 内核最高优先级任务是谁???[< 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) @@ -179,3 +184,4 @@ + diff --git a/kernel/base/core/los_tick.c b/kernel/base/core/los_tick.c index 62b19ed7..a924c556 100644 --- a/kernel/base/core/los_tick.c +++ b/kernel/base/core/los_tick.c @@ -62,7 +62,7 @@ LITE_OS_SEC_TEXT VOID OsTickHandler(VOID) UINT32 intSave; TICK_LOCK(intSave); - g_tickCount[ArchCurrCpuid()]++;//当前CPU核计数器 + g_tickCount[ArchCurrCpuid()]++;// 累加当前CPU核tick数 TICK_UNLOCK(intSave); #ifdef LOSCFG_KERNEL_VDSO @@ -79,10 +79,10 @@ LITE_OS_SEC_TEXT VOID OsTickHandler(VOID) OsTimesliceCheck();//时间片检查 - OsTaskScan(); /* task timeout scan *///任务扫描 + OsTaskScan(); /* task timeout scan *///扫描超时任务 例如:delay(300) #if (LOSCFG_BASE_CORE_SWTMR == YES) - OsSwtmrScan();//定时器扫描,看是否有超时的定时器 + OsSwtmrScan();//扫描定时器,查看是否有超时定时器,加入队列 #endif } diff --git a/kernel/base/include/los_signal.h b/kernel/base/include/los_signal.h index 75867ac9..8cf104c9 100644 --- a/kernel/base/include/los_signal.h +++ b/kernel/base/include/los_signal.h @@ -213,11 +213,11 @@ typedef struct {//信号切换上下文 } sig_switch_context; typedef struct {//信号控制块(描述符) - sigset_t sigFlag; + sigset_t sigFlag; //信号标签集 sigset_t sigPendFlag; //信号阻塞标签集,记录因哪些信号被阻塞 sigset_t sigprocmask; /* Signals that are blocked */ //进程屏蔽了哪些信号 sq_queue_t sigactionq; //信号捕捉队列 - LOS_DL_LIST waitList; //等待链表,上面挂的可是等待信号到来的任务, 请查找 OsTaskWait(&sigcb->waitList, timeout, TRUE) 理解 + LOS_DL_LIST waitList; //等待链表,上面挂的是等待信号到来的任务, 请查找 OsTaskWait(&sigcb->waitList, timeout, TRUE) 理解 sigset_t sigwaitmask; /* Waiting for pending signals */ //任务在等待某某信号的掩码 siginfo_t sigunbinfo; /* Signal info when task unblocked */ //任务解除阻止时的信号信息 sig_switch_context context; //信号切换上下文, 用于保存切换现场, 比如发生系统调用时的返回,涉及同一个任务的两个栈进行切换 diff --git a/zzz/git/push.sh b/zzz/git/push.sh index 0680430a..0438b866 100644 --- a/zzz/git/push.sh +++ b/zzz/git/push.sh @@ -1,6 +1,6 @@ git add -A -git commit -m '鸿蒙内核源码分析(消息队列篇) | 进程间如何异步解耦传递大数据 ? - 百万汉字注解 + 百篇博客分析 -> 鸿蒙内核源码 +git commit -m '鸿蒙内核源码分析(原子操作篇) | 是哪两条汇编指令在为原子操作保驾护航 ? + 百万汉字注解 + 百篇博客分析 -> 读透鸿蒙内核源码 ' git push origin master -- GitLab