免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1101 | 回复: 0
打印 上一主题 下一主题

内核编程的一些注意事项 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-07 15:57 |只看该作者 |倒序浏览
(1)一些结构中的属性一般都要有初始化和清除的过程。
(2)进行数值运算的时候尽量先除后乘,避免溢出错误,例如a*b/c应该改为a*(b/c)
(3)注意不同进程之间数据操作的一致性,特别是在多线程,多cpu的情况下。
(4)在中断过程中不能有等待操作,更不能出现进程调度这样引起运行上下文改变的操作(切忌)。
(5)凡是再分配资源之前进行了等待操作(例如在信号量上等待),则进入临界区以后还要检测一下,防止重复分配
(6)对一些状态的定义避免使用0,1,2这样的数字,一定要定义成为宏,否则容易出现失误
(7)当处于cli和sti中间的代码,也就是处于中断关闭其间的代码,绝对不能进行阻塞操作
(8)资源的申请一般要一次性申请完毕,否则容易出现死锁。例如一个程序需要得到资源A和B,要一起分配。
参见raid1系统。
(9)各种计算型的宏定义都需要用扩号扩起来,以避免计算级别对最后计算结果的影响


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17064/showart_96592.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP