- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
黑龙江大学
“操作系统课程设计”读书工程报告
学院 软件学院
年级 2010 级
专业 软件工程
学号
姓名
报告日期 2013/7/03
成绩
黑龙江大学计算机科学技术学院
黑龙江大学软件学院
一、基本理论阐述
1. 死锁的概念:系统中多个进程因素因竞争资源而产生的僵死状态,若无外
力推动进程将无法继续执行。
2. 死锁的根本原因;对资源的竞争;进程推进的顺序不当。
3.死锁产生的必要条件
互斥条件在某一段时间里, 某资源被一个进程所占有, 不能为别的进程使用;
请求并保持 (不释放)进程每次申请它所需要的一部分资源。 在等待新资源的同
时,进程继续占用已分配到的资源;
非剥夺条件 进程所获得的资源在为使用完之前,不能被其他进程强行夺走,
即只能由获得该资源的进程自己来释放;
环路条件 存在一种进程资源的循环等待链,链中的每一个进程已获得资源
的同时被链中下一个进程所请求。
4. 死锁的预防
①破坏“互斥条件” 。由于资源特性所限,一般情况下这个条件是无法摒弃
的,但对于某些互斥共享的设备,如打印机,则可以通过 Spooling 技术来摒弃
互斥条件。
②破坏“请求与保持条件” 。可以采用资源静态分配法,即对资源采用一次
性分配策略,但会导致资源利用率的下降。
③破坏“非剥夺条件” 。可以采用剥夺策略,但涉及到对资源现场的恢复问
题,需付出高昂代价。因此,一般只适用于处理机和存储器资源,不适宜对其他
资源使用该方法。
④破坏“环路等待条件” 。可以采用资源顺序分配法,但实际情况是:资源
编号增加的顺序与实际使用资源的顺序不一致, 从而可能导致提早分配资源而导
致资源长期不用的现象,使资源利用律下降。
通过精心分配资源,可以动态回避死锁;即通过执行一种算法,在分配过程
中预测出死锁发生的可能性并加以避免。 死锁避免算法的实质是防止系统进入不
安全状态。常用的是银行家算法。但执行这种测试需要的开销较大。
5. 进程:是操作系统中最基本、 最重要的概念, 但直到目前还没有一个统一
的定义,下面通过能反映进程实质的几点描述来认识进程:
① 进程是程序的一次执行;
② 进程是可以和别的计算并发执行的计算;
③ 进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度
的一个独立单位;
④ 进程是一个具有一定功能的程序关于某个数据集合的一次运行活动。
进程具有几个基本的特征:动态性、并发性、独立性、异步性;每个进程通常由
程序段、数据段和进程控制块三部分组成, 其中进程控制块能唯一标识一个进程。
进程执行时间的间断性, 决定了进程可能具有多种状态。 事实上, 运行中的进程
至少具有以下三种基本状态:
就绪状态:进程已获得除处理机以外的所有资源,一旦分到了处理机就可以
立即执行,这时进程所处的状态为就绪状态;
执行状态:又称运行状态。当一个进程获得必要的资源,并占有处理机,即
在处理机上运行,此时进程所处的状态为执行状态;
阻塞状态:又称等待状态,正在执行的进程,由于发生了某事件而暂时无法
-1-
执行下去(如等待输入 / 输出完成),此时进程所处的状态称为阻塞状态。
进程并非固定处于某一状态, 它随着自身的推进和外界条件的变化而发生变
化。
6. 银行家算法: 银行家算法是一种有代表性的避免死锁的算法。
文档评论(0)