diff --git a/README.md b/README.md index 2cf4e28847d7a14bcaf0f185085372db4bfc689b..555d5f2d630ab3c500a1f3855e8956e65f95dc22 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 62b19ed7d12af83d0042d7c5da4145b1a6f07cf1..a924c5569835babec1c9c711e8e08b9179680546 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 75867ac9cfd02620ce5f756304f49931a015063d..8cf104c910d73ec33f13bcbd7222d6f1299e2682 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 0680430a3737fa9f51f994b5c1d2a492691ce06c..0438b86609f45f05d7bde99155291945d7f3c1b9 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