网站大量收购独家精品文档,联系QQ:2885784924

进程描述及控制.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分 进程管理 为了提高计算机资源的利用率,采用多道程序设计技术,程序并发执行环境带来了结果不可再现性的问题。为此第二部分引入进程概念用以描述程序并发执行,进而深入分析进程的控制、同步、通讯和死锁等,用以解决程序并发执行带来的问题,使多道程序有效执行。并发性是操作系统最重要的特征,进程是操作系统最基本最重要的概念,进程管理是操作系统的重点和难点。 教学要求 熟悉进程引入的必要性;熟练掌握进程的定义和特征,熟练掌握进程的三个基本状态、状态的转换和状态转换的关系,熟练掌握进程存在的唯一实体--进程控制块,熟悉进程上下文。 了解线程的概念、引入线程的好处和线程的应用 。 熟悉进程间制约关系,掌握临界资源和临界区概念,掌握进程同步和进程同步机制,熟悉利用软件、硬件技术解决进程同步机制。 熟练掌握信号量机制(记录型信号量和wait、signal操作)的概念、定义和实质,熟练掌握利用信号量机制实现进程互斥和同步。掌握利用信号量解决生产者-消费者等经典同步问题,掌握进程同步分析方法。 掌握死锁的定义和产生死锁的原因,掌握死锁的四个必要条件;熟悉预防死锁的方法,熟练掌握银行家算法及其在死锁避免中的应用;掌握资源分配图的简化及其死锁定理,熟悉解除死锁的方法。 进程描述和控制 第 3 章 多道程序操作系统设计要求 操作系统必须交替执行多个进程,在合理的响应时间内使处理器的利用率最大化 操作系统系统必须按照特定的策略给进程分配资源,并需要避免死锁和饿死的情况 进程间需要进行正确的通信 为什么要引入进程的概念? 为了提高资源利用率,系统采用多道程序设计,程序执行环境由顺序执行变为并发执行。 由于程序在并发执行时,可能会造成执行结果的不可再现,所以用“程序”这个概念已无法描述程序的并发执行,所以必须引入新的概念---进程来描述程序的并发执行,并要对进程进行必要的管理,以保证进程在并发执行时结果可再现。 什么叫进程? 进程(Process)定义:“可并发执行的程序在一个数据集合上的运行过程”。 一段可执行的程序 计算机中正在运行的程序的一个实例 可以分配给处理器并由处理器执行的一个实体 由一个顺序的执行线程、一个当前的状态以及一组相关的系统资源所描述的活动单元 进程的特征 动态性:动态性是进程的最基本特征。它由创建而产生、由调度而执行,因得不到资源而暂停,并由撤消而死亡。而程序是静态的,它是存放在介质上一组有序指令的集合,无运动的含义。 并发性:并发性是进程的重要特征。并发性指多个进程实体同存于内存中,能在一段时间内同时运行。 独立性:进程是一个能独立运行的基本单位,即是一个独立获得资源和独立调度的单位 异步性:进程按各自独立的不可预知的速度向前推进,即进程按异步方式进行,正是这一特征,将导致程序执行的不可再现性,因此OS必须采用某种措施来限制各进程推进序列以保证各程序间正常协调运行。 结构特征:从结构上,进程实体由程序段、数据段和进程控制块三部分组成。 进程控制块( PCB) 包含描述进程的基本信息 标识符(Identifier ) 进程状态(State ) 优先级(Priority ) 程序计数器(Program counter ) 内存指针(Memory pointers ) 上下文数据(Context data ):指进程执行时处理器的寄存器中的数据。 I/O状态信息(I/O status information ) 统计信息(Accounting information ) 由操作系统创建并管理 进程运行轨迹(进程内各指令的执行序列) 两状态进程模型 系统中的进程处于两种状态之一: 运行态(Running) 未运行态(Not-running) 未运行态进程队列 进程创建 创建新进程时,操作系统需要建立管理该进程的数据结构(PCB),并在主存中给它分配地址空间。 进程终止 进程状态模型改进 未运行状态 就绪状态(Ready to execute) 阻塞状态(Blocked) 等待 I/O操作完成 如果使用单个未运行队列,分派程序不能只考虑选择队列中等待时间最久的进程,而是查找那些未被阻塞且在队列中等待时间最久的进程。 每次遍历队列需要花费大量的时间,如何解决? 采用两个不同的队列 五状态模型 运行(Running):占有CPU 就绪(Ready ):除了CPU,其它所需资源都已占有,一旦得到处理机即可运行,则称此进程处于就绪状态 阻塞(Blocked ):等待某些事件 新建(New ): 已经创建了PCB并保存在主存中,但程序代码和相关数据还没有读入主存 退出(Exit ) 五状态进程模型 进程状态的转换 就绪态――>运行态:当处理机空闲时,进程调度程序必将处理机分配给一个处于就绪态的进程 ,该进程便由就绪态转换为运行

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档