第二章进程与线程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第二章进程与线程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 进程 线程 课件
- 资源描述:
-
1、第二章第二章 进程与线程进程与线程n现代操作系统在管理处理机资源时,在执行层面的基本单位是进程,即进程是独立运行和拥有资源的基本单位。而进程是随着现代操作系统必然遵循的多道程序设计技术的出现而提出的。n为此,本章首先从多道程序设计的角度引入进程概念;然后,围绕进程在内存的演变过程,逐步说明进程的控制、组织与通信,以对单个进程以及它们之间的相互作用有一整体性的了解;最后,由于线程是进程的一种发展与细化,线程的基本知识也在本章的最后给出了简单的阐述。2.1 多道程序设计与进程概念多道程序设计与进程概念2.1.1多道程序设计技术多道程序设计技术2.1.2程序的顺序执行与并发执行程序的顺序执行与并发执
2、行2.1.3进程的概念进程的概念2.1.4进程的特征进程的特征2.1.1多道程序设计技术多道程序设计技术多道程序设计的引入多道程序设计的引入n操作系统从单道方式发展到多道方式是一次巨大的飞跃。n在单道批处理操作系统中,内存中至多只有一个作业;从用户的角度来看,用户的一个程序从提交系统到最终完成的整个过程不会受到其它程序的任何影响;同时,多个程序在内存的执行是顺序的,即所有程序依次独占内存、处理机等资源执行。n而在多道批处理操作系统中,多个作业一次性装入到内存中。从系统管理的角度来看,内存中多个作业的执行是并发的。同时,各程序由于同时存在于内存中,它们之间必定会存在相互依赖、相互制约的关系。n显
3、然,相对于单道批处理系统,在多道批处理系统中,多个作业在内存中的工作过程的管理将更加困难。多道程序设计技术正是解决这一问题的专门技术。2.1.1多道程序设计技术多道程序设计技术n可以看出,在多道批处理操作系统中,从用户编写一个程序开始、可以看出,在多道批处理操作系统中,从用户编写一个程序开始、组织成作业的形式放在外存、一直到装入内存执行这样一个完整组织成作业的形式放在外存、一直到装入内存执行这样一个完整的过程中,程序在不同的阶段其组成和特性是各不相同的。的过程中,程序在不同的阶段其组成和特性是各不相同的。处理机用户1用户2用户n外存内存 作业提交 作业装入作业进程图2.1 程序、作业与进程2.
4、1.2程序的顺序执行与并发执行程序的顺序执行与并发执行 2.1.2.1前趋图n程序在单道运行方式和多道运行方式下,具有不同的执行次序。为准确描述多个程序之间的执行次序,采用图形工具是最自然的。n前趋图(Procedence Graph)就是用来描述程序执行先后次序关系的一个图形工具。n注意:前趋图中不可能存在循环。因此,前趋图一定是一个有向无循环图(DAG:Directed Acyclic Graph)。P1P3P2P4图2.2 前趋图示例2.1.2程序的顺序执行与并发执行程序的顺序执行与并发执行 2.1.2.2程序的顺序执行(一)(一)程序顺序执行过程程序顺序执行过程n在单道方式下,程序处在
5、一个顺序的执行环境中,多个程序在这一环境中是顺序执行的。顺序的执行环境意指:在计算机系统中,只有一个程序在运行;该程序独占系统中所有资源;其执行不受外界影响。P1P2P3Pn图2.3 程序的顺序执行过程2.1.2程序的顺序执行与并发执行程序的顺序执行与并发执行 2.1.2.2程序的顺序执行(二)(二)程序顺序执行的特征程序顺序执行的特征(1)程序执行的顺序性)程序执行的顺序性(Sequential)n程序依次分别装入内存;一个程序在内存中执行时,其它程序只能在外存等待。因为进入内存的唯一的一个程序独占处理机,所以该程序的各部分能够严格地按程序所确定的逻辑次序顺序地执行下去。(2)程序执行的封闭
6、性)程序执行的封闭性(Closeness)n在内存中的程序只有一个,该程序执行时独占全部系统资源;同时,程序在封闭的环境下运行,资源的状态除初始状态外,只有该程序才能改变它;所以,程序一旦开始运行,其执行结果不受外界因素的影响。(3)程序运行结果的确定性)程序运行结果的确定性(Recurrence)n程序运行的结果与程序的执行速度、执行时间与方式无关。只要程序执行时的环境和初始条件相同,当程序多次运行时,不论它的运行方式如何,是从头到尾连续执行,还是走走停停式地执行,都将获得相同的结果。也称程序运行结果的可再现性。2.1.2程序的顺序执行与并发执行程序的顺序执行与并发执行 2.1.2.3程序的
7、并发执行(一)(一)程序并发执行过程程序并发执行过程I1I2I3图2.4 程序的并发执行过程C1C2C32.1.2程序的顺序执行与并发执行程序的顺序执行与并发执行 2.1.2.3程序的并发执行(二)(二)程序并发执行的特征程序并发执行的特征(1)程序并发执行是间断性的)程序并发执行是间断性的n这就是并发执行的程序具有“执行-暂停-执行”的活动规律,它与程序执行的顺序性明显不同。(2)程序并发执行是开放性的)程序并发执行是开放性的n在并发环境下,程序的并发执行否定了封闭性,而体现出开放性的特征。n资源共享性n相互制约性n程序与执行不再一一对应(3)程序执行结果的可能不再现性)程序执行结果的可能不
8、再现性n显然,程序执行结果的可能不再现性是并发方式下的一个不良的后果,有必要引入专门的处理策略加以解决。2.1.2程序的顺序执行与并发执行程序的顺序执行与并发执行例如,现有两个循环程序P、Q。程序P每执行一次循环都要对变量n做加1操作;程序Q每隔一定时间打印变量n的值,然后将n清成0。显然P、Q共享一个变量n。int n=0;cobegin void P(void)while(TRUE)n=n+1;remainder of P;void Q(void)while(TRUE)print(n);n=0;remainder of Q;coend2.1.2程序的顺序执行与并发执行程序的顺序执行与并发执
9、行nP、Q这些不同的并发执行次序可能导致不同的结果:1)nn1在print(n)和n0之前,此时得到的n值分别为1,1,02)nn1在print(n)和n0之后,此时得到的n值分别为0,0,13)nn1在print(n)和n0之间,此时得到的n值分别为0,1,0n并发(并发(Concurrency)与并行()与并行(parallel)两个概念)两个概念的区别。的区别。n并行性是指多个程序真正各自占有处理机并同时运行,所以严格地说,它只会出现在多处理机系统中;n而并发是出现在单处理机系统中的概念,可以认为并发是“逻辑上并行、物理上串行”。2.1.3进程的概念进程的概念n本质上,进程是具有独立功能
10、的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。至今,人们提出了各式各样的进程定义,它们在实质上是一致的。例如:n进程是程序在内存的一次执行;n进程是可以并发执行的计算;n进程是一个抽象的实体,当它执行某个任务时,将要分配和释放各种资源;n进程是一个具有独立功能的程序,是对某个数据集在处理机上的执行过程和分配资源的基本单位;n进程是一个独立的可以调度的活动。n上述定义分别从不同的角度揭示了进程的本质。我们没有必要死记硬背这些定义,而应该关注于对进程概念本质的理解。n进程概念主要出现在Unix操作系统系列中,在Linux中将之称为任务(Task)。2.1.4进程特征进
11、程特征(1)动态性)动态性n动态性是进程最重要的一个特征。进程的动态性表现在它具有一定的生命周期性。即它“由创建而产生,由调度而执行,因得不到资源而阻塞,最后由撤销而消亡”;进一步,进程的“生”(产生)、“死”(消亡)只有一次,而在其生命期中间的“执行”、“阻塞”等状态可以多次反复。n与进程的动态性对应,程序是静态的,即程序只是始终存储在外存中的一个静态实体。(2)并发性)并发性n进程的并发性是指多个进程可以同时装入到内存,并能在一段时间内同时运行。引入进程的目的也正是为了使其程序能和其他进程的程序在内存中通过分时共享处理机等资源的方式,并发执行。n与进程的并发性对应,程序始终处于外存中,因此
12、没有并发的性质。2.1.4进程特征进程特征(3)独立性)独立性n进程的独立性是指进程是操作系统完成工作的基本单元。进程的独立性同时体现在如下几个方面:1)进程是一个能独立运行的基本单元。即只有进程才能作为一个独立的单元,去占有处理机运行;2)进程是申请、拥有系统资源的基本单位。即只有进程才能发出资源申请并拥有资源;3)进程是独立参与调度的基本单位。即在处理机空闲时,只有进程才能作为一个独立的单元去参与竞争并获得处理机资源。n与进程的独立性对应,而程序作为一个静态实体,既不可能去独立运行,也不可能去申请资源、拥有资源或参与调度。2.1.4进程特征进程特征(4)异步性)异步性n进程的异步性是指并发
13、的进程各自以其相对独立的、不可预知的速度向前推进。而程序既然没有动态执行,当然也就不存在异步性。在进程并发执行时,进程间的相互作用(包括直接作用和间接作用)导致了进程间的相互制约性,相互制约性导致了进程执行的间断性,间断性又导致了进程的异步性;正是异步性导致了进程执行的可能不再现性。n而程序既然没有动态执行,当然也就不存在异步性。(5)结构性)结构性n进程是一个在内存中的实体,遵循数据结构的规范,它必须要有自己的数据结构描述部分。n因此,从结构上看,每个进程除对应的程序段(对应程序的操作部分)、数据段(对应程序执行需要的数据部分)以外,还应该有一个自己的数据结构部分。这一数据结构称为进程控制块
14、(PCB:Process Controlling Block)。因此,进程的结构性是指进程是由程序段、数据段和PCB等组成的一个实体,有时也称为“进程映像”。n与进程的结构性对应,程序没有这种结构描述,它主要程序只是进程中的程序段一部分。2.2 进程的状态与转换进程的状态与转换2.2.1三状态模型及其转换三状态模型及其转换2.2.2五状态模型及其转换五状态模型及其转换2.2.3七状态模型及其转换七状态模型及其转换2.2.1三状态模型及其转换三状态模型及其转换(一)三种基本状态(一)三种基本状态(二)三种基本状态的转换(二)三种基本状态的转换就绪图2.5 进程的三种基本状态内存执行阻塞进程调度时
15、间片到完成I/O请求或等待事件I/O完成或事件发生2.2.2五状态模型及其转换五状态模型及其转换(一)五种基本状态(一)五种基本状态(二)五种基本状态的转换(二)五种基本状态的转换图2.6 进程的五种基本状态就绪内存执行阻塞进程调度时间片到完成I/O请求或等待事件I/O完成或事件发生新接收衰亡2.2.3七七状态模型及其转换状态模型及其转换(略)(略)(二)七种基本状态(二)七种基本状态(三)七种基本状态的转换(三)七种基本状态的转换图2.7 进程的七种基本状态就绪内存执行进程调度时间片到完成I/O请求或等待事件I/O完成或事件发生新接收衰亡阻塞就 绪挂起I/O完成或事件发生阻 塞挂起挂起挂起激
展开阅读全文