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

第3章 进程管理课程.ppt

  1. 1、本文档共267页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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.10 线程 本章小结 习题 3.1 进程的概念 现代操作系统的重要特点是程序的并发执行,及系统所拥有的资源被共享和系统的用户随机地使用。这三个特点是互相联系和互相依赖的,它们是互相独立的用户如何使用有限的计算机系统资源的反映。通常,操作系统的重要任务之一是使用户充分、有效地利用系统资源。采用一个什么样的概念,来描述计算机程序的执行过程和作为资源分配的基本单位才能充分反映操作系统的执行并发、资源共享及用户随机的特点呢?这个概念就是进程。为了讲清进程的概念,以及引入进程概念的必要性等,下面将从操作系统的特点讲起。 3.1.1 程序的并发执行 1. 程序的顺序执行 程序是一个在时间上按严格次序前后相继的操作序列,是一个静态的概念。程序体现了编程人员要求计算机完成所要求功能时所应该采取的顺序步骤。显然,一个程序只有经过执行才能得到最终结果,且一般用户在编写程序时不考虑在自己的程序执行过程中还有其他用户程序存在这一事实。另外,计算机 CPU是通过时序脉冲来控制顺序执行指令的。其执行过程可以描述为: Repeat IR ← M [pc] pc ← pc+1 〈 Execute (instruction in IR)〉 Until CPU halt 这里IR为指令寄存器,pc为程序计数器,M为存储器。显然,程序的顺序性与计算机硬件的顺序性是一致的。我们把一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。程序的顺序执行具有如下特点: (1) 顺序性 程序顺序执行时,其执行过程可看作一系列严格按程序规定的状态转移过程。 (2) 封闭性 程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。 (3) 可再现性 只要输入的初始条件相同,则无论何时重复执行该程序都会得到相同的结果。 2. 多道程序系统中程序执行环境的变化 在许多情况下,需要计算机能够同时处理多个具有独立功能的程序。批处理系统、分时系统、实时系统以及网络与分布式系统等都是这样的系统。这样的执行环境具有下述三个特点: (1) 独立性 每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。 (2) 随机性(异步性) 在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。 (3) 资源共享 资源共享将导致对进程执行速度的制约。 课堂思考与练习 设时刻0,在内存中有三个程序PG1、PG2、PG3,占用CPU的优先权为PG1最高,PG3最低;PG1在执行中A时刻要从磁盘上读入一批数据、PG2在执行中B时刻要打印一些结果;时刻C读盘结束、时刻D打印结束、E时刻PG1运行完成、F时刻PG2运行完成。试画出在操作系统的调度下三个程序的运行轨迹图。 3. 程序的并发执行 (1)什么是程序的并发执行 所谓并发执行,是为了增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。程序的并发执行可进一步分为两种:第一种是多道程序系统的程序执行环境变化所引起的多道程序的并发执行。由于资源的有限性,多道程序的并发执行总是伴随着资源的共享与竞争。从而制约各道程序的执行速度。而无法作到在微观上,也就是在指令级上的同时执行。因此,尽管多道程序的并发执行在宏观上是同时进行的,但在微观上仍是顺序执行的;第二种并发执行是在某道程序的几个程序段中(例如几个程序),包含着一部分可以同时执行或顺序颠倒执行的代码。例如语句: read (a) ; read (b) ; 它们既可以同时执行,也可颠倒次序执行。对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的处理能力。 程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。 程序的并发执行不同于程序的并行执行。程序的并行执行是指一组程序按独立的、异步的速度执行。并行执行不等于时间上的重叠。可以将并发执行过程描述为: S0 Cobegin P1;P2;... Pn Coend Sn 这里,S0,Sn分别表示并发程序段P1,P2,…,Pn开始执行前和并发执行结束后的语句。P1,P2,…,Pn也可以由同一程序段中的不同语句组成。1966年Bernstein(伯恩斯坦)提出了两相邻语句S1

文档评论(0)

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

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

1亿VIP精品文档

相关文档