第3章操作系统进程管理分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 进程管理 3.1 进程的概念 3.2 进程的描述 3.3 进程状态及其转换 3.4 进程控制 3.5 进程互斥 3.6 进程同步 3.7 进程通信 3.8 死锁问题 3.9 线程的概念 3.1 进程的概念 现代操作系统的重要特点 程序的并发执行 系统所拥有的资源被共享 系统的用户随机地使用。 引入进程(process)概念 3.1.1 程序的并发执行 1. 程序 程序是一个在时间上按严格次序前后相继的操作序列,是一个静态的概念。 2. 程序的顺序执行 特征: 顺序性、封闭性、可再现性 3. 多道程序系统中程序执行环境的变化 特点: (1) 独立性 每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。 (2) 随机性 在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。 (3) 资源共享 资源共享将导致对进程执行速度的制约。 3. 程序的并发执行(concurrent) (1) 概念 一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。 并发的类型 程序之间 程序段之间 并发执行时的特征 间断性、失去封闭性、不可再现性 (2) 程序的并发执行所带来的影响 间断性:程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,使在并发程序之间形成了相互制约的关系。相互制约将导致并发程序具有“执行-暂停-执行”这种间断性活动规律。 失去封闭性:程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。 不可再现性:程序在并发执行时,由于失去了封闭性,也将导致失去结果的可再现性。即程序经过多次运行,虽然其各次的环境和初始条件相同,但得到的结果却各不相同。 例:设有堆栈S,栈指针top,栈中存放内存中相应数据块地址(如图3.1(a))设有两个程序段getaddr(top)和reladdr(blk), 其中getaddr(top)从给定的top所指栈中取出相应的内存数据块地址, 而reladdr(blk)则将内存数据块地址blk放入堆栈S中。 getaddr(top)和reladdr(blk)可分别描述为: procedure getaddr(top) begin local r r ←(top) top ← top-1 return(r) end 说明问题:在某些情况下,程序的并发执行使得其执行结果不再具有封闭性和可再现性,且可能造成程序出现错误。 原因: 上例中的程序段并发执行出现错误结果是由于两程序段共享资源堆栈S,从而使得执行结果受执行速度影响。 结论: 并发执行的各程序段共享软、硬件资源?造成其执行结果受执行速度影响的局面。 采取措施: 操作系统用户随机性与各道程序逻辑独立的特点使得每个用户程序所使用的软、硬件资源都受到其他并发程序的共享和竞争,从而得到非预料的或不正确的结果。为了控制和协调各程序段执行过程中的软、硬件资源的共享和竞争,显然,必须应该有一个描述各程序段执行过程和共享资源的基本单位。 程序的顺序性、静态性以及孤立性 程序段执行的并发性、用户随机性,以及资源共享 用程序作为描述其执行过程以及共享资源的基本单位是不合适的。 引入 ? 进程(或任务)。 3.1.2 进程的定义 进程的概念是60年代初期,首先在MIT 的 Multics系统和IBM 的 TSS/360系统中引用的。 进程的定义: (1) 进程是可以并行执行的计算部分(S.E.Madnick,J.T.Donovan); (2) 进程是一个独立的可以调度的活动(E.Cohen,D.Jofferson); (3) 进程是一抽象实体,当它执行某个任务时,将要分配和释放各种资源(P.Denning); (4) 行为的规则叫程序,程序在处理机上执行时的活动称为进程(E.W.Dijkstra); (5) 一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽程度来描述进程(Brinch Hansen),等等。 总结进程:一个具有独立功能的程序对某个数据集在处理机上的执行过程和分配资源的基本单位。 这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容。 进程和程序的区别和关系: 进程是一个动态概念,而程序则是一个静态概念。 进程具有并行特征,而程序没有。 进程是竞争计算机系统资源的基本单位,从而其并行性受到系统自己的制约。 不同的进程可以包含同一程序,只要该程序所对应的数

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档