我是靠谱客的博主 花痴月亮,最近开发中收集的这篇文章主要介绍关于linux0.12临界资源的一点理解和猜测,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

       今天看代码时突然发现,好像看到linus在写代码时的一些准则了,再根据赵博士的一句话"内核开发者不可能总是关注这些细节问题的!“,然后参照自己的理解总结出来一些准则,本人初学,如果有问题还请留言指正。

       1.在关于锁的操作上,希望是原子操作,所以不管什么先关中断再说

       2.在互斥资源上,如果下面可能睡眠,那么先上锁再说,这点可以从inode.c中的read_inode函数中可以看出!

       3.如果进程修改了某些indoe等一些公共内容,如果下面有bread之类可能睡眠的函数那么先把i_dirty置1,以免丢失数据。

      4.貌似只要是进程打开的,不是用作公共有途的,如打开一个i_node用来添加目录,打开一块缓冲区用作他用,这些都算是私有的,不算是临界,共同使用同个i_node或同一个缓冲区的可能性很小?我只能这么解释他为什么在bread后在进程中不上锁了!


转载于:https://www.cnblogs.com/findstr/archive/2012/03/12/2803694.html

最后

以上就是花痴月亮为你收集整理的关于linux0.12临界资源的一点理解和猜测的全部内容,希望文章能够帮你解决关于linux0.12临界资源的一点理解和猜测所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部