shivency

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

(一)

首先,明确学习目标

第一次学,我想弄清整个系统的框架,或者说执行流程;第二次学,我想能够自己编写代码进行测试。

现在的记录是属于第一次“创造”的过程。

 

 

我的想法是,按书上的顺序,依次记录各个函数,以及对应的数据结构,并通过流程图或者思维导图的方式呈现出来,而尽量不是用语言线性地描述。

 

 

而后可能会有一些基础的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、未完待续

 

posted on 2013-06-07 19:08  shivency  阅读(199)  评论(0编辑  收藏  举报