鸿蒙内核源码分析(原子操作篇) | 是哪两条汇编指令在为原子操作保驾护航 ?

    百万汉字注解 + 百篇博客分析 -> 读透鸿蒙内核源码
上级 a8c7b3f6
......@@ -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 @@
......@@ -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
}
......
......@@ -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; //信号切换上下文, 用于保存切换现场, 比如发生系统调用时的返回,涉及同一个任务的两个栈进行切换
......
git add -A
git commit -m '鸿蒙内核源码分析(消息队列篇) | 进程间如何异步解耦传递大数据 ?
百万汉字注解 + 百篇博客分析 -> 鸿蒙内核源码
git commit -m '鸿蒙内核源码分析(原子操作篇) | 是哪两条汇编指令在为原子操作保驾护航 ?
百万汉字注解 + 百篇博客分析 -> 读透鸿蒙内核源码
'
git push origin master
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册