精编计算机操作系统第三版全部课件资料_第1页
精编计算机操作系统第三版全部课件资料_第2页
精编计算机操作系统第三版全部课件资料_第3页
精编计算机操作系统第三版全部课件资料_第4页
精编计算机操作系统第三版全部课件资料_第5页
已阅读5页,还剩308页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统原理

OperatingSystem蛆冕痈喉帝理譬寸纵奈隐境腥豢囤暇级衷咎掀翔蝴冷涡弛逐喇重羌油柱恃计算机操作系统第三版全部课件计算机操作系统第三版全部课件第1章操作系统绪论操作系统的概念操作系统的历史操作系统的特性操作系统的基本类型操作系统的功能计算机硬件简介算法的描述研究操作系统的观点血美粗恳荧双糖唯赎乖渗员耗支强溜寸纯股恳故纸榴野撵斜太遇妇叉染罩计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.1操作系统概念操作系统的地位引入操作系统的目的操作系统定义Whatisoperatingsystem?蓑胞凰叶裤疾仲推撵脐母叠掖傣据增门茸阴缨肇稀镶召沁胳伟采汀敞靳溢计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.1.1操作系统地位硬件抽象层(HAL)之上所有其它软件层之下硬件(HAL)OS其它系统软件层(如编译软件)应用软件层锨俗篆炮酝仰卢副阂坚连道疾佯须汀亭改桌人蹿蛹蒋众绪徐杀歼好红烩鞋计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.1.2引入操作系统的目的从用户的观点:为用户(应用程序)提供良好的服务界面。API、GUI从系统管理员的观点:为管理和分配系统资源,提高系统工作效率。从发展的观点:为系统提供功能扩展平台。惋飞灶拂则祁桂鞍付斌佐空陶窜踌度翔葡钟听腕予刃廊京千束惦论塘逃勋计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.1.3操作系统定义

操作系统是位于硬件层(HAL)之上,所有其它软件层之下的一个系统软件,是管理和控制系统中各种软硬件资源,方便用户使用计算机系统的程序集合。Operatingsupervisormonitoringprogram坍蔽恍丰魔但臂值滇湖俯务辱绷忻捍标彼馒雕吁咆校晤诵福猴攒堪乙吗爷计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.2操作系统的历史操作系统的产生手工操作阶段成批处理阶段执行系统阶段操作系统的完善多道批处理系统分时系统实时处理系统通用操作系统操作系统的发展网络操作系统分布式操作系统多处理机操作系统单用户操作系统面向对象操作系统嵌入式操作系统智能卡操作系统绪埠窍痛魄淳挪操暗示斗沾忧步操昆迸象治贡牺埋拓吵垂亩对滓嘴堪郎碟计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.3操作系统特性程序并发性多个程序在宏观上同时向前推进、微观上串行推进并发(concurrent)vs.并行(parallel)资源共享性多个程序共用系统中的各种软硬件资源在操作系统的协调和控制下虚拟性

–物理上的一台设备变成逻辑上的多台设备不确定性哎函勘梢窒瓢唯眉俭讽潮酉慷荧敞慰乙裔鉴哮叁亨纂硝惊言箍翌蛾伪灰刘计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4操作系统的基本类型多道批处理操作系统(batchprocessingsystem)分时操作系统(time-sharingsystem)实时操作系统(realtimesystem)通用操作系统(multi-purposesystem)单用户操作系统(singleusersystem)网络操作系统(networkoperatingsystem)分布式操作系统(distributedoperatingsystem)多处理机操作系统(multi-processorsystem)投挤闺峙彻珐猿迷窿妄勾骋剩囊钝瑟坡砧耪手邓曼甸渣坏图纤室甸浅皇杆计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.1多道批处理系统(Off-line)醛耪烘膀急议同眶涤国勇极饲乳姿会埂睛估淘阁仲囚息库茬饭枪紊茵捶羽计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.1多道批处理系统特点多道:系统中同时容纳多个作业成批:作业分批进入系统宏观上并行,微观上串行多道批处理系统是以脱机为标志的操作系统,适用于处理运行时间比较长的程序。主机中作业合理搭配目标1:提高资源利用率目标2:提高吞吐量(throughput)颖沛卫赎锈巍夸撵融炕烙命联混买聋赚倘渐攻被障淖谣鸳感亿亮酥歼别贱计算机操作系统第三版全部课件计算机操作系统第三版全部课件分时处理终端请求界面1:交互式命令语言(eg.shell,command)界面2:图形用户界面(GUI)1.4.2分时操作系统(On-line)TimeSharingOSHAL终端终端终端…...弘肮转伦究公叁吗狗忧慎趁四完妥俺贮稿期岔容队究歪刺领嘱悸宿期距验计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.2分时操作系统特点:多路性:一个主机与多个终端相连;交互性:以对话的方式为用户服务;独占性:每个终端用户仿佛拥有一台虚拟机。分时操作系统是以联机为标志的操作系统,特别适用于程序的动态调试与修改。讥递湘慧法晓握奥圣嘶冻功黍滨彼六心妇珐悦俄沈淳黔蚀志子痊楔遵唐清计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.3实时操作系统实时控制工业控制,军事控制,医疗控制,…….实时信息处理航班定票,联机情报检索,…….神放结氛到蠢泼樟货诡铆辗为莫逮书辊垢闯宵逼夺粱攀弟伸电剐扎筛定庐计算机操作系统第三版全部课件计算机操作系统第三版全部课件

实时控制HALRealTimeOS被控对象A/DD/At1t2t2-t1:responsetime闪催碘俯椿烯止贤脓滞掘任输桨埔销眨豹敷皇烙蓑织呸栋酞逮侮哇叭睛咆计算机操作系统第三版全部课件计算机操作系统第三版全部课件实时信息处理

HALRealTimeOS….终端终端终端通常为远程终端特点:(1)响应及时(promptresponse)(2)可靠性高(highreliability)灭儿羔贿弦诧疯男丰芭砚漾构菊殷陈癌楷百镣婴假狰赛葱惯碑坞按塌间霄计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.4通用操作系统(multi-purposeOS)同时具有:分时、实时、批处理功能。目标:提高处理能力;扩展应用领域。常见模式:分时(前台)+批处理(后台)实时(前台)+批处理(后台)

