操作系统课件第4章.pptx

操作系统课件第4章.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

操作系统课件第4章

目录contents进程管理进程同步与通信死锁及处理策略线程、多线程编程技术进程调度算法及评价总结回顾与拓展延伸

01进程管理

进程是操作系统中进行资源分配和调度的基本单位,是程序的执行过程。进程具有动态性、并发性、独立性、异步性等特征。进程与程序的区别:程序是静态的,进程是动态的;程序是永久的,进程是暂时的;进程更能真实地描述并发,而程序不能。进程概念及特征

进程的基本状态进程状态与转换就绪状态、执行状态、阻塞状态。进程状态的转换就绪-执行、执行-就绪、执行-阻塞、阻塞-就绪。中断、异常、系统调用等。引起进程状态转换的典型事件

PCB的组织方式线性方式、链接方式、索引方式。PCB的作用作为独立运行基本单位的标志;能实现间断性运行方式;提供进程管理所需要的信息;提供进程调度所必须的信息;实现与其他进程的同步与通信。进程控制块PCB

进程创建与终止引起创建进程的事件:用户登录、作业调度、提供服务、应用请求等。创建进程的步骤:申请空白PCB;为新进程分配资源;初始化PCB;将新进程插入就绪队列。引起进程终止的事件:正常结束、异常结束(越界错误、保护错误、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O故障)、外界干预(操作员或操作系统干预、父进程请求、父进程终止)。终止进程的步骤:根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;若被终止进程正处于执行状态,应立即终止该进程的执行,并设置调度标志为真,用于指示该进程被终止后应重新进行调度;若该进程还有子孙进程,还应将其所有子孙进程予以终止;将被终止进程所拥有的全部资源,或者归还给其父进程或系统,将被终止进程(PCB)从所在队列(或链表)中移出,等待其它程序来收集信息。

02进程同步与通信

让权等待当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。有限等待保证请求进入临界区的进程不会无限期地等待。空闲让进当无进程处于临界区时,允许一个请求进入临界区的进程立即进入。临界区问题的定义多个进程并发执行时,由于共享资源而导致的竞态条件问题。互斥条件确保同一时刻只有一个进程能够进入临界区。临界区问题与解决方法

信号量与PV操作信号量的定义一个整型变量,用于表示资源的数量或状态。P操作(Proberen,测试)申请资源,若资源可用则分配并继续执行;否则进程等待。V操作(Verhogen,增加)释放资源,唤醒等待该资源的进程。信号量的使用通过PV操作实现进程间的同步与互斥。

生产者-消费者问题使用信号量解决生产者和消费者之间的同步问题,确保生产者生产的产品能够被消费者正确消费。哲学家进餐问题通过合理分配资源和设置状态,避免哲学家们同时拿起左右两只筷子而导致的死锁问题。读者-写者问题允许多个读者同时读取数据,但只允许一个写者写入数据,确保数据的一致性和完整性。经典同步问题及其解法

在内存中开辟一块共享区域,不同进程可以通过对该区域的读写实现通信。需要注意同步与互斥问题。共享内存信号是一种简单的通信方式,用于通知接收进程某个事件已经发生;信号量则可用于实现更复杂的同步与互斥操作。信号和信号量进程间通过发送和接收消息进行通信。消息可以是有固定格式的数据结构,也可以是任意的字节流。消息传递管道是一种半双工的通信方式,数据只能单向流动,通常用于具有亲缘关系的进程之间的通信。管道通信进程通信方式及实现

03死锁及处理策略

死锁概念及产生条件死锁概念死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法向前推进。产生条件互斥条件、请求和保持条件、不剥夺条件、环路等待条件。

破坏环路等待条件对资源进行排序,要求进程按顺序申请资源,即每个进程只能按序申请资源,释放资源则遵循相反的顺序。破坏互斥条件允许进程同时访问某些资源。但是,有些资源是不能被多个进程同时访问的,这是由资源本身属性所决定的,因此,这种办法通常不可行。破坏请求和保持条件进程在运行前申请所有需要的资源,且仅当该进程所要资源均可满足时才给予一次性分配,这样能使进程在申请资源时不会持有任何资源。破坏不剥夺条件允许系统抢占已分配给进程的资源,但这种方式一般考虑进程优先级,通常优先级低的进程所拥有的资源会被优先级高的进程抢占。死锁预防方法

该算法用于分配资源之前预先判断系统是否处于安全状态,若是,才分配,否则不分配。银行家算法利用有向图描述系统资源和进程状态,通过检测有向图是否存在环路来判断系统是否处于死锁状态。资源分配图算法死锁避免算法

死锁检测通过定时运行死锁检测程序来判断系统是否发生死锁。具体方法可采用资源分配图算法或等待图算法。死锁恢复当检测到死锁时,需要采取措施来解除死锁。常见的解除死锁的方法有抢占资源和回滚操作。

文档评论(0)

131****1294 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档