-+
来自「linux内核学习笔记 希望想看的人可以很快下载到」· 代码 · 共 21 行
TXT
21 行
any problems, send mails to lysindybear@sina.com.cn
(1)一些结构中的属性一般都要有初始化和清除的过程。
(2)进行数值运算的时候尽量先除后乘,避免溢出错误,例如a*b/c应该改为a*(b/c)
(3)注意不同进程之间数据操作的一致性,特别是在多线程,多cpu的情况下。
(4)在中断过程中不能有等待操作,更不能出现进程调度这样引起运行上下文改变的操作(切忌)。
(5)凡是再分配资源之前进行了等待操作(例如在信号量上等待),则进入临界区以后还要检测一下,防止重复分配
(6)对一些状态的定义避免使用0,1,2这样的数字,一定要定义成为宏,否则容易出现失误
(7)当处于cli和sti中间的代码,也就是处于中断关闭其间的代码,绝对不能进行阻塞操作
(8)资源的申请一般要一次性申请完毕,否则容易出现死锁。例如一个程序需要得到资源A和B,要一起分配。
参见raid1系统。
(9)各种计算型的宏定义都需要用扩号扩起来,以避免计算级别对最后计算结果的影响
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?