- 1、本文档共163页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]LGY_OS02进程管理
第二章 进程管理 赖国勇 攀枝花学院 计算机学院 第二章 进程管理_目录 2.1 多道程序设计 2.2 进程* 2.3 进程控制* 2.4 进程间的相互作用(互斥与同步)* 2.5 进程通信 2.6 线程 本章内容要求 教学内容:进程、线程的基本概念,进程状态,进程控制,进程同步和互斥,进程通信等。 教学要求: 1、了解:经典进程同步问题,进程通信方式,线程的类型、特征、创建和终止。 2、理解:前趋图,引入进程的原因,进程控制块的作用,信号量的物理意义,用信号量实现互斥与同步(P、V操作),引入线程的原因。 3、掌握:进程的定义与特征,进程与程序的异同,进程基本状态变化,临界资源,临界区,同步机制应遵循的原则。 本章重点难点 重点:进程基本状态转换,用信号量实现互斥与同步(P、V操作),经典进程同步算法。 难点:进程基本状态转换,用信号量实现互斥与同步(P、V操作),经典进程同步算法。 前趋图 (Precedence Graph) 前趋图是一个有向无循环图,记为DRA (Directed A cyclic Graph ) 前趋图用来描述程序各部分间的依赖关系或一个大的计算各子部分间的因果关系。 前趋图中的元素 结 点:表示一个语句、程序段、进程。 有向边: 表示结点间的偏序关系(前趋关系) →={(Pi , Pj)|Pi must complete before Pj may start} 若(Pi , Pj) ∈→,可写成 Pi →Pj,称 Pi是 Pj的直接前趋,而 Pj是Pi的直接后继。 初始结点:没有前趋的节点 。 终止结点:没有后继的结点。 ?注意:前趋图中必须不存在循环。 图2.0-1 前趋图示例 2.1 多道程序设计 2.1.1 顺序程序 2.1.2 并发程序 2.1.3 多道程序设计 2.1.4 与时间有关的错误 2.1.1 顺序程序 程序:指令或语句序列,体现了某种算法,所有程序是顺序的。 顺序环境:在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。 程序顺序执行:程序在执行时,必须按照某个先后顺序执行,仅当前一操作执行完后,才能执行其后继操作。 顺序程序特征 1、顺序性:按照程序结构所指定的次序。(可能有分支或循环) 2、封闭性 独占资源,执行过程中不受外界影响,计算机的状态只由于该程序的控制逻辑所决定。 3、确定性 4、可再现性 程序运行结果与程序执行速度无关,只要初始状态相同,结果应相同。 2.1.2 并发程序 并发环境: 在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的。 引入并发的目的: 引入并发是为了提高资源利用率,从而提高系统效率。 并发与并行概念的区别:(参第一章幻灯片) 程序并发执行的条件 设:读集R(pi)={a1,a2,a3,…….am}:表示程序pi在执行期间所需参考的所有变量的集合。 写集W(pi)={b1,b2,b3,…….bn}:表示程序pi在执行期间要改变的所有变量的集合。 当两个程序p1和p2具有如下条件时,便能并发执行,且具有可再现性: R(p1)∩W(p2) ∪R(p2) ∩W(p1) ∪W(p1) ∩W(p2)={}该条件也称为Bernstein条件。 前两条保证一个程序的两次读之间数据不变化;最后一条保证写的结果不丢掉。 并发程序特征1-2 (1)不可再现性 并发程序执行的结果与其执行的相对速度有关,是不确定的。 (2)间断性: 执行——停——执行 并发程序特征3-5 (3)资源共享 系统中资源被多个进程使用。 (4)独立性和制约性。 独立的相对速度、起始时间。 进程之间可相互作用(相互制约)可分为直接作用和间接作用。 (5)程序和计算不再一一对应 (计算:一个程序的执行) 图2.1-3 顺序环境例 在顺序环境下 CPU利用率= 40/80 = 50% DEV1利用率= 10/80 = 12.5% DEV2利用率= 30/80 = 37.5% 图2.1-4 并发环境例 在并发环境下 CPU利用率 = 40/45 = 89% DEV1利用率 = 10/45 = 22.22% DEV2利用率 = 30/45 = 66.66% 2.1.3 多道程序设计Multipro gramming 多道程序设计是指允许多个程序同时进入内存并运行。 (引入目的是为了提高系统效率) 与并发不完全是一个概念,但效果相似。 图2.1-5 单道和多道程序运行情况 考虑因素 在多道程序环境下如何向用户提供服务。 在并发程序之间如何正确传递消息(通讯) 如何对CPU进行调度,保证每个用户相对公平地得到CPU。 CPU是一个只可调度,不可分配的资源。 如
文档评论(0)