(一)
首先,明确学习目标
第一次学,我想弄清整个系统的框架,或者说执行流程;第二次学,我想能够自己编写代码进行测试。
现在的记录是属于第一次“创造”的过程。
我的想法是,按书上的顺序,依次记录各个函数,以及对应的数据结构,并通过流程图或者思维导图的方式呈现出来,而尽量不是用语言线性地描述。
而后可能会有一些基础的tip,会在这篇文章里统一地描述,不定时地添加。
(二) 基础tip
1、关于 OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()
我们会经常在源码里看到这俩货成双成对的出现,如果不介意我更愿意用A和B来指代
OS_ENTER_CRITICAL() /***************A****************/ OS_EXIT_CRITICAL() /***************B****************/
AB之间的代码表示对临界区的访问,对临界资源(critical resource)的操作;
2、关于临界资源/临界区
书上有一句话,解释这个:
“临界资源可以是全局变量,也可以是指针、缓冲区或链表等其他数据结构;也可以是打印机、硬盘等硬件。”
然后网上零散地找了一些解释:
“a. 一次仅允许一个进程使用的资源成为临界资源.“
“b. 在每个进程中,访问临界资源的那段程序称为临界区.”
这样,把临界区比作厕所,把进程比做人;至于访问临界资源那段程序- -……
好了,有个印象就ok
3、未完待续