- 22
- 0
- 约2.84千字
- 约 20页
- 2019-12-06 发布于湖北
- 举报
linux内核同步 int xxx_count = 0; int testOpen(struct inode *p, struct file *f) { if(xxx_count) { return - EBUSY; } ++xxx_count; return 0; } Note.对于驱动的open函数而言,返回0表示打开成功;返回负值表示打开失败 对于某个字符设备驱动,要求同一时刻只能被一个进程打开,代码如下: 假如进程A先对此设备调用open,同时另一个进程B也对此设备调用open,如果cpu按照如下调度,则不会有任何问题: 假如进程A先对此设备调用open,同时另一个进程B也对此设备调用open,如果cpu按照如下调度,则会出现问题: 进程A和进程B同时对(不同进程) xxx_count (共享资源) 进行操作,产生了竞争行为! 想一想你(A)正上厕所的时候 一个美女(B)闯进来的情形吧 为厕所这个共享资源 加锁 避免了A和B的竞争行为 解决方法:保证对共享资源的互斥访问 如何做到互斥访问? 访问共享资源的代码区块叫做“临界区”, 临界区需要以某种互斥机制加以保护:自旋锁,信 号量等 一个执行单元在访 问共享资源的时候, 其他的执行单元 被禁止访问 进程 Linux中的信号量是一种
您可能关注的文档
- 现代生态学(2005~2006第二学期).ppt
- 现代统计分析方法在考试研究中的应用.ppt
- 现代仪器对有机分子结构的确定元素分析仪质谱仪红外光谱仪核磁共振.ppt
- 现代主义文学 第八节 存在主义.ppt
- 现代主义文学 第八节 荒诞派戏剧.ppt
- 线性数据结构优化——POJ3709-Read.ppt
- 腺垂体-雅安职业技术学院.ppt
- 乡村旅游富民计划城郊和农区两种发展模式相结合的庭院经济模式拉萨.ppt
- 向量加法向量加法.ppt
- 项目1有线电视网络系统组成与功能认识.ppt
- 2023电力变压器用绝缘材料介电性能的频域介电谱试验方法.docx
- 皖2016J911 太阳能热水系统建筑一体化设计图集.docx
- 北京市政交通基础设施工程规划设计技术文件办理指南培训(市政部分).docx
- 辽2006J403 金属成品变形缝建筑构造.docx
- 冀12G09 钢筋混凝土板式楼梯.docx
- 河南省图集 12YJ5-2 坡屋面.docx
- GB_Z 29014.100-2024 切削刀具数据表达与交换 第100部分:参考字典的定义、原则和方法.docx
- DB62∕T 5198-2025 管道超声内检测技术规范.docx
- codex零基础学习手册-前哨ai-202607.docx
- 大数据与景区管理(92页PPT).docx
原创力文档

文档评论(0)