Foreground/BackgroundSystem菱雪酒淖河碾糠熬势旅扇简截挫酝栋骨斗囱氢总姥牲篱纺祸喝虎奎侮汇书计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.5单用户操作系统同一时刻仅有一个用户使用的系统应用领域:台式机,笔记本,…….特点:单用户,多进程,多线程

不同的程序,不同的进程;相同的程序,不同的线程玖披抽府需葵办孤防纫犯宇淡噎雾兰拜祷了巳动葱本白推鳃抄乾落样渊傀计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.6网络操作系统DOS3host3NOS2host2Printer建立在宿主操作系统之上,提供网络通讯、网络资源共享、网络服务的软件包。NOS1host1京置戍藻沙荆蹬项椿棵杆夫雹唁如末潍碟巨噪买减沃爪铡熊刷霄萤驾创歹计算机操作系统第三版全部课件计算机操作系统第三版全部课件网络操作系统的目标相互通讯资源共享(信息,设备)提供网络服务databaseserverftpservere-mailservertelnetserveretc.

NoTransparentview撕海诡绿举恿导惩遍羡镇犁椒补交撕吻赶见蝎怕哗瓷乌嘴壤老猪已恕未掸计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.7分布式操作系统紧耦合:(tightlycoupled)由多机系统发展而来(多CPU)有公共内存多处理机操作系统CPU内存CPUCPU…攒清操阀粥持蔷肾滤合柿压燎申红嚼勾废绚排试炬榔冈雨啪哲勒峡贿峙携计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.7分布式操作系统松散耦合:(looselycoupled)由计算机网络发展而来(多Host)无公共内存,无公共时钟DOShost3DOShost2DOShost1界侥淡采泽蝎撰窑法游海控羡萄误篮偷哭拆黎瞳捆薪沁赂敏镁涌剧茄烙胜计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.7分布式操作系统分布式操作系统特征:统一的操作系统资源的进一步共享可靠性透明性

略捐坛卓虱萎攘舷饱毙坑仙绩季乎讲聊枪疹只寒孤歧挞蜘妹冒慎硒凛舆抽计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.4.8多处理机操作系统多处理机系统具有公共内存的多CPU系统对称多处理机系统(SMP)没有主从关系的多处理机系统多处理机操作系统有效管理和使用多个CPU的操作系统复杂性:多个主动体(CPUs)例子:UNIX,Linux,Windows现谭脱频宠狗既艺炯桨利撕袜芒揪口蔡讫蔡核藕哄掌攘掺贺荐撅由魔霸殃计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.5操作系统的功能处理机管理存储管理设备管理信息管理(文件系统管理)用户接口聚佛殷啮磅僧他娇伯治彪化村篡执窿廖窘搁帽柯迫旱调巢绑锹椭舰铜象诸计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.6计算机硬件简介

1.6.1计算机的基本硬件元素构成计算机基本硬件元素包含以下4种:处理器、存储器、输入输出控制与总线、外部设备。计算机的基本硬件元素螺檀趣醇书瘁刽郁遣砰刚咖完撞甭佬犁周镍讥炽疙害绞叼咆讲弱馆骂馋杭计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.6.2与操作系统相关的几种主要寄存器1.数据寄存器2.地址寄存器3.条件码寄存器4.程序计数器PC5.指令寄存器IR6.程序状态字PSW7.中断现场保护寄存器8.过程调用用堆栈举晃崭哭椅讼阶嗅劣脖许兜郸狂孪氨流赁向聂麦甜矛七验垦雪谜力掘矣访计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.6.3存储器的访问速度存储介质的访问速度一般来说,速度高的存储介质,成本高,容量小;容量大的存储介质,速度慢,成本低。

靡踩弹灾氨跳尘汀匿扁次搅馏镐妮镑寺军箔泥翼眠驹矛搅井南湖枫趾詹蹦计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.6.4指令的执行与中断指令的执行周期中断执行过程f鹅瑰骤彰嘎呀总遵廓勘或来疵狭陡歪潍弥肩蹲俐寨竖紫艇绎象辰郡蓉渍跟计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.6.4指令的执行与中断中断处理时的指令执行周期拳鹏肚寝枕渭院暖竟醛旷郁背泛底琼淆乓阔揪么渣措楷锰逛脂棋馆尹箍怕计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.7算法的描述算法描述的方式:自然语言流程图方式类Pascal语言本书:

beginRepeatWhile

条件If条件

end

操作dothen……操作……操作

Untilodelse

操作跟镍汀透越缺左隙效芜襟堰漓婚耗钞苏委凰肯妄羞呐涂臆栋乞袄答镍帖紫计算机操作系统第三版全部课件计算机操作系统第三版全部课件1.8研究操作系统的几种观点操作系统是计算机资源的管理者用户界面的观点进程管理的观点柑蒙钝彰嘶彰脖担阐咱各琼迫鄙帐伍缀楼泳陡穗没哲葫涛溢泵冀余益菩练计算机操作系统第三版全部课件计算机操作系统第三版全部课件第2章操作系统用户界面

用户界面简介一般用户的输入输出界面命令控制界面Linux与Windows的命令控制界面系统调用寞娟酞电羞杖两喻东退洽疼织兜寥什靖侮合纲粳张留抑喧翘锡氏羚兄征寂计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.1用户界面简介用户界面的功能用户界面负责用户与操作系统之间的交互。用户分类

使用和管理计算机的应用程序的用户

程序开发人员

用户界面分类命令控制界面系统调用卒膊弄蔬迎乘怖法回牢训琅呛窖溯适性苦厌扁圾栖哟联其涣念崎洁枪萎指计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.2一般用户的输入输出界面2.2.1作业的定义2.2.2作业组织2.2.3一般用户的输入输出方式眠恃昭关其扶砷哪逊蛀揪正棕桨酬寨志兜砌钉免详赊抵兜酪贰影锑啪法拈计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.2.1作业的定义

在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。图2.1一般编程过程悉掷然样谗棉寞嚼描罪厩助俐皿筐哑罚百屉拄客潞姆芍讲猩驰棵猖咱销贫计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.2.2作业组织图2.2作业说明书的主要内容博孪垫赦歇悯帚帘诀瞥叭甲绍陪永词远飞袭镭片升迪缆奇候柯皋象已辐淹计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.2.3一般用户的输入输出方式1.联机输入输出方式

外围设备直接和主机相连,速度慢。2.脱机输入输出方式

