操作系统教程linux实例分析孟庆昌第2章进程

操作系统教程linux实例分析孟庆昌第2章进程

ID:26739765

大小:2.12 MB

页数:167页

时间:2018-11-28

操作系统教程linux实例分析孟庆昌第2章进程_第1页
操作系统教程linux实例分析孟庆昌第2章进程_第2页
操作系统教程linux实例分析孟庆昌第2章进程_第3页
操作系统教程linux实例分析孟庆昌第2章进程_第4页
操作系统教程linux实例分析孟庆昌第2章进程_第5页
资源描述:

《操作系统教程linux实例分析孟庆昌第2章进程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章进程管理2.1进程概念2.2线程2.3进程管理2.4进程间通信2.5经典进程同步问题2.6管程2.7进程通信2.8Linux进程管理习题2.1进程概念2.1.1程序的顺序执行顺序程序活动有三个主要特点:(1)程序所规定的动作在机器上严格地按顺序执行。(2)只有程序本身的动作才能改变程序的运行环境。(3)程序的执行结果与程序运行的速度无关。图2-1列出了几个典型的顺序程序的示意图。其中图(a)最简单,一条条指令顺次做下去;图(b)表示程序代码中出现循环的情况;图(c)表示A程序在执行过程中调用B程序,B运行完,返回A,

2、继续执行A的情况。图2-1顺序程序示意图2.1.2程序的并发执行和资源共享多道程序设计是指两个或更多个程序同时在系统中存在并且运行。这时的工作环境与单道程序(仅一个)的运行条件相比,大不相同。首先,每个用户程序都需要一定的资源,如内存、设备、CPU时间等,因此系统中的软、硬件资源不再是单个程序独占,而是由几道程序所共享。这样,共享资源的状态就由多道程序的活动共同决定,从而打破了单道程序“闭关自守”的局面。图2-2非多道技术下作业执行过程采用多道程序技术来执行同样的作业A和B,就能大大改进系统性能,如图2-3所示。作业A先运

3、行,它运行一秒后等待输入,此时让B运行;B运行一秒后等待输入,此时恰好A输入完,可以运行了……就这样在CPU上交替地运行A和B。在这种理想的情况下,CPU不空转,其使用率升至百分之百,并且吞吐量也随之增加了。图2-3多道技术下作业执行过程2.1.3程序并发执行的特性资源共享和程序的并发执行使得系统的工作情况变得非常复杂,带来一系列新的问题,特别表现在各种程序活动的相互依赖和制约关系方面。我们分析一下图2-4中几个程序并发执行的情况。图2-4并发程序的执行(a)并发执行的程序;(b)并发程序的关系;(c)有制约关系的并发程

4、序通过上述三个例子的分析,可以得出并发程序的三个主要特征:(1)没有封闭性。有共享公共变量时,其执行结果不可再现,就是说,结果与相关的并发程序的相对速度有关。(2)程序与计算不再一一对应。“程序”是指令的有序集合,是“静态”的概念。(3)并发程序在执行期间可以互相制约。2.1.4进程概念的引入和描述“进程”是操作系统的最基本、最重要的概念之一。引进这个概念对于理解、描述和设计操作系统都具有极其重要的意义。但是迄今为止,对这个概念还没有形成统一的定义,都是从不同的角度来描述它的各个基本特征。下面列举出比较能反映进程实质的几种

5、定义:(1)进程(或任务)是可以和别的计算并发执行的计算。(2)进程是程序的一次执行,是在给定内存区域中的一组指令序列的执行过程。(3)所谓进程,简单说来就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。(4)进程可定义为一个数据结构和能在其上进行操作的一个程序。(5)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程和程序是两个不同的概念,但又有密切的联系。它们之间的主要区别是:(1)程序是静态概念,本身可以作为一种软件资源长期保存着;而进程则是程序的一次执行过程,它是动

6、态概念,有一定的生命期,是动态地产生和消亡的。(2)进程是一个能独立运行的单位,能与其他进程并发执行,进程是作为资源申请和调度单位存在的;而通常的程序段是不能作为一个独立运行的单位的。(3)程序和进程无一一对应关系。一个程序可由多个进程共用;另一方面,一个进程在其活动中又可顺序地执行若干个程序。(4)各个进程在并发执行过程中会产生相互制约关系,造成各自前进速度的不可预测性。而程序本身是静态的,不存在这种异步特征。表2-1列出了进程和程序之间的主要区别。表2-1进程和程序的对比2.1.5进程的状态及其变迁进程是一个程序的执行

7、过程,有着走走停停的活动规律。进程的动态性质是由其状态变化决定的。如果一个事物始终处于一种状态,那么它就不再是活动的,就没有生命力了。通常在操作系统中,进程至少要有三种基本状态,这些状态是处理机挑选进程运行的主要因素,所以又称之为进程控制状态。这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。如图2-5所示。图2-5进程状态及其变化在很多操作系统中,又添加了两种基本状态:创建态和终止态。创建态是指新进程正被创建时的状态,当创建工作完成后它就进入到就绪态。终止态是指进程正常或非正常终止时所处的状态,它的必然结局是从系统中

8、消失。上述五种进程状态及其变迁情况如图2-6所示。图2-6进程的五种基本状态2.1.6进程的组成进程的活动是通过在CPU上执行一系列程序和对相应数据进行操作来体现的,因此程序和它操作的数据是进程存在的实体。但这二者仅是静态的文本,没有反映出其动态特性。为此,还需要有一个数据结构,用来描述进程当前的状态、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。