第3章并发进程
第3章死锁习题及答案
第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。
2.死锁产生的原因是①和②。
【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。
由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。
而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。
所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。
3.产生死锁的四个必要条件是①、②、③、④。
【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。
非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。
占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。
信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。
信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。
信号量的值只能由P-V原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
第三章 进程 习题
G,若系统中并发运行的进程和资源之间满足互斥使用,保持和等待,非剥夺性和循环等待,则可判定系统中发生了死锁;
H,在对付死锁的策略中,解除死锁通常都是和检测死锁配套使用;
I,产生死锁的原因可归结为竞争资源和进程推进顺序不当;
J,在死锁的解决方法中,由于避免死锁采用静态分配资源策略,所以对资源的利用率不高.
如果某一进程获得除CPU外的所有所需运行资源,经调度,分配给它CPU,该进程将进入( ).
A,就绪状态B,运行状态
C,等待状态D,活动状态
如果某一进程在运行时,因某种原因暂停,此时将脱离运行状态,而进入( ).
A,自由状态B,停止状态
C,等待状态D,静止状态
进程从运行状态变为等待状态的原因是( ).
A,共享资源B,临界区
C,临界资源D,共享区
答案-1:C
临界区是指( ).
A,并发进程中用于实现进程互斥的程序段
B,并发程序中用于实现进程同步的程序段
C,并发程序中用于实现进程通信的程序段
D,并发程序中与共享变量有关的程序段
答案-6:D
进程是( ).
A,与程序等效的概念B,并发环境中程序的执行过程
C,一个系统软件D,存放在内存中的程序
在进程通信中,使用信箱方式交换信息的是( ).
A,低级通信B,高级通信C,共享存储器通信D,管道通信
答案:B(普通)
关于进程,下列叙述不正确的是( ).
A,进程包含了数据和运行其上的程序
B,同一个程序运行在不同的数据集合上时,构成了不同的进程
C,一个被创建了的进程,在它消亡之前,总是处于3种基本状态之一
(×)2,具有多道功能的操作系统一定是多用户操作系统.
第3章处理机调度与死锁-选择题
第3章处理机调度与死锁(处理机调度)-选择题1.时间片轮转调度算法是为了()A.多个用户能及时干预系统B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器多进程系统中,进程什么时候占用处理器及决定占用时间的长短是由()决定的A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中,不正确的是()A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道式运行,则平均周转时间为()A.1hB.5hC.2.5hD.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()A.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A.T1+T2+T3B.(3T1+2T2+T3)/3C.(T1+T2+T3)/3D.(T1+2T2+3T3)/39.设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J210. 【2013统考真题】某系统正在执行三个进程P1、P2和P3,各进程的计算(CPU时间和I/O 时间比例如下表所示进程计算时间I/O时间P1 90% 10%P2 50% 50%P3 15% 85%提高系统资源利用率,合理的进程优先级设置应为()A.P1>P2>P3B. P3>P2>P1C. P2>P1=P3D. P1>P2=P311.采用时间片轮转调度算法分配CPU时,当处于运行态的进程完一个时间片后,它的状态是()状态A.阻塞B.运行C.就绪D.消亡12.一个作业8:00到达系统,估计运行时间为1h。
进程管理
{
Flag[i]=FALSE;
}
process i;/*i-0 or i=1*/
……………..
Enter-crtsec(i);/*进入临界区*/
IN CRTICAL SECTION
Leave-crtsec(i);/*离开临界区*/
……………
【解答】
一次仅允许一个进程使用的资源称为临界资源,在进程中对于临界资源访问的程序段称为临界区。从概念上讲,系统中各进程在逻辑上是独立的,他们可以按各自独问题的共行进程,它们之间必须互相排斥,以保证不会同时进入临界区。这种算法是不安全的。因为,在进入临界区的操作Enter-crtsec( )不是一个原子操作,如果两个进程同时执行完其循环(此前两个flag均为FALSE),则这两个进程可以同时进入临界区。
分析:本题的第一部分是检查考生对基本概念的记忆与理解,在本题的分数中占的比较小,是解答本题的基础。题目的第二部分时一个典型的生产者—消费者问题,其中的难点在于PB既是生产者优势消费者,处理不好可能造成同步错误或死锁。
【解答】
P、V操作可用下面的伪码进行描述:
PROCEDUREP(S)
BEGIN
Lock out interrupts;
(3)一个进程可以执行一个或几个程序;反之,同一个程序可能由几个进程同时执行。
(4)进程具有并发性,它能真实地描述并发执行的活动,而程序不具备这种特征。
(5)进程具有创建其它进程的功能,程序不具备这种功能。
(6)进程是一个独立的运行单位,也是系统进行资源分配和调度的一个独立单位
3操作系统中为什么引入进程?
4.唤醒原语(active primitive)
当阻塞队列中的进程等待的事件发生时,都必须调用唤醒原语,以便把等待进程从阻塞中解脱出来获得重新参加调度的资格。
第3章 进程控制
UNIX 进 程 描 述
§5 什么是进程(Process、Task)
四 、
例2:当进行中断处理和系统调用时,都将涉及进程上下 文的保存和恢复,此时系统所保存和恢复的是 的上 下文。 A.系统进程 C.不同进程 B.同一个进程 D.其它进程 。
UNIX 进 程 描 述
例3:进程上下文包括如下各项,除了 A.用户打开文件表 C.中断向量 B.PCB D.核心栈
§4 Bernstein条件
例2:已知求值公式(A2+3B)/(B+5A),若A、B已赋值,试画出 该公式求值过程的前趋图。 分析: S1: x1=A*A S2: x2=3*B S3: x3=5*A S4: x4=x1+x2
S5: x5=B+x3 S6: x6=x4/x5
§5 什么是进程(Process、Task)
PCB
§5 什么是进程(Process、Task)
三 、 进 程 控 制 块
例1:在操作系统中, 位。 A. 程序 B.进程 是竞争和分配资源的基本单 C.作业 D.用户 的,
例2(大连理工)进程与程序的主要区别在于进程是 而程序是 的。一个程序可对应 个进程。
进程是动态的概念,而程序是静态的概念。 进程可执行一或多个程序,程序可为多个进程并发执行。 进程是暂存的,而程序可作为资料长期保存。
§2 前趋图
前趋图是描述并发序列时序关系的有向无循环图。 二、前驱(偏序)关系→ 3.前趋图中,没有前趋的结点称作初始结点,没 有后继的结点称作终止结点。
§3 程序并发执行
eg:有一组计算程序。
多道并行
§3 程序并发执行
一、失去连续性,呈现间断性。
多道并行
§3 程序并发执行
操作系统原理-第三章进程管理习题(1)
第三章进程管理习题一. 单选题1. UNIX操作系统的进程控制块中常驻内存的是()。
A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构2. 当()时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中B.时间片到C.等待某一事件D.等待的事件发生3.在进程状态转换时,下列()转换是不可能发生的。
A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态4.下列各项工作步骤中,()不是创建进程所必需的步骤。
A.建立一个PCBB.作业调度程序为进程分配CPUC.为进程分配内存等资源D. 将PCB链入进程就绪队列5.下列关于进程的叙述中,正确的是()。
A.进程通过进程调度程序而获得CPU。
B.优先级是进行进程调度的重要依据,一旦确定不能改变。
C.在单CPU系统中,任一时刻都有1个进程处于运行状态。
D.进程申请CPU得不到满足时,其状态变为等待状态。
6.从资源管理的角度看,进程调度属于()。
A.I/O管理B.文件管理C.处理机管理D.存储器管理7.下列有可能导致一进程从运行变为就绪的事件是()。
A.一次I/O操作结束B.运行进程需作I/O操作C.运行进程结束D.出现了比现运行进程优先权更高的进程8.一个进程释放一种资源将有可能导致一个或几个进程()。
A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪9.一次I/O操作的结束,有可能导致()。
A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪C.一个进程由睡眠变运行D.几个进程由睡眠变运行10.当一个进程从CPU上退下来时,它的状态应变为()。
A.静止就绪B. 活动就绪C. 静止睡眠D. 活动睡眠11.为使进程由活动就绪变为静止就绪,应利用()原语?** B. ACTIVE C. BLOCK D. WAKEUP12.在下面的叙述中,不正确的是()。
A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程13. 若系统中只有用户级线程,则处理机调度单位是()。
进程概念、进程控制
3.1 进程的概念
进程的概念是60年代初首先由麻省理工学院 进程的概念是60年代初首先由麻省理工学院 60 MULTICS系统和IBM公司的CTSS/360系统 系统和IBM公司的CTSS/360 的MULTICS系统和IBM公司的CTSS/360系统 引入的。进程有很多各式各样的定义, 引入的。进程有很多各式各样的定义,如: 进程是一个可以并行执行的计算部分 进程是一个抽象实体,当它执行某个任务时, 进程是一个抽象实体,当它执行某个任务时, 将要分配和释放各种资源 进程是一个独立的可以调度的活动 等等
2.进程控制信息: 2.进程控制信息: 进程控制信息
当前状态(就绪态、执行态、等待态) 当前状态(就绪态、执行态、等待态) 进程优先级(priority) 进程优先级(priority) 进程开始地址 运行统计信息, 运行统计信息,进程占有和利用资源的情况 通信信息
27
ห้องสมุดไป่ตู้
3.资源管理信息: 3.资源管理信息: 资源管理信息 有关存储器的信息 使用输入输出设备的信息 有关文件系统的信息等 4.CPU现场保护信息 现场保护信息: 4.CPU现场保护信息: 存储退出执行时的进程现场数据, 存储退出执行时的进程现场数据,当该进 程重新恢复运行时恢复处理器现场。 程重新恢复运行时恢复处理器现场。 •包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容、控制寄存器内容、 包括通用寄存器内容 用户堆栈指针、系统堆栈指针等。 用户堆栈指针、系统堆栈指针等。
25
PCB的内容 不同系统不尽相同) PCB的内容 (不同系统不尽相同)
26
PCB的内容 PCB的内容
1.进程描述信息: 1.进程描述信息: 进程描述信息
进程标识符(process ID,唯一, 进程标识符(process ID,唯一,通常是一个整 数)或进程名 用户名或用户标识符(user 用户名或用户标识符(user ID) 家族关系
操作系统 第三章,第四章,第九章课后习题整理
第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。
答:运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
第三章 并发进程
进程的并发性(续)
在采用多道程序设计的系统中,利用了处理器与 外围设备、外围设备与外围设备之间的并行工作 能力,提高了计算机的工作效率。怎样才能充分 利用处理器与外围设备、外围设备与外围设备之 间的并行工作能力呢?很重要的方面是取决于程 序的编制
进程的并发性(续)
例如:程序P1=while(I<Count) { input(data[I],process data[I], output data[I] )}对一批数据(Count组)进行处理
计算程序PC
输出程序PO
output(data[5])
进程的并发性(续)
并发程序设计:使一个程序分成若干个可同时执 行的程序模块的方法称为并发程序设计 (如果这 些模块都属于一个进程,在进程内部执行,则称为 并发多线程程序设计;若模块属于不同进程,则称 为并发多进程程序设计)
进程的并发性(续)
第三章 并发进程
3.1 并发进程
3.2 临界区管理
3.3 信号量与PV操作
3.4 管程
3.5 进程通信
3.6 死锁
3.1 并发进程
主要内容:
3.1.1顺序程序设计
3.1.2进程的并发性
3.1.3进程的交互:协作和竞争
3.1.1顺序程序设计
1.程序执行的顺序性
一个进程在顺序处理器上的执行是严格按序的
进程的并发性(续)
输入程序PI
input(data[1]) input(data[2]) input(data[3]) input(data[4]) input(data[5]) process(data[1]) process(data[2]) process(data[3]) process(data[4]) process(data[5]) output(data[1]) output(data[2]) output(data[3]) output(data[4])
2020智慧树知道网课《操作系统(鲁东大学)》章节测试满分答案.1
第一章测试1【单选题】(10分)下列选项中,不是操作系统关心的主要问题的是A.高级程序设计语言的编译B.管理计算机中的信息资源C.设计、提供用户程序与计算机及计算机硬件系统的接口D.管理计算机裸机2【单选题】(10分)设计实时操作系统时,首先应该考虑系统的()A.实时性和可靠性B.分配性和可靠性C.可靠性和灵活性D.灵活性和实时性3【单选题】(10分)实时操作系统必须在()内处理来自外部的事件A.被控对象规定时间B.周转时间C.一个机器周期D.时间片4【单选题】(10分)所谓(),是指将一个以上的作业放入内存,并且同时处于运行状态。
这些作业共享处理机的时间和外设及其他资源。
A.多重处理B.实时处理C.多道程序设计D.并行执行5【单选题】(10分)操作系统的基本功能是()A.控制和管理系统内的各种资源B.提供用户界面方便用户使用C.提供功能强大的网络管理工具D.提供方便的可视化编辑程序6【单选题】(10分)现代操作系统的最基本特征是()A.虚拟和不确定B.并发和共享C.共享和虚拟D.并发和不确定7【单选题】(10分)批处理系统的主要缺点是()A.系统吞吐量小B.资源利用率低C.CPU利用率不高D.无交互能力8【单选题】(10分)下列选项中,不属于多道程序设计的基本特征的是()A.制约性B.顺序性C.共享性D.间断性9【单选题】(10分)在分时系统中,时间片一定时,()响应时间越长A.内存越多B.用户数越少C.内存越少D.用户数越多10【单选题】(10分)在分时系统中,为使多个进程能够及时与系统交互,最关键的问题是能在短时间内使所有就绪进程都能运行。
当就绪进程数为100时,为保证响应时间不超过2秒,此时的时间片最大应为()A.10msB.50msC.100msD.20ms第二章测试1【单选题】(10分)一个进程映像是()A.PCB结构与程序和数据的组合B.一个独立的程序C.由协处理器执行的一个程序D.一个独立的程序+数据2【单选题】(10分)在任何时刻,一个进程的状态变化()引起另一个进程的状态变化。
操作系统原理与实践教程(第三版)第3章习题答案
第3章处理器管理(1) 为什么程序并发执行会产生间断性特征,并失去封闭性和可再现性?解:之所以产生间断性特征是因为多个程序在并发执行时,需要为了完成同一项任务而相互合作,并发执行的程序间的这种相互制约导致了“暂停—执行—暂停”的间断性运行规律。
失去封闭性是因为程序在并发执行时,多个程序需要共享系统中的多种资源。
所以,这些资源的状态是由多个程序改变的,从而使程序的运行失去了封闭性。
失去可再现性是因为程序在并发执行时,由于失去了封闭性,从而导致其失去可再现性。
(2) 什么是进程?为什么要在操作系统中引入进程?解:进程是可并发执行且具有独立功能的程序在一个数据集合上的运行过程,它是操作系统进行资源分配和调度的基本单位。
“进程”概念是人们为了使程序能够并发执行,并且能对并发的程序加以描述和控制而引入的。
(3) 试从并发性、独立性、动态性上比较程序和进程的不同。
解:●并发性是进程的重要特征,同时也是OS 的重要特征。
引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。
●独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行。
●动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程有一定的生命期;而程序只是一组有序指令的集合,是静态实体。
(4) 什么是PCB?它具有什么作用?为什么说PCB是进程存在的唯一标识?解:进程控制块(Process Control Block,PCB)是操作系统为了管理进程而设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。
它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.因为系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。
第3章 计算机操作系统答案 进程管理
第三章进程管理一、选择题:1、下面过于程序的描述,正确的是()A. 程序执行的最终结果受到外界因素的影响,跟初始条件无关B. 程序执行的最终结果跟速度有关C. 程序是按前后次序相继地进行计算机操作序列集合,是一个静态的概念;D. 程序只能通过顺序执行2、程序的顺序执行有以下特点()A. 顺序性、封闭性、独立性B. 顺序性、封闭性、可再现性C. 顺序性、封闭性、随机性D. 顺序性、随机性、独立性3、程序A、B共享变量N,执行次A都要操作变量N,N=N+1,每执行次B都要print(N),N=0,初始值为N=0。
若执行顺序为先A后B,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 14、如上题13所述,执行先B后A,其结果为()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 0 15、如上题所述,执行为A在B中间,起结果为.()A. 1 1 0B. 0 1 0C. 1 0 1D. 0 1 16、下面关于进程描述完全的是()A. 进程是可以并发执行的计算部分;B. 进程是一个独立的调度活动.C. 进程是一个抽象实体.D. 进程是并发执行的过程中分配和管理资源的基本单位。
7、现代操作系统的特点()A. 程序的并发执行;B. 系统所拥有的资源被共享;C. 用户随机地使用系统资源;D. 以上三者都是。
8、进程和程序的区别是()A. 进程是一个动态的概念,而程序则是一个静态的概念;B. 进程具有并发性而程序没有;C. 进程是一个独立的调度活动.D. A和B都正确。
9、多道程序系统中的程序执行的特点为()A. 独立性、随机性、资源共享性;B. 顺序性、封闭性、可再现性;C. 顺序性、封闭性、随机性;D. 顺序性、随机性、独立性;10、描述信息所包括的下列描述不正确的是()。
A. 进程名B. 用户名C. 家族关系D. 用户资源11、现代oc的3个特点不包括()。
A. 程序并发执行B. 进程优先级C. 系统所拥有的资源共享D. 用户随即使用系统资源12、与进程优先级有关的PCB表项不包括()。
第3章进程并发控制作业题参考答案
第3章进程并发控制作业题参考答案作业题题1进程间的互斥与同步表示了各进程间的______。
A.竞争与协作B. 相互独立与相互制约C .临界区调度原则 D. 动态性与并发性题2 若执行信号量S操作的进程数为3,信号量S初值为2,当前值为-1,表示有____个等待相关临界资源的进程。
A 0B 1C 2D 3题 3 由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,_________。
A.造成不正确的因素与时间有关B. 造成不正确的因素只与进程占用的处理机有关C.造成不正确的因素与执行速度无关D. 造成不正确的因素只与外界的影响有关题4 下列机构中不能用于进程间数据通信的是____________。
A.消息B.共享存储区C. 信号量D.管道题5 下面有关管程的说法,不正确的是________A.管程是种进程同步机制B. 管程是一种编程语言成分C. 管程是一种系统调用D.管程比信号量更容易保证并行编程的正确性题6 什么是临界资源和临界区?一个进程进人临界区的调度原则是什么?题7 进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?(1)图书馆借书。
属于互斥关系。
(2)两队举行篮球赛。
既有互斥关系,又有同步关系。
(3)流水生产线。
属于同步关系。
(4)乐队演奏。
属于同步关系。
(5)购买火车票。
属于互斥关系。
题8 在生产者消费者问题中,如果将两个P操作即生产者程序流程中的P(buffers)和P(mutex)互换位置.结果会如何? 形成死锁。
题9 试用P、V操作描述下列理发师和顾客之间的同步问题。
某个理发师当没有顾客时,去睡觉;当有顾客来理发,若理发师正在睡觉时,这个顾客会叫醒他,理发师给该顾客理发,理发期间若还有顾客到达则等待理发师依次理发,直到没有顾客到来,理发师又去睡觉。
wakeup,wait,mutex:semaphore;wakeup:=0;wait:=0;mutex:=1;cobegin顾客进程:{p(mutex);rc=rc+1;if(rc==1) v(wakeup);else p(wait);v(mutex);理发;}理发师进程:{P(wakeup);While(rc!=0){理发;p(mutex);rc=rc-1;if(rc!=0)v(wait);v(mutex);}}coend自测题一、选择题1.并发性是指若干事件在______发生。
操作系统讲稿2012(第三章)
例:程序A的起始地址为51200,共12条指令;程序B 的起始地址为81920,共4条指令,其中第4条指令包 括I/O指令;程序C的起始地址为194560,共12条指 令;分派程序的起始地址为20480,共6条指令;三个 程序以及分派程序均在内存,操作系统每次执行6条 用 户程序指令后就会自动终止当前用户程序,转去执行 分派程序。每条指令需要一个指令周期,则程序的执 行过程如下:
1. 51200 2. 51201 3. 51202 4. 51203 5. 51204 6. 51205 超时
7 20480 8 20481 9 20482 10 20483 11 20484 12 20485 13 81920 14 81921 15 81922 16 81923 I/O请求
17 20480 18 20481 19 20482 20 20483 21 20484 22 20485 23 194560 24 194561 25 194562 26 194563 27 194564 28 194565 超时
3.程序的顺序执行:一个具有独立功能的程序独占处理机 直至最终结束的过程称为程序的顺序执行。
4.程序顺序执行的特征: (1)顺序性:每一个操作都必须在上一个操作完成 之后开始 内:语句之间、指令之间 外:程序之间 (2)封闭性:资源独占,只有运行的程序能够改变资 源状态,每个程序的执行不会受到外部因素的影响。
就绪 阻塞
× ×
被分派程序 选中
×
事件发生
× ×
被父进程终止 被父进程终止
×
说明:一般的操作系统为了管理方便,根据等待的事件设置多个 阻塞队列,将等待不同事件的进程放在不同的等待队列中。
3.4进程控制
进程控制:系统使用一些具有特定功能的程序来创建、撤 消进程以及完成进程各状态间的转换,从而达到多进程、 高效率、并发执行和协调、实现资源共享的目的。 进程控制是通过原语来实现。 原语:用于完成某种特定功能的不可分割的一段程序。 原语的实现是通过关中断来实现的。 实现进程控制的程序段被称作进程控制原语。
第三章进程管理
第三章进程管理第三章进程管理引言:在所有采用微内核结构的操作系统中,都涉及到了“进程”的概念。
“进程”犹如操作系统的灵魂伴随操作系统始终,对进程进行控制、调度、完成进程间通信,以及解决进程死锁问题等就构成了进程管理的主要内容。
进程还是操作系统中独立运行的基本单位,只有深刻理解了进程的概念,才能够更好地理解操作系统其他各部分的功能和工作流程。
§3.1 为什么要引入进程的概念§3.1.1 从顺序程序设计谈起(1)什么是顺序程序在计算机上运行的程序是众多指令有序的集合,每一个程序只能完成预先规定的任务和操作。
在早期的计算机系统中,只有单道程序执行的功能,也就是说,每次只允许一道程序独立运行。
在这个程序的运行过程中,将占用整个计算机系统资源,而且系统将按照程序步骤顺序执行,其他程序只能处于等待状态。
因此,从宏观上看,各个程序是以线性状态排列并顺序执行的。
(2)顺序程序的特征a. 顺序性CPU单步顺序地执行程序,无论程序下一步操作是否需要等待上一步操作的结果都必须等待上一步操作结束后才能开始,无法实现并发执行。
b. 封闭性资源独占:只有正在执行的程序本身所规定的动作才能改变当前资源状态。
结果封闭:一旦程序开始运行后,其输出结果就不受外因的干扰。
c. 可再现性程序不受外部条件的影响,只要系统资源充足,在给定相同初始条件的情况下,无论程序执行多少次,总能得到相同的执行结果。
§3.1.2 程序的并发执行和资源共享由于单道程序执行过程中浪费了很多系统资源,因此,人们设法在只有一个处理器的系统中让多个程序同时执行。
这里应注意并发执行和多个程序在多个处理器环境下的并行执行。
(1)程序并发执行的定义多道程序在计算机中交替执行,当一道程序不占用处理器时,另一道程序马上接管CPU处理权,大大提高了处理器的使用率。
尽管在每一时刻或者说某一时刻CPU中仍然只有一道程序在执行,但是由于主存中同时存放了多道程序,在同一时间间隔内,这些程序可以交替的进行,从而提高CPU的使用率。
并发进程互斥执行时必须满足的准则
并发进程互斥执行时必须满足的准则
并发进程互斥执行时必须满足以下准则:
1.互斥准则:一个资源一次只允许一个进程使用,即两个进程不能同时进入临界区。
2.空闲让进准则:当资源处于空闲状态时,任何进程均可进入临界区,当资源正被使用时,只能等待,不能进入。
3.忙则等待准则:当某进程欲进入临界区而被占有时,它必须等待,直到资源空闲。
4.非抢占式让出准则:当进程使用完临界区资源后,必须自行让出,以便其他进程使用。
5.有限等待准则:对请求访问临界区的进程,应保证在有限时间内获得资源。
6.循环等待准则:对请求访问临界区的进程,应按某种顺序等待访问,而不能形成饥饿现象。
这些准则是为了保证并发进程在互斥执行时能够正确、有效地共享资源,避免出现竞争条件和死锁等问题。
操作系统课件进程及进程管理
3.1 进程的引入
3-1-4 多道程序设计
➢ 定义 在采用多道程序设计的计算机系统中,允许多个程序同时进
入一个计算机系统的主存储器并运行,这种让多个程序同时进 入计算机计算的方法称为多道程序设计。 ➢ 目的
提高处理器的效率,从而提高整个系统的效率 ➢ 必须解决的问题
中断处理、进程管理、资源管理中的基本操作 ➢ 原子操作
所谓原子操作是指:一个操作中的所有动作,要么全做,要么全不做。 换言之,原子操作是一个不可分割的操作
3.2 进程
▪ 进程的创建
➢ 进程图 -进程图是用于描述进程家族关系的有向树 -子进程可以继承父进程所拥有的资源,当子进程撤销时,应将从父进程
那里获得的资源归还给父进程;在撤销父进程时,也必须同时撤销其所有的 子进程 ➢ 引起创建进程的事件
再按新进程的PCB中的处理机状态设置CPU环境 ➢ 进程唤醒过程
调用唤醒原语wakeup( )将等待该事件的进程唤醒 -把被阻塞进程从等待该事件的阻塞队列中移出 -将其PCB中的现行状态由“阻塞”改为“就绪” -然后再将该进程插入到就绪队列中
3.2 进程
▪ 进程的挂起与激活
➢ 进程的挂起过程 当出现了引起进程挂起的事件时,系统就利用挂起原语suspend( )将指
态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等 待”状态或“睡眠”状态。 ▪ 进程状态的转换
- 就绪→执行状态 处于就绪状态的进程,当进程调度为之分配了处理机后 - 执行→阻塞状态 正在执行的进程因发生某种事件而 无法执行 - 执行→就绪状态 正在执行的进程如因时间片用完或 一个优先权高的进程到来而被暂停执行 - 阻塞→就绪状态 处于阻塞状态的进程,其等待的事件已经发生
第3章 进程管理 习题
第3章进程管理一、单项选择题1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指。
(清华大学1996年研究生试题)a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序2. 一个进程是。
(清华大学1996年研究生试题)a.由协处理机执行的一个程序b.一个独立的程序+数据集c.PCB结构与程序和数据的组合 d.一个独立的程序3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。
(陕西省1995年自考题)a.实型 b.整型 c.布尔型 d.记录型4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。
(陕西省1996年自考题)a. 5b. 3c. 1d. 05.并发进程之间。
(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。
a、P、V操作b、信箱通信c、消息缓冲d、高级通信7.N个进程共享某一临界资源,则互斥信号量的取值范围为。
a、0~1b、-1~0c、1~ -(N-1)d、0~ -(N-1)8.设m为同类资源数,n为系统中并发进程数。
当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。
a、m=2,n=1,w=2b、m=2,n=2,w=1c、m=4,n=3,w=2d、m=4,n=2,w=3 9.是进程调度算法。
a、时间片轮转法b、先来先服务c、响应比高者优先d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。
(西北工业大学1999年研究生试题)a、进程被调度程序选中b、时间片到b、等待某一事件 d、等待的事件发生11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。
a、没有进程进入临界区b、有一个进程进入临界区c、一个进程进入临界区而另一个进程正处于等待进入临界区状态d、有两个进程进入临界区12.用P、V操作可以解决互斥问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
begin s:semphore; s:=1; cobegin process Pi begin p(s); 临界区 v(s); ...... end; coend; end; process Pi begin p(s); 临界区 v(s); end; coend
end; 但是,任何粗心地使用PV操作会违反临界区的管理要求.例如对7.2中的第二个例 子,用PV操作管理临界区时,若粗心地把程序改写成: begin s:semaphore s:=1; cobegin process Pi(i=1,2,„n) begin 按旅客订票要求找到Aj; p(s); Ri:=Aj if Ri>=l then begin Ri:=Ri—1; Ai:=Ri; v(s); 输出一张票 end else 输出“票已售完” end; coend; end
占用CPU执行过程 pin pin被打断, pout占用 pout被打断,pin占用 pin被打断,pout占用 进程执行的操作 R1:=count R1:=R1+1 R2:=count R2:=R2+1 count:=R1 count:=R2 count值 n n n+1 n-1
于是,两个进程执行完后,count的终值为n-1。也就是说,这两个进程的执 行次序对结果是有影响的,关键是它们涉及到共享变量count,且两者交替访问 了count,在不同的时间里访问count,就可能使count的值不同。所以,造成计数 值不正确的因素是与进程被打断的时间和能占用处理的时间有关,由于这种原因 造成的错误称为“与时间有关的错误”。
1、
程序段并发执行的有向图
I1I2I3Fra bibliotekI4C1
C2
C3
C4
P1
P2
P3
P4
第三章
2、与时间有关的错误
并发进程
例如,某展示厅设置了一个自动计数系统,用一个计数器count指示在场 的人数。当有一人进人时,进程pin实现计数加1,当退出一人时,进程 POUT实现计数减1。由于人场与退场是随机的,因此,进程pin和pout是并 发的。用cobegin和coend表示并发执行,这两个进程的程序如下: begin count:integer; count:=0; cobegin process pin R1:integer; begin R1:=count; R1:= R1+1; count:=R1 ; end; process pout R2:integer;
进程执行时调用P(S)决定是否能进入临界区,由于S的初值为1,故每次只能有一个 进程进入临界区,其它想进入临界区执行的进程必须等待,这符合临界区管理的第一个 要求。但在改写的程序中忽略了当条件Ri>=1不成立时执行else部分的V操作,以致使 进程在临界区中判到条件Ri>=1不成立时无法退出临界区,当然也就不能释放等待进入 临界区的进程,造成进程无限地等待进入临界区,这就违反了对临界区管理的第二、第 三的两个要求。正确的做法应该是; begin S:semphore; S:=1; cobegin process Pi(0,1,2,„,n) begin 按旅客订票要求找到Aj; p(s); Ri:=Aj; if Ri>=1 then begin Ri:=Ri-1, Aj:=Ri; v(s); 输出一张票 end else begin v(s); 输出“票已售完”„„
2. 临界区:访问临界资源的那段代码。诸进程在访问临界资源时,必须互 斥。我们把每个进程中访问临界资源的那段代码称为临界区。为了实现对临 界区的互斥访问,应保证诸进程互斥地进入自己的临界区。为此,每个进程 在进入其临界区前,必须先提出申请,经允许后方可进入。 若干个并发进程临界区程序的执行准则如下: (1)若干个进程都要求进入临界区访问共享变量时,只允许一人进程进入, 其他进程必须等待; (2)任何一个进入临界区的进程必须在有限的时间内退出临界区; (3)当某一进程退出临界区时,若有其他进程等待进入,同必须允许一个 进程进入临界区。 3、P-V操作 20世60年代中期发明的P-V操作能够满足对临界区的管理要求。P-V操作 由两个原语:P操作原语与V操作原语组成。
占有CPU执行过程 pin
pin中断,由pout占用CPU并执行过程
进程执行的操作
R1:=count R1:=R1+1 R2:=count R2:=R2+1 Count:=R2 Count:=R1+1
count值 n n-1 n+1
pin继续执行
按这样的次序执行后,count的最终值不能保持为n,而变成n+1。如果进程被 打断的情况如下:
前面例子中的两个并发进程都要使用共享的计数器count,从分析中看到,只有 当一个进程不在使用count时另一个进程再去使用,才不会出错.如果它们交叉地使 用count则会现与时间有关的锗。为了保证两个进程互斥地使用计数器count,可以用 PV操作来管理。定义一个信号量s的初值为1,把两个并发进程的程序改写成如下: begin count:integer; s:semphore count:=0; s:=1; cobegin process pin R1:integer; begin p(s); R1:=count; R1:=R1+1; count:=R1; v(s) end;
第三章
二、进程间的制约关系
并发进程
在多道程序系统中,由于资源共享与进程合作,使诸进程之间 可能产生两种形式的制约关系: 1.间接相互制约 这种制约主要源于资源共享。例如,有两进程 A和B,如果在A进程提出打印请求时,系统已将打印机分配给进程 B,则进程A阻塞;一旦进程B将打印机释放,也就使进程A由阻塞 改为就绪状态。 2.直接相互制约 这种制约主要源于进程合作。例如,有一输入 进程A通过单缓冲向进程B提供数据。当该缓冲空时,计算进程B因不 能获得所需数据而阻塞,当进程A把数据送入缓冲时,便将B唤醒;反 之,进程A因不能再向缓冲区投放数据而阻塞,当进程B将缓冲区内 数据取走时唤醒A。
3.2进程的互斥与同步
一、进程互斥
从上面例子可知:当若干个进程都要使用某一共享 资源时,任何时刻最多只允许一个进程使用,其他要使 用该资源的进程必须等待,直到占有资源的进程释放了 该资源,这就是进程的互斥。 具有互斥关系的进程并不是它们的所有操作都要互 斥进行,只需要确保涉及共享变量操作的那一段程序实 现互斥。通常把这一段程序称为临界区或临界段,进程 的互斥实质上就是并发进程对临界区的访问是互斥的。
2、P-V操作实现同步
进程的同步是并发进程之间存在一种制约关系,一个进程的执行依赖另一个进 程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到这才被唤 醒。 先看一个例子。设有两个进程A和B,它们共享一个缓冲器,进程A不断地读人 记录并送到缓冲器,进程B不断地从缓冲器中取出记录并加工。假定缓冲器的容量 为每次只能存放一个记录,于是正确的工作应该是这样的: 进程A把一个记录送人缓冲器后.应等到进程B发来消息(已将缓冲器的记录取 走)才能把下一个送入缓冲器。进程B也应等到进程A发来消息(缓冲器中已送入一 个 记录),才能从缓冲器中取出记录并加工。 如果这两个进程不是相互制约的话,那么可能出现:进程A又向缓冲器送入一 个新记录而把上一个尚未取走的记录覆盖了;进程B在下一个记录送入缓冲器之前 又去取缓 冲器中的记录,造成重复地取同一个记录加工。 PV操作不仅可以用来实现互斥进入临界区而且还是一个简单而又方便的同步工 具,用它来解决生产者/消费者问题,可以防止生产者把物品放入已经装有物品的 缓冲器中,也可防止消费者在物品存入缓冲器之前去取物品,现在假定有一个生产 者和一个消费者,它们公用一个缓冲器,生产者不断地生产物品,每生产一件物品 就要存入缓冲器,但缓冲器中每次只能存入一件物品,只有当消费者把物品取走后, 生产者才能把第二件物品存入缓冲器,同样地,消费者要不断地取出物品去消费,, 当缓冲器中有物品进他就可去取,每取走一件物品后必须等生产者放入一件物品才 可再取,用PV操作实现生产者/消费者之间的同步,可以定义两个信号量:
process pout R2:integer; begin p(s); R2:=count; R2:=R2—1; count:=R2; v(s) end; coend; end; 这里p操作p(s)限制了一次只有一个进程在临界区执行。如果一个进程在临界区 执行时被打断,另一个进程想进入临界区,但由于进人临界区前必须先调用p(s),而 此时已在临界区的进程尚未退出临界区,所以s的值为“0”,想进人临界区的进程 调用p(G)的结果必然是等待,直到已进入临界区的进程再次得到处理器执行完临界区 中的操作调用v(s)后才结束等待.所以,改写后的程序在执行中即使被打断,也不会 出现两个进程交叉访问count,保证了进程互斥地使用共享的计数器。 一般说,当n个进程P1,P2,…Pn要共享某一资源时,为保证资源的互斥,首 先找出n个进程各自的临界区,对每个进程都用PV操作来实现进入和退出临界,进 程Pi(i=1,2,…n)互斥的一般形式为:
第三章
一、概述
并发进程
为了增强计算机系统处理数据的能力,提高资源的利用率,现代 计算机系统采用多道程序设计技术,从而使得若干作业并存于内存中 且同时执行。每个作业的操作步骤都是由相应的进程完成的。多个作 业同时执行的状态,表现为一个进程的工作还没有全部完成之前,另 一个进程就开始工作,把这些可同时进行工作的进程称为“并发进 程”。 在并发进程的执行过程中,进程同步是操作系统管理共享资源, 避免出错的一个有效手段。进程的同步包括进程的同步与进程的互斥 两个方面。进程的互斥是指并发进程即多个执行进程,同时竞争共享 资源时,若某共享正在被一个进程使用,其他申请该资源的进程必须 等待,直至该资源被释放后,另一个进程才能使用该资源。也就是说, 共享资源应该互斥的使用。进程的同步是指一个进程的执行依赖于其 他进程的执行状况,即并发进程中,一个进程在没有得到其他进程发 来的消息时必须等待,直至另一个进程送来消息后才能继续执行。进 程的死锁是并发进程之间相互等待对方占有的资源的现象。