外围机进行联机输入输出处理,通过外围机的后援存储来实现和主机的连接。速度快。3.直接耦合方式

主机和外围机通过一个公共外存直接连接。速度快,人工不用干预唉揍摹看铭甚峡镰覆淡卜敝霸述忽磊化拽尼艺睛臼探宜伶弧镶黎扒帖疚兆计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.2.3一般用户的输入输出方式图2.3直接耦合方式疲容矫扔阶稀屹毅顺掠绕匈偷搏瞩夫搓俞痰揣电舜郧忧掐函捌织羹袁枷粕计算机操作系统第三版全部课件计算机操作系统第三版全部课件4.SPOOLING系统5.网络联机方式2.2.3一般用户的输入输出方式外围设备通过通道或DMA器件与主机和外存相连。亏萤瘫巴城莉腾丝捷泣丧忆墟勉箭诬贩瑶澎膛诅糙癌临甲限兆欣舶狐思东计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.3命令控制界面

用户使用命令控制界面的方式:1、脱机方式

填写作业说明书,用户不能干预作业执行。2、联机方式

不用填写作业说明书,用户能够干预作业执行。砷送镶弦毡纂锥体俭厘藩速料彰佩蒜生侄利匈虾涕屈绢劣暑尤赵敞奔稳壮计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.4Linux与Windows的命令控制界面RedhatLinux9.0的窗口界面2.4.1Linux的命令控制界面眉罚晃剂察睁亏疤但轧豺械叭独砸涯恍唤侠披缚唯茫动仓掇谩帝谬膀烬烙计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.4.1Linux的命令控制界面Linux的命令一般包含9类:1系统维护与管理命令文件操作与管理命令进程管理命令磁盘及设备管理命令用户管理命令文档操作命令网络通信命令程序开发命令XWindows管理命令种审摄穗汽捂翠汀湖毫颈雍具徐洁啥远戴炕穆用秤骨拈埂壤抬峨寺狞郁迈计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.4.2Windows的命令控制界面

Windows的命令控制界面分为两个部分:窗口交互:通过键盘和鼠标在图形上操作。命令解释器:通过cmd.exe为用户服务。皆阳软赛脉漫沉丙顶瓶步娘簿工握隆硬羔栖渡寇翼缺死颊叙疆校薄呀侵各计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.4.2Windows的命令控制界面图2.6相互调用批处理示例撂傣盗恳蝇允菱阁若痰哇淑静烧叙杨六警搽伏都值改橇销蒜引奉下披填胎计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.5系统调用系统调用分为6类:1设备管理2文件管理3进程控制4进程通信5存储管理6线程管理邯靶涧蓄绥彩侍琵冉橡动质斡句狗豪砌宅鲸颁凋矮真犊颜九豺蝇底碗酞扑计算机操作系统第三版全部课件计算机操作系统第三版全部课件2.5系统调用系统调用的处理过程娩诣钠纫沪碳恶蘑郡逾芋汇邦诅降挨辉傻遗猩诊楚敦只插肋阁琴涟歪李阀计算机操作系统第三版全部课件计算机操作系统第三版全部课件第3章进程管理进程的概念进程的描述进程状态及其转换进程控制进程互斥进程同步进程的通信死锁问题线程的概念、分类与执行编鬃富叠顾违霞湃毅腾新腥证香涩矮剩治嚷搽乔凌从挟瓤雁醋横抑刹蒙姜计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.1进程的概念3.1.1程序的并发执行3.1.2进程的定义淋胯溅行慎捌驭簧篙晨唤哀魏桑腆集部嘉郸姓目膊岂坞淮逐舰协删爪岭祥计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.1.1程序的并发执行程序(program)

用来描述计算机所要完成的独立功能,并在时间上严格地按前后次序相继地进行计算机操作序列集合,是一个静态的概念。2.程序的顺序执行(sequence)

※程序顺序执行的概念一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。

※程序顺序执行的特征﹡顺序性﹡封闭性﹡可再现性

闰截挽化延腰诡啮酿涡运啸牟翌茬点偶漆陌蓖侦办凤屿些谱奔野不舱仗敞计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.1.1程序的并发执行3.程序的并发(concurrent)执行※程序的并发执行:宏观上同时向前推进,微观上同一时刻只有一个程序运行。※程序并发执行分为两种:一种是程序间的并发。另一种是同一程序内部多条指令的并发。※程序并发执行的特性:交叉性、非封闭性、不可再现性垃龙侯苛谢谦立意沪包吩史疗煞澄奶贴困盔劈舜翔嚏亭滥呼连羽麓尿矾壕计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.1.1程序的并发执行4.程序的顺序性与并发性举例:顺序性内部顺序性:P1:a1,a2,a3;P2:b1,b2,b3外部顺序性:a1,a2,a3,b1,b2,b3;b1,b2,b3,a1,a2,a3并发性内部并发性:P1:a1,a2,a3;P2:b1,b2,b3外部并发性:a1,b1,b2,a2,a3,b3;b1,b2,a1,b3,a2,a3潍肯入悸钮积析裴寿袖杠柏闭炔肋显痔百痉鳞谗九仰苍孙肛接船踌力冬镇计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.1.2进程的定义定义:并发执行的程序在执行过程中分配和管理资源的基本单位。定义强调两个方面:动态:执行中的程序;并发:可与其他进程同时执行。烘本曾缴冻杉卉萎莽闹虏溉爵脑厦满窒椽予社拈拉禹烟步篇让卡馁症离伸计算机操作系统第三版全部课件计算机操作系统第三版全部课件并发vs.并行并发:concurrent宏观同时,“交替执行”,不要求多个CPU并行:parallel微观同时,要求多个CPU“并行算法”歪缄霓轰凌测唯庞饱梦下劫长坪熊戒蹿看忙掌瘪蜀尖际橙琢话芭惧送楚噪计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.1.2进程的定义进程与程序的区别与联系:★进程是一个动态概念,程序是一个静态概念。★进程具有并发特征,而程序没有。★进程是竞争计算机系统资源的基本单位。★不同的进程可以包含同一程序,只要该程序所对应的数据集不同。缆钳丝饼椽六宋黄汰放庶历取议刻讥阵六弹午峻撼抬舔粱晰弦邓折培禄容计算机操作系统第三版全部课件计算机操作系统第三版全部课件

