操作系统合工大刘晓平02

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Page1HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理Chapter2进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4管程2.5进程通信2.6线程Page2HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理本章学习目标•在多道程序环境下,程序不能独立运行。作为资源分配和独立运行的基本单位是进程。操作系统所有的特征都是基于进程而体现的。所以,本章的主要问题是:-进程的概念-进程的实体、状态及状态的演变-进程的控制与调度-进程之间的关系协调-进程的通信-线程Page3HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理2.1进程的基本概念•作业:人们提交给计算机处理的一个任务•程序:用汇编语言等编制而成的一组完整的、自包含的计算机指令、用来执行特定的任务。在低级语言中,程序是一组指令和有关的数据,其基本成份包括程序、子程序、协同程序、递归程序和模块。Page4HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理程序的顺序执行•在未配置OS的系统中,程序的执行方式是顺序执行,一个程序执行完了再执行下一个。•通常可以把应用程序分成若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行,仅当前一操作(程序段)执行完后,才能执行。S1:a:=x+y;S2:b:=a–5;S3:c:=b+1;•其中S2必须在S1后才能执行,同样S3只有在b被赋值后才能执行。Page5HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理程序的顺序执行(续)•程序顺序执行时的特征:顺序性:严格按照顺序执行;封闭性:程序在封闭条件下运行,一旦开始运行,结果不受外界影响;可再现性:只要执行环境和初始条件相同,分赴执行,结果相同。Page6HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理前驱图•前驱图是一个有向无环图,DAG图,用于描述进程之间执行的先后关系。•图中每个节点用于描述一个程序段或进程,乃至一条语句;结点之间的箭头表示两个节点之间存在的前驱关系。图中没有前驱的节点称为初始节点,没有后继的节点称为终止节点。图中存在偏序关系p={S1,S2,S3}-{(S1,S2),(S2,S3)}Page7HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理程序的并发执行•在多道程序环境下,允许程序并发运行。假设每道作业由输入程序Ii、计算程序Ci和打印程序Pi三部分组成,且Ii–〉Ci–〉Pi的偏序关系。每一个作业必须顺序执行这三个步骤。一般来说前一个程序输入之后开始计算,与此同时下一个程序开始输入。存在偏序关系Ii-Ci,Ii-Ii+1,Ci-Pi,Ci-Ci+1,Pi-Pi+1。在竖直方向的Ii+2–〉Ci+1–〉Pi三个可同时执行。Page8HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理程序的并发执行Page9HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理程序并发时的特征•间断性:并发执行的程序共享系统资源,为完成统一任务而合作,致使在他们之间形成了制约关系。例如C1和I2合作完成C2,若C1计算结束后I2还没结束则计算程序必须等待。程序始终“执行-暂停-执行”。•失去封闭性由于共享资源,运行中的一个程序必然会受到并发执行的其它程序影响。•不可再现性例,两个循环程序共享变量N,一个作N自加,一个作打印后N清零。二者以不同顺序进行,会出现不同结果。Page10HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的定义•在多道程序环境下,程序的并发执行代替了程序的顺序执行,程序的活动不再处于封闭系统中,从而出现了许多新特征。为此人们引入了新概念—进程。•进程的定义:在多道程序环境下有几种解释程序在处理机上的一次执行过程;可以和别的计算并行执行的计算;进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位;是一个具有一定功能的程序,是关于某个数据集合的一次运行活动。•总结为:“进程实体的运行过程,是系统进行资源分配和调度的独立单位”•例子:火车vs列车程序:火车(是静态的,车皮+火车头)进程:列车(动态的,时间、车次、始发地和目的地可变)Page11HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程在内存中的存在Page12HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的特点•动态性:是程序的一次执行过程,因而是动态的。•并发性:引入进程就是为了和其他程序并发执行,提高资源利用率。•独立性:能独立运行的基本单位,也是资源分配和调度的基本单位。•异步性:进程以各自独立的、不可预知的速度向前推进。Page13HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的分类•进程的分类:系统进程用户进程(系统进程优先于用户进程)Page14HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的状态转换•进程的状态:就绪状态:进程已经获得除处理机之外的所有资源,一旦获得处理机就可以立即执行;执行状态:一个进程已经获得了必要的资源,正在处理机上运行;阻塞状态:正在执行的进程,由于发生某事件而暂停无法继续执行,(如等待I/O、时间片到)•进程并非固定处于某种状态,其状态会随着自身的运行和和外界条件的变化而变化。Page15HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的状态转换(续)•从图中可以看出:当进程调度程序为处于就绪状态的进程分配了处理机后该进程便由就绪状态变为执行状态;正在执行的进程因等待发生某事件而无法继续执行时(例如进程提出I/O请求,等待I/O完成),该进程由执行状态变为就绪状态;处于阻塞状态的进程,当其等待的事件的发生时(如I/O完成),该进程由阻塞状态变为就绪状态;正在执行的进程,如因时间片用完而暂停,则该进程由执行状态变为就绪状态。•例子:4X1百米接力赛,运动员处于就绪状态,CPU就是接力棒,有它才能跑,运动员鞋子跑掉了或棒子掉了,就要暂停,阻塞。Page16HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程控制块-PCB•为了描述和记录进程的运行变化过程,并使之能正确运行,系统为每个进程建立一个进程控制块。从结构上看,每个进程由程序段、数据段和进程控制块三部分组成。进程控制块PCB,用于记录进程的属性特征,是操作系统中最重要的记录型数据结构。创建一个进程时为其建立PCB,进程控制块是进程存在的标志;进程运行时,系统通过PCB了解进程运行状态,并控制和管理进程;进程结束时,收回PCB,进程随之消亡。PCB通常有如下几项:进程优先级家族关系占有资源清单CPU现场保护区进程标识符进程当前状态进程队列指针程序和数据地址Page17HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程控制块-PCB(续)Page18HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程控制块-PCB(续2)•PCB组织:一个系统中通常会有数百至上千个PCB。PCB组织有链接方式和索引方式。提问:系统中执行队列长度,最小是几?最大是几?Page19HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理第2章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4管程2.5进程通信2.6线程Page20HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程控制•进程的创建•进程的终止•进程的阻塞和唤醒Page21HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的创建•进程图和进程创建:描述一个进程家族的有向树。子进程可以继承父进程所拥有的资源。撤销了父进程的同时也就撤销了其子进程。PCB中设置了家族关系表项。OS发现要建立新进程后,使用Creat()原语。申请空白PCB–〉分配资源-初始化PCB–〉将新进程插入就绪队列引起创建进程的事件:•用户登录•作业调度•提供服务:例如建立进程为用户提供打印服务•应用请求:程序自创建Page22HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的终止•引起终止的事件:•正常结束•异常结束•外界干预:操作员或OS干预;父进程请求;父进程终止Page23HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的终止(续)•进程终止的过程(1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。(3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。(4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。Page24HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理进程的阻塞与唤醒•引起进程阻塞和唤醒的事件•请求系统服务•启动某种操作•新数据尚未到达•由阻塞原语和唤醒原语实现。当一个进程期待的某一事件尚未出现时,该进程调用阻塞原语阻塞自己;对处于阻塞状态的进程,期待事件发生时,由发现者用唤醒原语唤醒,置于就绪状态。一般唤醒者和被唤醒者是合作的并发进程。Page25HefeiUniversityofTechnology,SchoolofComputerandInformationChapter2进程管理2.1进程的基本概念2.2进程控制2.3进程同步2

1 / 102
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功