- 1
- 0
- 约5.54千字
- 约 16页
- 2020-03-04 发布于广东
- 举报
Linux内核设计与实现读书笔记(二)
第八章内核同步介绍
1 临界区和竞争条件
临界区:访问和操作共享数据的代码段。
竞争条件:两个执行线程处于同一个临界区中。
2 内核中造成并发的原因
1)中断:任何时刻异步发生,打断当前执行的代码。
2)软中断和tasklet:任何时刻唤醒或调度软中断、tasklet。
3)内核抢占(preempt)。
4)睡眠及与用户空间的同步:唤醒调度程序,调度新进程执行。
5)对称多处理器(SMP)。
3 需要加速的代码
1)中断安全代码;
2)SMP安全代码;
3)抢占安全代码。
★给数据加锁而不是给代码加锁。
4 编程需注意的问题:
1)数据是否全局?除了当前线程,其他线程是否可以访问?
2)数据是否在进程/中断上下文中共享?是否在两个不同中断中共享?
3)进程在访问数据时可否被抢占?被调度的新进程是否会访问同一数据?
4)当前进程是否会睡眠(阻塞)在某些资源上?共享数据处于何种状态?
5)怎样防止数据失控?若在另一处理器上调度?
5 预防死锁
1)★加锁顺序是关键,使用嵌套锁必须以相同顺序获取锁;
2)防止发生饥饿;
3)不要重复请求同一个锁;
4)复杂的加锁方案也可能造成死锁——简化设计;
5)建议以获取锁相反的顺序来释放锁。
第九章内核同步方法
1 原子操作
原子操作执行过程不被打断,原子操作接口分为整数操作接口和单独位操作接口。
2 原子整
您可能关注的文档
- Linux命令练习及参考答案.docx
- Linux内核设计与实现笔记(一).docx
- Linux内核设计与实现读书笔记(三).docx
- Linux期末考试大全(带答案).docx
- Linux学习心得与体会(一).docx
- Linux学习心得总结.docx
- 关于Linux学习的总结.docx
- 2025年汽车行业研发部工程师用户数据报表恢复权限手册.docx
- 初中地理试卷 2025-2026学年江苏省淮安市淮安区七年级(下)期末地理试卷附解答.pdf
- 2025-2026年交通安全法律法规模拟试卷.docx
- 2025-2026年天津市北师大版高三生物第7课生物技术测试卷.docx
- 2025-2026年计算机三级网络技术网络设备习题.docx
- 2025-2026年天津市北师大版高二化学第12课化学与能源测试题.docx
- 2025-2026年广东省北师大版二年级英语下册第5单元单词拼写测试卷.docx
- 房地产行业销售中心销售经理楼盘销售推广手册(执行版).docx
- 2025年房地产行业营销部销售经理客户开发手册.docx
- 初中地理试卷 2025-2026学年江西省上饶市七年级(下)期末地理试卷附解答.pdf
- 汽车行业工艺部工艺员工艺参数设定记录手册(执行版).docx
- 物业管理行业工程部工程师设施设备管理手册(执行版).docx
- 2025-2026年湘教版小学音乐第1单元音乐欣赏同步练习题.docx
最近下载
- 《人祖传》完整版.doc VIP
- JTS145-2-2013 海港水文规范.docx
- 2026届高考英语 七选五 解题技巧 课件.pptx
- 2025年国家保安员考试题库含答案(完整版).docx VIP
- JB_T14825-2024《土方机械液压挖掘机用液压柱塞泵可靠性试验方法》.pdf VIP
- 港口水工建筑物结构健康监测技术规范_JTS-T 312-2023 .pdf
- 上海M1432B万能外圆磨床说明书.pdf VIP
- 管道、设备安装施工方案(标准模板).doc VIP
- EVB_JW5068A_杰华特 中文资料 规格书 pdf 下载电源管理芯片全线代理.pdf VIP
- 离心式渣浆泵.pdf VIP
原创力文档

文档评论(0)