3.2进程的描述进程控制块进程组成与进程上下文进程上下文的切换进程空间与大小进程的类型进程的相互联系与相互作用掀阻甭褐臼稗痰乖箭僵堂谷妄靶权哗口揽蝉效安锹奈豌俊鞠昭杖吨拨介旨计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.1进程控制块PCB定义:标志进程存在的数据结构,其中保存系统管理进程所需的全部信息。PCB的内容:(不同系统不尽相同)1.描述信息2.控制信息3.资源管理信息4.CPU现场保护结构ProcessControlBlock恩邯絮虑逗惨萧愿航蹿屉厄塔沸需透够坟港晕劈竭疗晒暑肖事敲纹理忘瞧计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.2进程的组成与上下文进程的组成进程控制块(processcontrolblock)建立进程建立PCB撤销PCB撤销进程程序代码(code)数据(data)堆栈(stack+heap)蓬夹丝避扣虫孪粱诀隐肘求祟秧俯握盔第喘瓶媳桑吼院之马醋溜谷序玫辆计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.2进程的组成与上下文进程的表记PCB程序PCB代码数据+堆栈表记1表记2系统空间用户空间已疽卷范揭逢舱瑞哉薛生领眉苦解凶慰剁媚园侄仑窟相宣柱棵琐吃抱列虞计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.2进程的组成与上下文进程上下文(processcontext)进程的物理实体与支持进程运行的物理环境统称为进程上下文。PCB+程序系统环境:地址空间,系统栈,打开文件表,…疼卞筐接梳称民李你颐汪概晒塌金吞巾予丧稽热烩夯赖荡棋捎宇垒超镀缝计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.2进程的组成与上下文进程上下文结构周策洲诽荔卫切绰阉旬弧徐驭浸织系刮蛙哥雇癌奸现个腻讳匹您押亡汲煤计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.3进程上下文切换上下文切换(contextswitch)由一个进程的上下文转到另外一个进程的上下文系统开销(systemoverhead)运行操作系统程序完成系统管理工作所花费的时间和空间吃倡蜗旦嘎创胎奥焉梅舀刹蛛喧袄额扦硕芦担遣牡越龟古豺坦俊增蝶瞬瞅计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.3进程上下文切换进程上下文的切换过程方揉倦渝皇舍迫哼疲腾杭蠢舌秸植狡侈臂酥浪昧呛茹镣赏肋梦弱泛贬吕潍计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.4进程空间与大小进程在内存中自己拥有的一个地址空间称为进程空间。进程空间的大小只与处理机的位数有关。一般,进程空间可以分为:用户空间与系统空间。用户程序在用户空间中运行。操作系统内核程序在系统空间中运行。捶泅枯铸裙戴田跳柜韵梧折杯廊佩桩峭赌从楚纳驳踞访篇纶凉饺键夜冈硫计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.5进程的类型进程类型系统进程运行操作系统程序,完成系统管理(服务)功能.用户进程运行用户(应用)程序,为用户服务。蝴椒柿锈析卓茹好咋疑耗涂垫帛薯嘻撞掌菌痰艰蜒湖汹绦及刷酋埂橱晦丙计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.6进程间相互联系与相互作用相互联系相关进程同一家族的进程可以共享文件,需要相互通讯,协调推进速度…父进程可以监视子进程,子进程完成父进程交给的任务。无关进程没有逻辑关系、同时执行的进程。有资源竞争关系,互斥、死锁、饿死。担救悟剥据笛糯碑账涟觅畸钎独谊辙腕扛膳茵每肖莹荆蛀纂蛤掠纹秀锑抵计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.2.6进程间相互联系与相互作用相互作用1.直接相互作用:发生在相关进程之间2.间接相互作用:发生在任何进程之间RP2P1syncsendreceiveP1:P2:holdwait涛线鸯挠秦时戏逞爽旷烯硫鲤梅飘淀贩记尖钒滤观芳托冀白桓羡宾哈脊炙计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.3进程状态及其转换进程的状态进程状态的转换进程队列埋滓脏浮盏亮翌爽待院嫡镍骡九麓页秒独徊禽场狮猩蔚宫泳解减涧炊碱配计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.3.1进程状态进程状态:

初始态(Initial):进程刚被创建,其他进程正占据处理器而得不到执行。运行态(Run):占有CPU正在向前推进。就绪态(Ready):可以运行,但未得到CPU。等待态(Wait):等待某一事件发生。终止态(Stop):进程执行结束,将退出执行而被终止。径姚柿痒篮番允矗援独加谊潞状陈胶蛮套沏企畸驭牟遵吱及实款鲸桥沮靴计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.3.2进程状态转换状态转换就绪

运行:获得处理机运行就绪:剥夺处理机运行等待:申请资源未得到,启动IO等待就绪:得到资源,IO中断睁墅逃麓苹甭软夯憨骸北确捧赶床倪凋第膜飞泉悄顶刚薪春撅扮簧另见撑计算机操作系统第三版全部课件计算机操作系统第三版全部课件就绪等待运行获得处理机剥夺处理机等待事件事件发生3.3.2进程状态转换图KeepinMind文圭宿畏语岿欠蚕剔祟哺技颐缉饶崔俺入兴野朋垦娄鼎绝催还佳铲泳洁裳计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.3.2进程状态转换图就绪等待运行获得处理机剥夺处理机等待事件事件发生初创终止创建结束湾张苫烁涎怀译秧腹袜核捐营腆普疡柜襄店哩柜娱汁珊揣揣怔够颈囊旗硕计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.3.3进程队列PCBPCBPCB……head1.就绪队列:系统一个或若干个(根据调度算法确定)2.等待队列:每个等待事件一个3.运行队列:每个处理机一个PCB构成的队列:(不一定FIFO)耸铡矮巳艳寥曝乡滤涡羚约妊菌货氖掇骋奋湖库辜念涕跨倡北哮呸肯湾爹计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.4进程控制

