- 1、本文档共100页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件技术基础_处理机管理
例:条件 P1、 P2、 P3三个进程对同类资源竞争。P1最大需要10个该资源,P2最大需要4个,P3为9个。该资源总数为12个。 已知当前时刻,系统状态 1、当前是否为安全状态 2、若进程2提出2个资源需求是否可以分配 3、若进程3提出2个资源需求是否可以分配 进程 最大需求 已分配 剩余 1 2 3 10 4 9 P2 P1 P3 3 2 5 假设分配给3两个资源 1 P2 P1 P3 2 4 三、死锁的检测与解除(方法3) 1、死锁的检测 找出死锁的进程和其相应占用的资源 2、死锁的解除 (1)剥夺资源: 从其它进程处剥夺足够的资源给死锁进程使其能正常完成。 (2)撤销进程: 依次撤销死锁的进程直到死锁解除。 处理死锁的三种基本方法小结 线程 自学 作业 为什么要引入进程?为什么要引入线程?进程与线程有什么区别? PCB的作用是什么?为什么说PCB是进程存在的唯一标志? 什么是响应时间?影响响应时间的因素有哪些? 时间片过大或过小有什么问题? 进程有哪些基本状态?画图说明状态转换过程?(原因图和执行图合并) 若系统中有N个进程,则: 执行进程最多 个,最少 个; 就绪进程最多 个,最少 个; 等待进程最多 个,最少 个; 同步问题习题问题:用P、V操作及信号量写出下图三个进程的同步算法,其中buf1与buf2均应互斥访问。(设buf1和buf2的大小分别是n1和n2) 打印进程 Print 计算进程 Compute 输入进程 Input buf1 buf2 进程间的同步关系例3: 计算进程 打印进程 计算结果送到Buffer 从Buffer中取数 Buffer 互斥 互斥 完成数据计算 打印 通知打印进程打印 通知计算进程 送下一个数 合作 进程同步时面临的两种主要关系: 相互合作 竞争资源 司机与售票员 多个打印者 计算者与打印者 进程的同步: 多个进程通过执行时序上的某种限制(相互合作)而产生的制约关系。 进程的互斥: 由于多个进程共享同一资源而产生的相互制约的关系。 同步机制: 实现进程互斥与同步的机制。 临界资源与临界区: 以互斥关系共享的资源。 临界资源: critical source 一次(一个时刻)只允许一个进程访问(排他性) 临界区: 进程中访问临界资源的代码区。 进入区: 退出区: 释放临界资源 申请进入临界区 剩留区: 代码的其它部分 进程代码的组成: 进入区 临界区 退出区 进入区 临界区 退出区 ... ... ... ... ... ... ... ... 阻塞等待 资源释放 改变资源状态 释放资源 唤醒等待进程 进程 1 进程 2 同步机制应遵循的原则 空闲让进 忙则等待 有限等待 让权等待 无进程处于临界区,可让一新进程进入 有进程处于临界区,其余进程必须等待 进程进入临界区的要求必须在有限时间内满足 等待进入临界区的进程,其CPU占用必须释放 临界资源锁机制 为临界资源加一个“锁” 锁变量 Lock True 资源在用 False 资源空闲 每个进程必须按照以下过程操作临界资源: ......关锁 进入临界区 开锁...... ...... ...... check: if ( L = = 1){ goto check; else L = 1; 临界区 L 进程 1 进程 2 unlock( L ); ...... check: if ( L = = 1){ goto check; else L = 1; 临界区 unlock( L ); ...... 0 1 0 1 0 出了问题的锁: ...... ...... check: if ( L = = 1){ goto check; else L = 1; 临界区 unlock( L ); ...... check: if ( L = = 1){ goto check; else L = 1; 临界区 unlock( L ); ...... 进程 1 进程 2 L 0 1 尚未执行 问题出在? 判断状态后 改变状态前 被打断 临界资源锁的特点: 实现了进程互斥访问临界资源。 不遵循让权等待原则——忙等: 不断调用TS查询,占用处理机 关锁操作不可被打断 原语 引入TS指令:关锁操作在一个指令周期内完成 在执行原语过程中关闭中断 信号量与P、V操作 信号量是对具体共享资源的抽象描述; 信号量的值为整数,表示资源使用情况; 不同共享资源可以用不同的信号量表示。 P操作——申请分配一个资源 V操作——释放一个资源 信号量是比锁更高级的资源抽象方式 PV操作均是原语 (1)信号量同步机制 通过信号量S和基于S的P、V操作实现 P( S )
您可能关注的文档
- 软件开发工具与环境-java方面的各类工具.doc
- 软件开发实习报告.doc
- 软件开发需求文档模板.doc
- 软件性能测试.ppt
- 软件性能测试流程.ppt
- 软件技术专业应用本科.doc
- 软件技术基础.doc
- 软件技术基础_设备管理.ppt
- 软件技术基础_存储管理.ppt
- 软件技术基础复习.doc
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
文档评论(0)