进程管理习题课.ppt
第2章 进程管理,进程是操作系统中非常重要的概念,进程管理是操作系统最为重要的功能之一。,第2章 进程管理,1,2.1 基本结构图,2,进程管理基本知识结构图(见下页),第2章 进程管理,第2章 进程管理,2.2 知识点,4,2.2.1 进程的概念,1程序的顺序执行我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。程序顺序执行时的特征为:顺序性、封闭性和可再现性。,第2章 进程管理,5,顺序性是指,程序执行时严格按照程序的语句或指令的顺序执行。封闭性是指,程序执行的结果只有程序本身才可以改变,而与其它外界因素无关。可再现性是指,只要输入的初始条件相同,则无论何时重复执行该程序,结果都是相同的。,第2章 进程管理,6,第2章 进程管理,2程序的并发执行所谓程序的并发性,是指多道程序在同一时间间隔内同时发生。,3进程的概念及特征(1)进程的概念,进程是操作系统中最基本、最重要的概念之一。进程可以如下定义:进程是程序的一次执行。进程是可以和别的进程并发执行的计算。进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。进程是动态的,有生命周期的活动。内核可以创建一个进程,最终将由内核终止该进程使其消亡。,7,第2章 进程管理,(2)进程与程序的区别,进程和程序是两个完全不同的概念,但又有密切的联系。,8,第2章 进程管理,9,第2章 进程管理,(3)进程的特征进程具有动态性、并发性、独立性、异步性及结构性的特征。4进程的状态及转换在操作系统中,进程通常至少有三种基本状态:就绪状态、执行状态和阻塞状态。,10,第2章 进程管理,2.2.2 进程的描述,1进程控制块进程实体通常就是由程序、数据集合和PCB这三部分构成,也称为“进程映象”。进程控制块(PCB)数据结构用来描述进程当前的状态、本身的特性等。进程控制块PCB是进程存在的惟一标志。当系统创建了一个新进程时,就为它建立一个PCB;当进程终止后,系统回收其PCB,该进程在系统中就不存在了。,11,第2章 进程管理,1进程的创建与终止系统创建一个进程的步骤如下:(1)申请空白PCB。(2)为新进程分配资源。(3)初始化进程控制块。(4)将新建进程插入就绪态队列。系统中发生了要求进程终止的事件后,操作系统便调用进程终止原语,终止该进程。,12,2.2.3 进程的控制,第2章 进程管理,2.2.4 进程的同步与互斥,1.临界资源2进程的同步与互斥3锁机制,13,第2章 进程管理,4信号量信号量(Semaphore),也叫做信号灯,它是一种数据结构,用于实现进程的同步和互斥。我们可以为每类临界资源设置一个信号量。信号量有多种类型的数据结构,如:整型信号量、记录型信号量、AND型信号量及信号量集等。,14,第2章 进程管理,2.2.5 进程通信,进程间的信息交换称为进程通信。wait(S)操作和signal(S)操作在各进程间进行的信息交换是信号量,因此是一种低级的通信方式。进程之间的高级通信方式有以下几种:1共享存储器机制2消息传递机制3管道通信机制4信号通信机制,15,第2章 进程管理,1线程的概念2线程的特点,16,2.2.6 线程,第2章 进程管理,2.3 例题解析,2.3.1 单项选择题:【例1】程序和进程是两个不同的概念,以下不能描述这个观点的是:。A程序指出了处理器执行操作的步骤,而进程是一个程序在一个数据集合上的一次执行。B同一个程序运行10次,产生的是同一个进程。C进程是动态的,是程序的执行过程。D多个不同的进程可以包含相同的程序。【解答】B,17,第2章 进程管理,【例2】一个进程是。A处理机一次或多次执行的一个程序。B一个独立的程序+数据集。CPCB结构与程序和数据的组合。D一个独立的程序。【解答】C,18,第2章 进程管理,【例3】为了描述进程的动态变化过程,采用了一个与进程相联系的,根据它而感知进程的存在及对进程进行控制。A进程状态字 B进程优先数C进程控制块 D进程起始地址【解答】C,19,第2章 进程管理,【例4】下述哪一个选项体现了原语的主要特点。A并发性。B异步性。C共享性。D不可中断的特性【解答】D,20,第2章 进程管理,【例5】一个正在访问临界资源的进程,由于申请等待I/O操作而被中断时,_。A可以允许其他进程进入与该进程相关的临界区。B不允许其他进程进入任何临界区。C可以允许其他就绪进程抢占处理器,继续运行。D不允许任何进程抢占处理器。【解答】C,21,第2章 进程管理,【例6】设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,且初始情况下没有进程进入该互斥段,则所采用的互斥信号量初值应是_。A5 B3 C1 D0【解答】B,22,第2章 进程管理,【例7】信箱通信是一种 通信方式。A直接通信 B间接通信 C低级通信 D信号量【解答】B,23,第2章 进程管理,【例8】进程的并发性是指_。A多个进程在同一系统按照规定的顺序执行。B多个进程在同一时刻同时发生。C各进程依次执行。D多个进程在同一时间间隔内同时发生。【解答】D,24,第2章 进程管理,1.进程从运行状态进入就绪状态的原因可能是()A.被选中占有处理机B.等待某一事件C.等待的事件已发生D.时间片用完D2.进程所请求的一次打印输出结束后,将使进程状态从()A、运行态变为就绪态 B、运行态变为等待态 C、就绪态变为运行态 D、等待态变为就绪态 D3进程在执行中状态会发生变化,不可能出现的状态变化情况是()A运行变为就绪 B运行变为等待C等待变为就绪 D等待变为运行D6若在一个单处理器的计算机系统中同时存在5个并发进程,则任何时刻允许占用处理器的进程数为()A至少1个 B最多1个C至少5个 D最多5个B,7.当()时,进程从执行状态转变为就绪状态。A进程被调度程序选中 B.时间片到C等待某一事件 D.等待的事件发生B8若信号量S的初值为2,当前值为-1,则表示有()等待进程。A0个 B.1个 C.2个 D.3个B9.在操作系统中,P、V操作是一种()。A.机器指令 B.系统调用命令 C.作业控制命令 D.低级进程通信原语D,2.3.2 填空题,【例1】在并发进程申请临界资源的操作时,首先将信号量S的信息量,如果_,则本进程的PCB插入阻塞态队列。【解答】减1,s0,27,第2章 进程管理,【例2】进程的执行并不是“一气呵成”,而是走走停停的,这种操作系统的特征称为进程的 _ 性。【解答】异步性【例3】进程的基本特征是、和。【解答】进程的基本特征是动态性、并发性、独立性、异步性及结构特征。【例4】信号量的的物理意义是当信号量值大于0时,表示;当信号量值小于0时,其绝对值表示_。【解答】系统中当前可用该类临界资源的数目;系统中因请求该类资源而被阻塞的进程的数目。,28,第2章 进程管理,【例5】进程是一个程序对某个数据集合的。【解答】一次执行过程。【例6】系统中各并发进程之间逻辑上的相互制约、相互协调的关系称为_。【解答】进程同步。,29,第2章 进程管理,【例8】引入线程的主要目的是。【解答】提高程序执行时的并发程度。,【例9】用信号量管理临界区时,任何一个进程在进入临界区之前调用 操作,退出临界区时应调用 操作。【解答】wait操作、signal操作。或P、V操作。,30,第2章 进程管理,1.进程是由程序、数据和()组成的。进程控制块2.对信号量S的访问只能通过()操作进行,其中()的物理意义相当于申请资源,()相当于释放资源。P、V P操作 V操作3.进程使用临界区的四个准则是()、()、()、()。有空让进 互斥进入 有限等待 让权等待4.某程序运行时经常需要打印中间结果。计算时,该进程处于()态,打印时处于()态,打印结束时进程处于()。运行 阻塞 就绪态,8.信号量代表某类资源的实体,当信号量大于0时,其物理意义是();当信号量的值小于0时,其物理意义是()。表示该类资源当前可用数量它的绝对值表示因请求使用该类资源而等待的进程数9.如果信号量的当前值为-4,则表示该系统在该信号量上有()个等待进程。4,1将多个计算问题同时装入一个计算机系统的主存储器并行执行,这种程序设计技术称为。【解答】多道程序设计2在层次结构的计算机操作系统中,是资源分配、调度和管理的最小单位。【解答】进程3 是保存进程状态,控制进程转换的标志,也是进程存在的唯一标志。【解答】进程控制块(PCB)4正在运行的进程,因等待某个事件的发生而暂停运行,此时处于 状态。【解答】等待,33,第2章 进程管理,5如果信号量的当前值为-4,则表示系统中在该信号量上有 个等待进程。【解答】46作业调度程序从处于 状态的队列中选取适当的作业调入内存运行。【解答】后备7进程主要由、部分内容组成。而 部分也可以为其他进程共享。【解答】程序段、数据段、PCB。程序段8在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有 个,最少有 个。【解答】4,0,34,第2章 进程管理,9将进程的 链接在一起就形成了进程队列。【解答】PCB10在多道程序系统中,进程之间存在着不同的制约关系,可以划分为两类:与。指进程间具有的一定逻辑及协作关系;指进程间在使用共享资源方面的约束关系。【解答】同步、互斥、同步、互斥11若一个进程已进入临界区,其它欲进入临界区的进程必须。【解答】等待12有M个进程共享同一临界资源,若使用信号量机制实现对资源的互斥访问,则该临界资源的信号量值的变化范围是。【解答】-M+1,1,35,第2章 进程管理,13用信箱实现通信时,应有 和 两条基本原语。【解答】发送、接收(或send、receive)14信箱逻辑上分成 和 两部分。中存放有关信箱的描述信息,由若干格子组成,每格存放一信件,格子的数目和大小在创建信箱时确定。【解答】信箱头、信箱体、信箱头、信箱体15如果系统中共有N个进程,则在就绪队列中进程的个数最多为。【解答】N-116在具有线程的操作系统中,资源的分配单位是,而处理机的调度单位是,一个进程可以有 线程。【解答】进程,线程,多个。,第2章 进程管理,36,2.4.3 综合题,第2章 进程管理,1并发进程间的制约有哪两种?引起制约的原因是什么?【解答】并发进程间的制约有直接制约和间接制约两种。直接制约是由相互合作完成同一项任务而产生的制约关系,是一种同步关系;间接制约是由共享资源而产生的制约关系,是一种互斥关系。,37,第2章 进程管理,38,1操作系统为什么要引入进程的概念?【解答】程序在并发执行方式下,运行时具有异步性的特征。这样,就需要一个数据结构PCB来记录程序的状态,以及控制其状态转换所需的一些信息。因此,将PCB、程序、数据三者组成一个完整的实体,就是进程实体。进程是程序的一次执行,引入进程的概念,便于操作系统对于程序的运行进行控制。,2试比较进程和程序的区别。【解答】进程和程序之间存在着密切的联系,但它们是两个完全不同的概念。它们之间的主要区别是:(1)程序是静态的概念,本身可以作为一种软件资源长期保存着;而进程则是程序的一次执行过程。它是动态的概念。(2)进程是一个能独立运行的单位,能与其它进程并发执行。进程是作为资源申请和调度单位存在的;而通常的程序是不能作为一个独立运行的单位而并发执行的。(3)程序和进程无一一对应的关系。一个程序可由多个进程共用;另一方面,一个进程在其活动中又可顺序地执行若干个程序。一个程序,运行一次,便创建了一个进程;同一个程序,若运行十次,就产生了十个进程。(4)各个进程在并发执行过程中会产生相互制约关系,造成各自前进速度的不可预测性。而程序本身是静态的,不存在这种异步特征。,第2章 进程管理,39,3程序并发执行,为什么会失去封闭性和可再现性?【解答】在程序并发执行的环境下,多个进程共享系统中的资源,这些资源是否被使用,及每一时刻由哪个进程使用,将由多个进程的相互作用而决定。这样,程序的执行就失去了封闭性。某个进程的执行必然受到其它进程的影响。由于进程在并发执行的过程中失去了封闭性,当下一次再运行该程序时,系统中存在的进程及各进程的状态都可能发生变化,导致进程的执行失去可再现性。4什么叫进程的并发性?试举一个进程并发执行的例子。【解答】多个进程在同一时间间隔内同时发生,叫做进程的并发性。例如:我们在Linux系统下使用编辑器vi进行编辑,而此时系统正在后台运行一个编译程序,此时,两个进程并发执行。,第2章 进程管理,40,5举一个例子,说明一个程序可能同时属于多个进程。【解答】例如:超市的收银系统。在每个终端上,收银员在运行收款程序,因此每个收银员都在执行一个进程。超市里同时有很多收款终端,同一个程序被并发执行多次,造成了多个进程并发执行。6试说明PCB的作用,为什么说PCB是进程存在的惟一标志?【解答】PCB的作用是:在一个在多道程序环境下,集中反映了一个进程的动态特征。在进程并发执行时,由于资源共享,带来各进程之间的相互制约。显然,为了反映这些制约关系和资源共享关系,必须使用PCB中的信息,才能对进程实施有效的管理和控制。PCB是进程实体的一部分,是操作系统中非常重要的数据结构,存放着进程所需的运行信息和控制信息,系统在创建进程时,首先创建PCB,然后通过PCB感知进程的存在,进程在被撤消时,PCB也随之被撤消。因此,PCB是进程存在的惟一标志。,第2章 进程管理,41,7说明进程由哪几部分构成?【解答】进程实体通常就是由程序、数据集合和PCB这三部分构成,也称为“进程映像”。8什么叫临界区?为什么进程在进入临界区之前,要先执行申请操作,离开临界区,要做释放操作?【解答】将每个进程中访问临界资源的那段代码称为临界区,因此也可以说:不能被多个进程同时进入的程序或数据区域叫做临界区。因为临界区不能由多个进程同时进入,因此,在进入临界区之前,要先执行申请操作,确保在没有其它进程进入的情况下,该进程才能进入该临界区;在离开临界区之前,要做释放操作,以便其它进程可以进入该临界区。,第2章 进程管理,42,9试说明进程的基本状态及转换的原因。10在创建一个进程时,所要做的工作有哪些?【解答】操作系统通过进程创建原语来创建一个进程。创建原语通过下述步骤创建一个进程:(1)申请空白PCB。(2)为新进程分配资源。(3)初始化进程控制块。(4)将新建进程插入就绪态队列。,第2章 进程管理,43,14进程的高级通信方式有哪几种?【解答】高级通信方式可分为三大类:共享存储器系统、消息传递系统和管道通信系统。在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区;消息传递系统中,进程间的数据交换以消息为单位,用户直接利用系统提供的一组通信原语来实现通信,消息传递系统可分为消息缓冲通信和信箱通信;管道通信通信的方法是,向管道提供输入的发送进程以字符流形式将大量的数据送入管道,而接受管道输出的接收进程可从管道中接收数据。,第2章 进程管理,44,15什么是线程?什么是多线程机制?引入它有什么好处?说明它与进程的主要区别。,第2章 进程管理,45,如下图所示,get程序负责人输入序列f中读取字符并送到缓冲区s中;copy程序把缓冲区s中的数据复制到缓冲区t中去;put程序从缓冲区t中取出数据打印。并且,缓冲区一次只允许一个程序操作。请用PV操作来实现这三个程序之间的同步与互斥关系。,设信号量empty1,empty2分别表示缓冲区s和t是否为空,初值为1;full1,full2表示缓冲区s和t是否有记录可供处理,初值为0。,END,第2章 进程管理,47,