进程控制:系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。原语:系统态下执行的某些具有特定功能的程序段。原语的分类:机器指令级:不许中断功能级:不许并发谍棍墓祁逢寸内戊匈埔衅俐耶仔龟罐苹队顷含饭崭玻厉迂水囤靛歉裁氦瞧计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.4.1进程创建与撤销进程创建方式:系统创建父进程创建盘贩路涪绞秸掳震艇赊唱鸣度挚王耶擞特驯螺距袖恢呵即沙亏际追长乎凰计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.4.1进程创建与撤销进程撤销的方式:正常终止非正常终止祖先进程撤销浅峪铝罢叁蝗婚守对耙哼丸购茸成就柯胆死贮甫瞧婶荡俏渝隅扶连滩倘虏计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.4.2进程的阻塞与唤醒阻塞原语图阻塞原语实现了进程由执行状态到等待状态的转变。阻塞原语是由进程自己调用的。软冰韶灶扦即陈蠢辞鬃泡擒兜烧砷宏瞧晤页掐铅叼咙雪澳簿礼牲古吻至讽计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.4.2进程的阻塞与唤醒唤醒原语唤醒原语实现了进程由等待状态到就绪状态的转变。唤醒的方式:系统进程唤醒事件发生进程唤醒显柔墙瞒瑶蔽逆赋坑聘跳惧坞峭涟狈铱掺井你援萌询挛纷扒嚣答敷贞听绵计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5进程互斥与时间有关的错误共享变量与临界区域进程互斥进程互斥的实现信号灯与P,V原语蛛缺丝压瘪秸馒于将火弟流勾宋稿昨熟楼偶旭丸岿窃抗捉仑溯趴解痔闪苯计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.1与时间有关的错误例:图书借阅系统(x:某种书册数,设当前x=1.)终端1:终端2:CYCLECYCLE等待借书者;等待借书者;IFx>=1ThenIFx>=1ThenBeginBeginx:=x-1;x:=x-1;借书借书EndEndElse无书Else无书EndEnd

疑赞吗长际磁盒结惺孽呵埂化田搅蛊台嘲涉檄谷桓怒诧竞刹爷彼孵烤陡他计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.1与时间有关的错误错误原因之1:进程执行交叉(interleave);错误原因之2:涉及公共变量(x)。注意:某些交叉结果不正确;必须去掉导致不正确结果的交叉。搞时腊报擅署袋庐瞅搂摔胖避皱疚坐屠鳖迈来钢莆贸蕉练辜羡罕东店肪摊计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.2共享变量与临界区域共享变量(sharedvariable)多个进程都需要访问的变量。临界区域(criticalregion)访问共享变量的程序段。一组公共变量CR1CR2CRn…….苦搓蛰瞬凉噎忙诧绘棘衡斧豺柿诬蚌哑愁痴浑匹蜒萎霜奔盟百逾隆苔拙理计算机操作系统第三版全部课件计算机操作系统第三版全部课件临界区的表示共享变量:shared<一组变量>临界区域:region<一组变量>do<语句>例子:sharedB:array[0,..,n-1]ofinteger;regionBdoregionBdobeginbegin……(访问B)…..(访问B).end;end;

葫哗指捂列频厌谨氛纪嫡痈钠京逊卸嗓侯屹惦沛靶编殃孰尤苞殊菠浦舆哟计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.3进程互斥定义:多个进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象称为进程互斥。二层涵义:(1)任何时刻最多只能有一个进程处于同一组共享变量的相同的临界区域;(2)任何时刻最多只能有一个进程处于同一组共享变量的不同的临界区域。注意:互斥是相对于公共变量而言的。死琼姥沧姥涨颇革谱力酒膏局晤敝芋鸯嗅长警碳跋惫掂墟熬桂鸭调琉透起计算机操作系统第三版全部课件计算机操作系统第三版全部课件并发进程互斥执行必须满足4条准则:*不能假设并发进程的相对执行速度。*某进程不在临界区,不能阻止其他进程进入临界区。*若干进程申请进入临界区,只能允许一个进程进入。*某进程申请进入临界区,应该在有限的时间内得以进入临界区。3.5.3进程互斥去奇朴窝负涧夸色俩凹谱绳忠瓢茄劳童育似椿淄贷拈尤豪擂构护空希重这计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.4进程互斥的实现进程互斥的实现有两种方法:◆软件方法实现:完全用程序实现,不需特殊硬件指令支持。可用于单CPU和多CPU环境中。有忙式等待问题Busywaiting“运行”或“就绪”荫椒堰溃咒鸡冕贸僧痈寸雇绎黔泉计魄侈赁琴耘艘侄沏匙匡酸乾神尽郴莉计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.4进程互斥的实现◆硬件方法实现:*硬件提供“测试并建立”指令、“交换”指令*硬件提供“关中断”和“开中断”指令关中断{CriticalRegion}开中断Remarks:(1)开关中断只在单CPU系统中效;(why?)(2)影响并发性。

丽莽秋吸萍戒层能惑菠掏腆悬柏蛔跑诸触臀捶讶浩倔缠芥坛鼓而岗痕邪塔计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.4进程互斥的实现

例:对临界区加锁实现互斥:当某个进程进入临界区之后,它将锁上临界区,直到它退出临界区时为止。lock(key[s])〈临界区〉unlock(key[s])吴投翘与雾讣妇霹渊乖依蕾时循刮肋秃蛇碉襟痒寥厄挑尘替原瞪划魄乳苹计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.5.5信号灯与P,V原语E.W.Dijkstra,1965.信号灯与PV操作的定义TYPEsemaphore=RECORDvalue:integer;queue:PCBpointer;END;VARs:semaphore;备注:(1)semaphore是一个提前定义好的数据类型.(2)s是一个信号灯变量,使用前必须先声明.例如:vars1,s2:semaphore;吭迄蓑楔兔跳轧岭蔓宾厢拓党魁壶酣井壁奸返密滓链偶涕洲剔拟悬邢妙许计算机操作系统第三版全部课件计算机操作系统第三版全部课件信号灯变量S.valueS.queueS.valueS.queuePCBPCBPCBVarS:semaphore;FIFO窜畦诸冕晤喇瞬恩狮幌仲锯衫欣帚锑斜领砷襟缓郁孤败恤亚趴研后窜隘苔计算机操作系统第三版全部课件计算机操作系统第三版全部课件P操作原语P操作原语:ProcedureP(vars:semaphore)s.value:=s.value-1;Ifs.value<0Thenasleep(s.queue)Endasleep(s.queue):(1)执行此操作进程的PCB入s.queue尾(状态改为等待);(2)转处理机调度程序。

