




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习进程管理,为什么要引入进程?分时系统多道程序设计传统的程序是一组指令的集合,是静态概念,无法描述程序在内存中的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。,什么是进程?进程和程序的关系?进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。申请和拥有系统资源调度(线程)动态和静态程序长期存在,进程有一定生命周期。进程更能真实地描述并发,而程序不能;进程是由程序和数据两部分组成的。进程具有创建其他进程的功能,而程序没有同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程。,幼儿园给小朋友喂饭,进程有什么特征?动态性:并发性:独立性:异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进结构特征:进程由程序、数据和进程控制块三部分组成。,进程控制块PCB表示进程存在的唯一实体当系统创建一个新进程就要为它创建一个PCB;当进程终止后,系统收回其PCB。进程与PCB是一一对应的。进程控制块所包含的信息:进程标识符、现行状态、CPU状态保护区、进程程序的起始地址、资源清单、进程优先数、队列指针或队列表、进程的家族信息,进程的状态转换,进程的互斥与同步为什么?银行取款的例子:存折和银行卡ATM和柜台存款(1000,2000元)余额5000多个进程同时修改一数据,必须进行控制在多道程序设计技术的OS中对诸多进程的并发控制是非常重要和必须的。,哪些时候需要实现进程的互斥和同步?临界区和临界资源进程竞争资源首先必须解决“互斥”问题。某些共享资源必须互斥使用,如打印机、共享变量、表格、文件等。这类资源又称为临界资源,访问临界资源的那段代码称为临界区。任何时刻,只允许一个进程进入临界区,以此实现进程对临界资源的互斥访问。,进程互斥进入临界区,临界区的使用原则当无进程访问临界区时,允许一个进程立即访问其临界区。(空闲让进)当某一进程已访问了它的临界区时,其他试图访问临界区的进程必须等待。(忙则等待)当某一进程离开临界区时,若有等待访问临界区的进程,则允许其中的一个进程进入临界区访问。进程只能在临界区内等待有限时间,不能使其他进程在临界区外无限等待。(有限等待)进入临界区的进程不能在临界区内长时间阻塞等待某事件,必须在一定期限内退出临界区。(让权等待),如何实现进程的互斥?有哪些方法?软件方法硬件方法信号量方法管程方法消息传递方法,利用加锁实现进程互斥当某个进程进入临界区后,为了阻止其他进程进入临界区,它将锁上临界区,直到退出临界区为止。并发进程在申请进入临界区时,首先测试该临界区是否是上锁,若是,则该进程要等到临界区开锁之后才能进入临界区。缺点:系统开销大(忙等)、不公平。,信号量的方法红灯阻塞等待绿灯进入临界区信号量:表示资源的物理实体,是一个与队列有关的整数变量,OS系统利用它的状态对进程和资源进行管理。实现信号灯作用的变量称为信号量,常被定义为记录型变量s,其中一个域为整型,另一个域为队列,其元素为等待该信号量的阻塞进程。原语操作:P操作和V操作wait(s)、signal(s),信号量的分类公用信号量:联系着一组并行进程,初始值为1,每个进程都可以对它进行P和V操作,通常它为实现进程的互斥而设置。(互斥信号量)私有信号量:联系着一组共行进程,初始值为0或者某个整数,仅允许拥有它的进程对他进行P和V操作,通常用来实现进程的同步。(资源信号量),ProcedureP(S)BeginLockoutinterrupts;关中断S:=S-1;信号量的值减1IfS0thenbegin如果S0,说明已经没有此类资源Status(q):=block;q的申请得不到满足,将其阻赛Insert(Q,q);将q插入到该资源的等待队列中Unlockinterrupts;开中断End;,ProcedureV(S)BeginLockoutinterrupts;关中断S:=S+1;信号量的值加1IfS=0thenbegin如果S=0,说明有等待该资源的进程Remove(Q,r);则将进程r从等待队列中移出Status(r):=ready;并将其状态改为就绪Insert(RL,r);插入到就绪队列end;Unlockinterrupts;开中断End;,信号量的值表示单位资源的数量,若其值小于等于0,则其绝对值表示在该资源上等待的进程数目。信号量的初始值不能置为负,但在执行n次P操作后它的值可以变为负值,此时表示已经没有该资源,请求该资源的进程将被阻赛,并排在该信号量的等待队列中,S的绝对值表示等待该资源的进程的数量信号量的值=信号量的初始值-P操作的次数+V操作的次数执行V操作表示释放一个单位的资源。若S=0,表示信号量请求队列中仍有请求该资源而被阻赛的进程,因此应将该队列的第一个进程唤醒,使之状态转换为就绪。,进程互斥中的一类典型问题读者写者要求:多个进程可以同时读文件F任何一个进程在写时不允许其他进程读或者写文件F当进程在读文件F时,不允许其他进程写文件F分析:写者与写者之间要互斥写者与读者之间要互斥写者与第一个读者之间的互斥读者之间不用互斥信号量:S:=1,对文件执行权Rc:=0,记录读者的数量Sr:=1,Rc的执行权,beginS,Sr:semaphore;rc:integer;S:=1;Sr:=1;rc:=0cobegin,PROCESSwriterj(j=1,2,.)beginP(S);writefileF;V(S);end;,PROCESSreaderi(i=1,2,.)beginP(Sr);rc:=rc+1;ifrc=1thenP(S);V(Sr);readfileF;P(Sr);rc:=rc-1;ifrc=0thenV(S);V(Sr);end;coend;end;,进程的同步,生产者和消费者问题,多缓冲区Sc:是否有可供打印的结果-emptySp:缓冲区的计算结果是否取走-fullempty:空缓冲区数量full:消息数量初始值:empty:=n;full:=0对缓冲区的互斥使用:mutex:=1互斥信号量,beginsemaphoremutex,empty,full;mutext:=1;empty:=n;full:=0;,Cobeginproducer:beginL1:producenextmessage;P(empty);P(mutext);addtobuffer;V(mutex);V(full);gotoL1;end,consumer:beginL2:P(full);P(mutext);takefrombuffer;V(mutex);V(empty);gotoL2;endCoendend,进程调度的方式,非抢占方式(Nonpreemptive):在这种调度方式下,一旦一个进程被选中运行,它就一直运行下去,直到它完成工作、自愿放弃CPU,或者因等待某一事件而被阻塞时为止,才把CPU出让给其他进程,即得到CPU的进程不管运行多长时间,都一直运行下去,绝不会因为时钟中断等原因而被迫让出CPU。抢占方式(Preemptive):抢占方式允许调度程序根据某种策略中止当前运行进程的执行,将其移入就绪队列,并选择另一个进程投入运行。,调度算法小结,先来先服务短进程(作业)优先最高优先级优先剩余时间最短者优先响应比高者优先轮转调度法简单轮转法可变时间片轮转法多队列轮转法,如何选择进程调度算法跟系统设计的目标有关交互式多任务系统,主要考虑联机用户对响应时间的要求,一般采用基于时间片轮转调度算法,同时根据进程性质设置不同的优先级批处理系统往往以作业的平均周转时间来衡量调度性能,常选用基于优先级的短进程(作业)优先调度算法。,死锁定义,当某进程提出资源申请后,使得若干进程在无外力作用下,永远不能再继续前进,称这种情况为系统发生了死锁或僵局。竞争资源推进顺序不当相互通信而永久阻塞Eg:两个进程都在等待着对方占有的而不不能为自己使用的资源,这时就发生了死锁。,引起死锁的原因,主要原因,竞争资源。而进程对资源的总需求量超过系统能提供的最大资源量。推进顺序不当相互通信而永久阻塞永久性资源(可重用资源)消耗型资源,永久性资源,某一时刻仅允许一个进程使用、不能被进程消耗的、释放以后还可以被其他进程使用的资源。处理机、I/O通道和设备、存储器、文件、数据库、信号量之类的竞争永久性资源可能引起死锁,消耗性资源,可以创造(生产)和撤销(消耗)的资源,其数量不限。中断、信号、消息、Buffer中的数据进程竞争消耗性资源也可能产生死锁。程序设计引起,产生死锁的条件,互斥:竞争的资源一次只能被一个进程使用请求和保持:当一个进程占有一些资源,同时又申请新的资源。如果新资源申请失败,进程将占有资源且阻塞等待。非剥夺:进程已经占有的资源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年长春大学公开招聘博士高层次人才(1号)(84人)考前自测高频考点模拟试题附答案详解(完整版)
- 企业财务咨询方案
- 2025年中山政治中考真题及答案
- 亳州铝单板施工方案电话
- 企业咨询培训招标方案范文
- 仓库出库管理制度大全
- 模拟油罐车测试题及答案
- 2025年舞蹈即兴考试题目及答案
- 竞选团委演讲稿幽默
- 2025徐州历史中考试卷及答案
- 2025年“10.13建队日”分批入队活动总结:强国复兴有我争当新时代好少年
- 2024年服装时装项目资金筹措计划书代可行性研究报告
- 施工三方协议7篇
- 2025年数字娱乐行业数字化娱乐内容与虚拟现实体验研究报告
- 2024北森图形推理题
- 松下panasonic-视觉说明书pv200培训
- 先天性甲状腺功能减低症ppt
- 植物生理学(全套PPT课件)
- 外科学题库水电解质代谢和酸碱平衡失调
- 35kV输电线路工程旋挖钻孔专项施工方案
- 抗精神病药物的副作用及处理
评论
0/150
提交评论