第2章 进程管理分析.ppt

  1. 1、本文档共197页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 进程管理 (处理机管理) 进程的定义; 进程的结构特征; 进程控制块的作用; 进程同步的概念 信号量机制; 经典进程的同步问题; 进程通信的类型 什么是线程及为什么要引入线程 进程同步机制及其应用 前驱图说明 1)程序顺序执行、并发执行均可用前驱图表示; 2)在前驱图中 2结点之间若有--,则必须按此顺序执行; 2结点之间无 --,则既可以顺序执行也可以并发执行。 CPU利用率= 40/80 = 50% DEV1利用率= 15/80=18.75% DEV2利用率= 25/80=31.25% (2)A、B并发执行: 结论:并发是提高资源利用率的好方法,从而提高系统吞吐量,所以程序尽量并发执行。 1)串行是顺序执行; 2)并发是交叉使用设备; 3)并行使用多个处理机---更快。 程序、作业和进程 现代操作系统把进程管理归纳为:“程序”成为“作业”进而成为“进程”,并被按照一定规则进行调度。用程序、作业和进程这几个术语定义了计算机工作过程的不同状态。 程序是静止的 作业(Job)是程序的另一个状态,是指程序从被选中运行直到运行结束的整个过程。 例如,打开IE浏览器程序登录Web网站,浏览网页,最后关闭IE浏览器,在这个过程中,IE浏览器程序就成为了作业。 显然,所有作业都是程序,但不是所有程序都是作业。 当一个作业被选中后进入内存运行,这个作业就成为进程。 所有进程都是作业,但不是所有的作业都是进程。正在运行的程序才是进程。 作业是介于程序和进程之间的一种状态 举例说明三者的关系 一个电台的访谈节目,可以接听听众的电话 收听电台节目的人是“程序”,等待和主持人交流的听众是“作业”,正在与主持人谈话的听众是“进程”。 进程转换 1)就绪 -- 执行 -------调度程序选择一个新的进程运行。 2)执行 -- 就绪(产生中断) 执行进程用完了时间片; 执行进程被中断,因为一高优先级进程处于就绪状态; 有一个更短的作业到来。 进程转换 3)执行 -- 阻塞 当一进程必须等待时 OS尚未完成服务 对一资源的访问尚不能进行 初始化I/O 且必须等待结果 等待某一进程提供输入 (IPC) 4)阻塞 -- 就绪 当所阻塞的事件发生时 图2-12 进程的4状态转换 状态转换 (中级调度) 活动阻塞 --静止阻塞 静止阻塞 -- 活动阻塞 静止就绪--活动就绪 当内存中没有就绪进程时 活动就绪--静止就绪 (较少见) 当没有被阻塞的进程,而为了性能上的考虑,必须释放一些内存时。 图2-13 进程的5状态转换模型 图2-14 进程的7状态转换模型 3.PCB的组织方式 PCB表:系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表。 PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度(注:多道程序中的多道与系统并发度不同) PCB表组织成进程队列:不同状态进程分别组成队列。如:运行队列、就绪队列、等待队列等。 PCB的组织方式 1)线性方式 :进程较少适用。 2)索引方式:对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的地址。 3)链接方式 索引方式、链接方式---进程较多适用 原 语 是由若干条指令组成的,是用于完成一定功能的一个过程。 原语是原子操作:一个操作中的所有动作要么全做,要么全不做。(操作不可中断) 原子操作在系统态下执行,常驻内存。 原语的作用是为了实现进程的通信和控制,系统对进程的控制如不使用原语会造成其状态的不确定性,达不到进程控制的目的。 注意: 1)子进程可以继承父进程的所有资源。 2)根进程是由引导进程创建的。 3)撤销父进程时必须回收资源,否则子进程游离不可控,引起资源浪费,太多子进程游离会引起死锁。 本节主要内容: 2.3.1 进程同步的基本概念 2.3.2 信号量机制 2.3.3 信号量的应用 2.3.4 管程机制 概 述 首先回顾进程的一个特征:异步性(每个进程按照各自的速度向前推进) 并发进程的异步性会使得进程的执行结果具有不可再现性 解决的机制:进程同步 实例1 某储户分别使用银行卡和存折同时在ATM和柜台办理两笔存款业务,银行卡存2000元,ATM存1000元; 该储户账户原有5000元; 由两个进程负责办理这两笔业务,分别将余额修改为7000(5000+2000)和6000(5000+1000); 最后,储户的账户余额可能是7000,也可能是6000(看哪个执行的慢),显然不正确(正确余额应该为8000),储户吃亏; 如果是取钱呢? 其原因是两个进程同时修改同一数据,而没有进行有效控制; 正确的做法:一次仅允许一个进程完成读数据和修改数据(储户账户作为临界资源) 1. 两种形式的制约关

文档评论(0)

风凰传奇 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档