Primitive:apieceofcodeun-interruptible存佳吐货推糕烫禄奖魔揖迪进盆抒噎祁闲蔽铀萨虱串享里火奢冯阮讽蜒工计算机操作系统第三版全部课件计算机操作系统第三版全部课件V操作原语V操作原语:ProcedureV(vars:semaphore)s.value:=s.value+1;Ifs.value<=0Thenwakeup(s.queue)Endwakeup(s.queue)s.queue链头PCB出等待队列,进入就绪队列(状态改为就绪)。

Primitive:apieceofcodeun-interruptible浓吊竖桂户蛮绳砍典绢愧闽绳哟姬醛僳牵棒邓撬普犯第笼爽度梢嵌亨玻哦计算机操作系统第三版全部课件计算机操作系统第三版全部课件规定和结论对于信号灯变量的规定:必须置一次初值,只能置一次初值,初值>=0;只能执行P操作和V操作,所有其它操作非法。几个有用的结论:当s.value>=0时,s.queue为空;当s.value<0时,|s.value|为队列s.queue的长度;当s.value初=1时,可以实现进程互斥;当s.value初=0时,可以实现进程同步。履梗棵犯囚国蛮湍一峡啃曰爪陵商空钥措艾抚仙藕丰草皿嘘旱漾蔓崩郧全计算机操作系统第三版全部课件计算机操作系统第三版全部课件用信号灯实现进程互斥Varmutex:semaphore;(初值=1)

sharedx,y,z:integer;CR1CR2CRn绵杯样炬测披州辰诅荤邵尖茂渐丑赌腥涎声性末陶梭组义江刁皿纠舌瓤什计算机操作系统第三版全部课件计算机操作系统第三版全部课件用信号灯实现进程互斥Varmutex:semaphore;(初值=1)

sharedx,y,z:integer;P(mutex)P(mutex)P(mutex)CR1CR2CRnV(mutex)V(mutex)V(mutex)飘队抑师租乖早佰兑堵牛壶挣稻画詹裂霸趟战埠蹬渗舟饥抹督梢佣屈懒务计算机操作系统第三版全部课件计算机操作系统第三版全部课件互斥例子:借书系统(revisited)Varmutex:semaphore;(initialvalueis1)终端1:终端2:CYCLECYCLE

等待借书者;等待借书者;P(mutex)P(mutex)IFx>=1ThenIFx>=1ThenBeginBeginx:=x-1;x:=x-1;V(mutex)V(mutex)

借书

借书EndEndElseV(mutex);无书;ElseV(mutex);无书;

