chp08内核同步导论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 8 章. 内核同步导论 引言 在共享内存的应用中 并发访问的资源需要保护 因为如果多个执行线程可能会同时访问和操作数据 适当地对共享资源保护是比较困难的 多处理器支持意味着 内核代码可以同时运行在多个处理器上 本章讨论操作系统内核中的并发和同步 临界区和竞争条件 临界区 访问和处理共享的数据 多个线程同时访问共享的资源会存在不安全性 竞争条件(bug) 两个线程同时进入同一个 临界区会发生 同步 保证不安全的并发不发生,竞争条件不发生 共享变量 例如对共享变量进行修改: i++; 加锁 锁提供的机制:类似于门锁 什么导致了并发?在什么地方? 中断 Softirqs和tasklets 内核抢占 用户空间的睡眠和同步 SMP 怎么知道那些东西需要保护? 编写内核代码时,应当多问如下问题: 是否全局变量? 这些数据是进程上下文和中断上下文之间共享的数据吗? 如果一个进程在访问这些数据时被抢占了,新调度的进程可以访问这些数据吗? 当前进程是否可以睡眠在(阻塞)在一些资源上? 怎样防止数据失控? 这个函数如果在另一个处理器调用,会发生什么事情? 你要对这些代码做什么? 死锁 多线程多资源 每一个线程都在等待其中的一个资源 但所有的资源都已被占用 死锁 死锁的例子 防止死锁死锁: 一些简单的方法 锁的顺序至关重要 防止饥饿 不要对同一个锁上两次锁 锁的方案过于复杂易导致死锁 争用和可扩充性 锁的竞争 用于描述一个锁当修门在被使用,但是另一个 线程正在试图获得 可扩充性 系统可被扩展的程度 考虑大量的进程,处理器以及内存 Kernel 2.6 内核锁粒度较小且可扩充性好 * 线程 2 - - - get i(8) increment i(8-9) write back i(9) 线程 1 get i (7) increment i(7 - 8) write back i(8) - - - 线程 1 get i (7) increment i(7 - 8) - write back i(8) -- 线程 2 get i(7) - increment i(7-8) - write back i(8) 线程 1 increment i(7 - 8) - Or: - increment i(8-9) 线程 2 - increment i(8-9) increment i(7-8) - 希望的顺序 可能的顺序 可能的顺序 线程 1 试图锁定队列 成功: 获得锁 访问队列... 解锁 ... 线程 2 试图锁定队列 失败: 等待.. 等待... 等待... 成功: 获得锁 访问队列... 解锁 锁的例子 线程 1 获得锁 A 试图获得锁B 等待锁B 线程 2 获得锁B 试图获得锁A 等待锁A a four-way traffic stop if 每一个car at the stop decides to wait for the other cars before going, no car will ever go and we have a traffic 死锁 self-死锁 if a 线程 of execution attempts to acquire a lock it already holds, it has to wait for the lock to be released * * *

文档评论(0)

awang118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档