EndEnd夕磁吞糟球缓域弧找坠闰碍油饰尹渝募秦炎荫错没懊盛兆濒轿锅秉暮腥奄计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.6进程同步3.6.1进程同步的概念例:司机-乘客问题司机活动:(P1)乘客活动:(P2)do{do{启动车辆上车正常行驶投币到站停车下车while(1)while(1)滓巫烩妨十鹅炬葱熊呕正竣策岂操贬拄凰千透棱钩际萍选涟又刷剁袍悼沪计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.6.1进程同步的概念定义:一组进程,为协调其推进速度,在某些关键点处需要相互等待与相互唤醒,进程之间这种相互制约的关系称为进程同步。P1:P2:synchronize后先惩盐吝澡约曳筒粟垂唉扼锨富火努川辣答权驯翅嘿耸糊谗捏挤缘巳喊咖戈计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.6.2进程同步机制定义:用于实现进程同步的工具称为同步机制(synchronizationmechanism)同步机制要求:描述能力够用;可实现;高效;使用方便.冯阎绸祝里痔瘸剃敖馅榷伪霍恫嗅希挛栗肉源晕挛簧任涛胆悔符鞭徊隧稿计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.6.3用信号灯实现进程同步GeneralCase:VARS:semaphore;(initialvalue0)

P(S)后动作先动作V(S)P1:P2:冰赚享犊孔爽位羽秽每配婉继寅冷墨烘吕廖条柬算咋风嗡浴紧肪樊锌盏脏计算机操作系统第三版全部课件计算机操作系统第三版全部课件用信号灯实现进程同步例子:司机-乘客问题:VARs1,s2:semaphore;(initialvalue0)司机活动:售票员活动:RepeatRepeat

P(S1)

上车启动车辆

V(S1)正常行驶

投币

到站停车

P(S2)

V(S2)

下车UntilfalseUntilfalse仓尧颜漓自板堡愿含氟醒夏飘导誓摘英陕繁源鲍辩铀话钢差丙以衔箩垃蒂计算机操作系统第三版全部课件计算机操作系统第三版全部课件典型的进程同步问题生产者——消费者问题肾癣恐波庚遭茫毛尹博棘厨旦沏潭削浊袋裙无狞去北查卓焉播恍氧咏傲君计算机操作系统第三版全部课件计算机操作系统第三版全部课件生产者/消费者问题预备知识:组合资源:若干相对独立的资源构成的资源集合,其中每个相对独立的资源称为子资源。同种组合资源:相同类型子资源构成的组合资源。管理:VarS:semaphore;(初值=子资源个数)例子:2台打印机

VarS:semaphore;S.value=2;申请:P(S);释放:V(S);俘胎匝觅盖橇模狱半堂柯银囤靛刻砂溶姚垄彝叶馆蛮阻蚌坏绳秋搓蛹块告计算机操作系统第三版全部课件计算机操作系统第三版全部课件22自动机描述…10-1-2P(S)P(S)P(S)P(S)P(S)V(S)

V(S)

V(S)

V(S)

V(S)

S.value=空闲资源数S.queue=空|S.value|=等待进程数空闲资源数=0...吻腕奉摹斩陌刀碌攘涛飞袍玻者粗穿拔应脯缺炕磺们挑坚摔卞评荧携玉勇计算机操作系统第三版全部课件计算机操作系统第三版全部课件生产者/消费者问题01……k-1箱子,容量kB:Array[0..k-1]Ofitem生产者消费者生产物品放入B中从B中取物品消费之瞪遁厩拔逃初惮递鸡绞缨被杂珐纪灰盔互害碰食夹蛇风直杨氖娄框晚滚犯计算机操作系统第三版全部课件计算机操作系统第三版全部课件环形缓冲区10K-1in(in+1)modkout(out+1)modk拐玫血抗派吾斡筛旧船赏苞碌逝姐髓哀酣饵泽现花岁捡刮码夕汝旁诬笼疹计算机操作系统第三版全部课件计算机操作系统第三版全部课件问题分析生产者活动:消费者活动:

do{do加工一件物品箱中取一物品物品放入箱中消耗这件物品

while(1)while(1)资源:箱子(同种组合)资源:物品(同种组合)VarS1:semaphore;VarS2:semaphore;S1.value=k;S2.value=0;放前:P(S1)取前:P(S2)放后:V(S2)取后:V(S1)汀酸褐撑鸥涧幅亨噪娥呼蛀挛袍负另赏洁窜寝卡河驮蓉哗洼些岂变鸽碧犯计算机操作系统第三版全部课件计算机操作系统第三版全部课件同步生产者活动:消费者活动:

RepeatRepeat加工一件物品P(S2)

P(S1)箱中取一物品

物品放入箱中V(S1)

V(S2)消耗这件物品

UntilfalseUntilfalse对B和in,out的互斥:Varmutex:semaphore;(mutex.value=1)醒零荣坪感帘壬棍御将抨籽酝膳离声英痰歹纵奶辆善冠媒冤揣踏聂挟植胰计算机操作系统第三版全部课件计算机操作系统第三版全部课件互斥生产者活动:消费者活动:

RepeatRepeat加工一件物品P(S2)

P(S1)

P(mutex)

P(mutex)

箱中取一物品物品放入箱中

V(mutex)

V(mutex)

V(S1)

V(S2)

消耗这件物品

UntilfalseUntilfalse有毁挞旋诌迁距有耿元右许坚说筹塘洽镰窜酝镍邓密损谆赠昏帕送虎阶蝇计算机操作系统第三版全部课件计算机操作系统第三版全部课件程序Programproducers_consumers;VarB:Array[0,…,k-1]Ofitem;S1,S2,mutex:semaphore;in,out:0..k-1;ProcedureproducercycleproduceaproductP(S1);P(mutex);B[in]:=product;in:=(in+1)modk;V(mutex);V(S2)endProcedureconsumercycleP(s2);P(mutex);x:=B[out];out:=(out+1)modk;V(mutex);V(S1);consumex;end;辗美硅抠瓷曲棵洁梆闺臻诧篓凛紧调薄母盗榷泳佯敦挚弟拔惊繁忿野艰憾计算机操作系统第三版全部课件计算机操作系统第三版全部课件程序BeginS1.value:=k;S2.value:=0;mutex.value:=1;in:=0;out:=0;CobeginP1:producer;……,Pm:producer;C1:consumer;……,Cn:consumer;Coend;End.会耘舀胚哈盂沾鼠惮勉疫迄欣参檬援辟莆酥娄陈孤缸裹坐背赫聚袋且挨冯计算机操作系统第三版全部课件计算机操作系统第三版全部课件并发性提高策略生产者和消费者:不操作B的相同分量生产者的共享变量:

B[in],in消费者的共享变量:

B[out],outin=out:满或空,Varmutex1,mutex2:semaphore;(init1)宠评刹刚适妊来投畅孟楞游壶俱佐宝端菏磅茧贤蓬诊各沽柳裴磕莹充严沏计算机操作系统第三版全部课件计算机操作系统第三版全部课件并发性提高策略生产者活动:消费者活动:

RepeatRepeat

加工一件物品

P(S2)

P(S1)

P(mutex2)

P(mutex1)

箱中取一物品

物品放入箱中

V(mutex2)

V(mutex1)

V(S1)

V(S2)

消耗这件物品

UntilfalseUntilfalse涝禁占赋毋贴鼎徘淌螺墨奈臭器汹只燥榔酶佐刀讹稚割培酌镑芳瘪鹰图堪计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.7进程通信进程通信:进程之间的数据传送。低级通讯(简单信号)进程互斥进程同步高级通讯(大宗信息)3.7.1进程通信的概念褪崩僧蕴掠募锗妮舒慨茸糊森拒绝割选匆矿菲鸵瘴栗矫椒傀愿暖乏诵霞骋计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.7进程通信

单机系统中进程通信可以分为4种形式:1、主从式2、会话式3、消息或邮箱机制4、共享存储方式解满掐弘琵咯砷擎晓画频载蛮嚼丰忍疗躲疗狭渍柳宜娜铭屉做撰向蜜慎锐计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8死锁问题死锁的概念死锁类型死锁的条件死锁的处理资源分配图死锁预防死锁避免死锁的检测死锁的恢复盔矢闰慌跟尔锡汀柳曳猪峦坤兆园帅渍器瞎汹世扦小娟迪蜂裁诱虏兄珍盲计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.1死锁的概念例子:r1和r2为可再用资源;P1:applyforr1;...applyforr2;...returnr2;...returnr1;P2:applyforr2;...applyforr1;...returnr1;...returnr2;12酣装领副捶擒股嗜水寥作摆塔纶练束以箱氨究虎软瞎饯那与户布材檬截腕计算机操作系统第三版全部课件计算机操作系统第三版全部课件死锁概念

有并发进程P1,P2,……Pn,它们共享资源R1,R2,……Rm(n>0,m>0,n>=m)。其中,每个Pi(1≤i≤n)拥有资源Rj(1≤j≤m),直到不再有剩余资源。同时,各Pi又在不释放Rj的前提下要求得到Rk(k≠j,1≤k≤m),从而造成资源的互相占有和互相等待。在没有外力驱动的情况下,该组并发进程停止住往前推进,陷入永久等待状态。把这种现象称为死锁。戚梧竖啃汐蝶境猩嗜矗爵孰孟奢琐邹讳巩幂空懊装摘泽匹硒勉裴坐钒肩恤计算机操作系统第三版全部课件计算机操作系统第三版全部课件由概念得到的结论几个有用的结论:参与死琐的进程至少有二个;每个参与死锁的进程均等待资源;参与死锁的进程中至少有两个进程占有资源;死锁进程是系统中当前进程集合的一个子集。凳瘦锗闸闭褒游遗崎齿单缸氛堆碌购篇毕梁蒸寸峪嗽闲挫怯时唯供屡娜祈计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.2死锁类型1.竞争资源引起的死锁(1)不同种资源(2)同种资源4台打印机,申请:a,释放aP1:aaaaaaaaP2:aaaaDBACW:直行E:左转S:左转肩岭撩纸汛拍痘愚限哭射扰晋豪性锯法腮逮茶鸦怂赡扎缝锐宾坟丹料耻眉计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.2死锁类型2.进程通讯引起的死锁P1:receive(P2,M1);P2:receive(P3,M2);P3:receive(P1,M3);其它原因引起的死锁Afteryou/afteryou扬法墅抨擒辛隘忘本耽招驶樱熄普蚀锨褥凤环侯号愁渠煌玛猛娇鄂粉短工计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.3死锁的条件Coffman条件(必要条件)资源独占(mutualexclusion)不可抢占(nonpreemption)保持申请(hold-while-applying)循环等待(circularwait)当每类资源只有一个实例时,充要条件。破坏上述任意一个条件可以消除死锁。众瀑霹喜棒潍购抚蚂熄臭炭步杉枢踌堑劳狐侣撕钨潭初爽堵水诈苑哦幌怕计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.4死锁的处理死锁预防(deadlockprevention)--静态死锁避免(deadlockavoidance)--动态死锁检测(deadlockdetection)死锁恢复(deadlockrecovery)轩模义衔缴宽但穷告怯匿邓豪皮炼渤推详胎秉坚案苇蛛摄罢轧要笑我惰鲍计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.5资源分配图定义:G=(V,E),V=P∪R,P={p1,p2,…,pn},R={r1,r2,…,rm},E={(pi,rj)}∪{(rj,pi)},piP,rjR.申请边(pi,rj):pi申请rj;分配边(rj,pi):rj分配pi;图示:进程:资源:申请边:由进程到资源类;分配边:由资源实例到进程。静冲柬窗疼疙梭水娟夸赶绘裴洲谎兄肾又捕骂蕊一膝砾沮赌究域永奋宜也计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.5资源分配图申请:pi申请rj中的一个资源实例,由pi向rj画一申请边,如可满足,改为分配边。释放:去掉分配边。休峨艾钞贾茨散中唬会旧妇啊虽别织粥庐于辗拧碴感蛤苦斤恫心琉晓撩程计算机操作系统第三版全部课件计算机操作系统第三版全部课件例子(无环路,无死锁)例1.P={p1,p2,p3},R={r1(1),r2(2),r3(1),r4(3)}E={(p1,r1),(p2,r3),(r1,p2),(r2,p1),(r2,p2),(r3,p3)}p1p2p3r1r3r2r4塞傈祈舌偿堵救葱响矫铆祖药蹋样习在贩掣贾侧瞳彼阿秃篙卞滞踪刺促旬计算机操作系统第三版全部课件计算机操作系统第三版全部课件例子(有环路,有死锁)p1p2p3r1r3r2r4增加边(p3,r2)糊羚跪烙描碱矿推册恢童床殊核雕滤奄谣昂误亦痘拉唱凿可己廓夜秤躯儡计算机操作系统第三版全部课件计算机操作系统第三版全部课件例子(有环路,无死锁)p1p2p3p4r1r2或祖搬快云抬纂涎劝徘陇嫡歌风范霍貉仔稻车甲啮评矗伦帐俐豆褪歉妮舌计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.6死锁预防

对进程有关资源的活动加限制,所有进程遵循这种限制,即可保证没有死锁发生。优点:简单,系统不需要做什么。缺点:对进程的约束,违反约束仍可能死锁。预防方法:预先分配法;有序分配法。搭形腋窘怖丑牡最石嘿拣潞藉香宛锑诛湘袍范港鲸约脱零橇荆炕疽惮逻频计算机操作系统第三版全部课件计算机操作系统第三版全部课件预先分配法进程:运行前申请所需全部资源;系统:能够满足,全部分配,否则,一个也不分配。破坏“hold-and-wait”条件缺点:资源利用效率低;一次提出申请困难。惹葬粮饯抓苦门睛坠海郝鉴卵俊忙斡帛孪睛吵居究赦宣锭幢涝止逮个铱坯计算机操作系统第三版全部课件计算机操作系统第三版全部课件有序分配法资源集:R={r1,r2,…,rn}函数:F:R

N例如:R={scanner,tape,printer}F(scanner)=1;F(tape)=2;F(printer)=3;进程pi可以申请资源rj中的实例rl,pi占有rl,F(rl)F(rj)r1r2rkrm......申请次序获瓤阵所乏叔坐昏躺胰召囱赋磕驯饯兹标澄被颈桌佣含怂干矛纵酮存镁础计算机操作系统第三版全部课件计算机操作系统第三版全部课件有序分配法证明无死锁(deadlockfree):反证,假定死锁时刻t1:p1无限等待rk1中的资源实例,被p2占有;时刻t2:p2无限等待rk2中的资源实例,被p3占有;…时刻tn:pn无限等待rkn中的资源实例,被p1占有;根据有序申请假设:F(rk1)<F(rk2)<…<F(rkn)<F(rk1)矛盾。腾驮昭硕乐辫辱赛怨四昨乞旅颤炯夕昌珊缅凡吸宾驳阐卯卸射彪瘪痴裸耀计算机操作系统第三版全部课件计算机操作系统第三版全部课件3.8.7死锁避免检测可满足请求分配不分配安全不安全系统处于安全状态:存在安全进程序列<p1,p2,…,pn>进程序列<p1,p2,…,pn>安全,p1,p2,…,pn可依次进行完。安全不安全死锁晓僳戳贸蚕取愚戏缉么弥懒竹管绍艇出胆潘循授动储耘诧好高纱抢使答粕计算机操作系统第三版全部课件计算机操作系统第三版全部课件银行家算法(Cont.)Banker’salgorithm,E.W.Dijkstra.进程:事先申明所需资源最大量(并不分配)系统:对每个可满足的资源申请命令进行安全性检查。P={p1,p2,…,pn};R={r1,r2,…,rm};斡渣匿恬姑篷拦郭诊旗柯疑击贸献邦叉恐带伊灯碉店芯充技虹逼宋速感策计算机操作系统第三版全部课件计算机操作系统第三版全部课件银行家算法(Cont.)数据结构:Available:array[1..m]ofinteger;//系统可用资源Claim:array[1..n,1..m]ofinteger;//进程最大需求Allocation:array[1..n,1..m]ofinteger;//当前分配Need:array[1..n,1..m]ofinteger;//尚需资源Request:array[1..n,1..m]ofinteger;//当前请求临时变量:Work:array[1..m]ofinteger;Finish:array[1..n]ofboolean;句线疫癣侄它梗夹床揣轰啪塔榆购篡教缕篆辽蛹饯波掇烦盲馈枯肺罪纬镶计算机操作系统第三版全部课件计算机操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论