2进程管理

合集下载

第二章进程管理答案

第二章进程管理答案

第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。

A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。

A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。

A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。

A. 异步性B. 并发性C. 静态性D. 动态性5A6A.7A.8A.9A.10A.11A.12。

A.13A.14A.15A.16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。

A. S>0B. S=0C. S<0D. S≠017、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。

A.10 B.8 C.6 D.418、在进程通信中,使用信箱方式交换信息的是()。

A.低级通信B.高级通信C.共享存储器通信D.管道通信19.( )必定会引起进程切换。

A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。

A.中断B.查询c.同步D互斥21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。

A.顺序执行B.同时执行c.并行执行D.并发执行22.操作系统根据( )控制和管理进程,它是进程存在的标志。

A.程序状态字B.进程控制块 c.中断寄存器 D.中断装置23.若干个等待占有cPU并运行的进程按一定次序链接起来的队列为( )。

A.运行队列 B.后备队列 c.等待队列D.就绪队列24.进程的( )和并发性是两个很重要的属性。

A.动态性 B.静态性 c.易用性 D.顺序性25引入多道程序设计技术后,处理器的利用率( )。

操作系统习题集---2---进程管理

操作系统习题集---2---进程管理

习题集 - 2 - 进程管理1. 在优先级调度中,__________类进程可能被“饿死〞,即长时间得不到调度。

A.短进程 B.长进程 C.低优先级进程 D.大内存进程解: C。

优先级调度算法〔PRI〕的根本思想是:内核为每个进程赋予一个优先级,进程按照优先级的大小顺序在就绪队列中排队,内核将CPU分配给就绪队列头部的第一个进程——优先级最大的进程。

因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长。

低优先级的进程必须等待所有高优先级进程运行完毕后才会被调度运行。

如果不断有高优先级的进程参加就绪队列,那么低优先级进程就会一直等待下去。

这就是所谓的“饿死〞现象。

2. 在下面的系统调用中,__________不会导致进程阻塞。

A.读/写文件 B.获得进程PID C.申请内存 D.发送消息解: B。

当正在执行的进程需要使用某种资源或等待某个事件时,如果资源已被其他进程占用或事件尚未出现,该进程不能获得所需的资源而无法继续运行,于是,进程将被阻塞。

进程在阻塞状态中等待资源被释放,或等待事件的发生。

所以,进程在执行系统调用时,如果需要使用某种资源,就可能导致进程阻塞。

“读/写文件〞需要使用设备和文件缓冲区;“申请内存〞需要分配内存资源;“发送消息〞需要使用消息缓冲区。

3. 下面关于临界区的表达中,正确的选项是__________A.临界区可以允许规定数目的多个进程同时执行B.临界区只包含一个程序段C.临界区是必须互斥地执行的程序段D.临界区的执行不能被中断解: C。

临界段〔临界区〕的概念包括两个局部:①临界资源:必须互斥访问的资源。

例如,需要独占使用的硬件资源,多个进程共享的变量、构造、队列、栈、文件等软件资源。

②临界区:访问临界资源的、必须互斥地执行的程序段。

即,当一个进程在某个临界段中执行时,其他进程不能进入一样临界资源的任何临界段。

4. 资源顺序分配法破坏了死锁发生的__________必要条件。

chap 2进程管理

chap 2进程管理
第2章 进程的描述与控制
为了描述程序在并发执行时对系统资源 的共享,我们需要一个描述程序执行时动态 特征的概念,这就是进程或线程。在本章中, 我们将讨论进程的概念和进程间的关系。
2.1 程序的执行特点

程序的执行有两种方式:顺序执行和并发 执行。
2.1.1 程序的顺序执行

顺序执行是单道批处理系统的执行方式。

2.2.3进程控制块(PCB, process control block)
2)进程控制块中的信息
进程描述信息:
进程标识符(process ID),内部标识符。唯一,通 常是一个整数; 进程名,外部标识符。通常基于可执行文件名,不 唯一; 用户标识符(user ID);进程组关系(process group)


终止所有子进程?未必

方法:exit;或主程序返回:C中的 main()。调用exit()可终止进程。
2.3.3 进程的阻塞与唤醒
引起阻塞的事件:


所需资源的不到满足。如:请求服务、请 求I/O 无事可做
2.3.3 进程的阻塞与唤醒
进程阻塞过程:


进程自身调用有关阻塞原语,进入等待 队列。进程的主动性行为。 引起处理机调度。 例如UNIX:暂停一段时间sleep;暂停并 等待信号pause;等待子进程暂停或终 止wait。
就绪状态:进程已获得除处理机 外的所需资源,等待分配处理机 资源;只要分配到CPU就可执行 。在某一时刻,可能有若干个进 程处于该状态。
运行态 等待某个 事件发生
就绪态
某个事件已经发生
阻塞态
2.2.2进程的基本状态
1)三个基本状态——运行
运行状态:占用处理机资源运 行;处于此状态的进程的数目 小于等于CPU的数目。

计算机操作系统 第二章 进程管理(2)

计算机操作系统 第二章 进程管理(2)

缺点:
(1)进程在等待进入临界区时也要耗费处理器时间, 不能实现“让权等待” (2)可能出现进程“饥饿”
2.3.2 信号量机制
新的同步工具——信号量和P、V操作。
信号量:是一种数据结构,代表可用资源实 体的数目。
信号量只能通过初始化和两个标准的原语: P(wait(S))、V((signal(S))来访问。 P原语相当于进入区操作,V原语相当于退 出区操作。
AND同步机制
AND同步机制的基本思想是:进程运行时所 需要的所有资源,要么全部分配给它,使用完 毕后一起释放;要么一个都不分配给它。实现 时,采用原子操作:要么全部分配到所有资源, 要么一个也不分配到。 称AND型信号量P原语为:
Swait(Simultaneous wait)
V原语为Ssignal(Simultaneous signal)。
SP原语描述
Swait(S1,S2,„,Sn) /* SP原语描述 */ {while(1) {if(S1>=1&&S2>=1&&„&&Sn>=1) {for(i=1;i<=n;i++) Si--; /* 先确信可满足所有资源要求再减1操作 */ berak; } else /* 资源不够时 */ {将进程放入第一个信号量小于1的阻塞队列Si.sqeue; 将PC中的地址回退到SP开始处; 阻塞进程; } } }
第二章 进程管理(2)
2.3 进程同步
多进程并发执行时,由于资源共享或进程合 作,使进程间形成间接相互制约和直接相互制 约关系,这需要用进程互斥与同步机制来协调 两种制约关系。 进程同步的主要任务:协调进程执行次序, 使并发执行的诸进程间能有效地共享资源和相 互合作,使程序的执行具有可再现性。

chap2 进程管理

chap2 进程管理

2· 2 进程的状态及转换
状态及其转换 静止就绪状态:表明进程具备运行条件但目前在二级存储器中,当它被 对换到主存才能被调度执行 静止阻塞状态:表明进程正在等待某一事件且在二级存储器中 ①运行或活动就绪→静止就绪,活动阻塞→静止阻塞 通过挂起操作(suspend)。 ②静止就绪→活动就绪, 静止阻塞→活动阻塞 通过激活操作(activate)。 ③静止阻塞→静止就绪: 当等待的事件发生时。 挂起进程的特征: (1)该进程不能立即执行。(2)挂起进程可能会等待事件,但所等待 事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。 (3)进程进入挂起状态是由于操作系统、父进程或进程本身阻止它 的运行。(4)结束进程挂起状态的命令只能通过操作系统或父进程 发出。
题目:
4、进程执行时的间断性,决定了进程可能具有多种状态。进程的基 本状态有三种,在分时系统中,当一个进程拥有的时间片到时, 则该进程即由[1]进入[2]。如果出现因某种原因使得处理机空闲时, 则需要从就绪队列中选择一进程,并将处理机分配给它,此时该 进程进入[3],这个过程是由[4]来完成。 供选择的答案: [1][2][3] A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态 [4] A、进程控制程序 B、资源分配程序 C、进程调度程序 D、处理机分配程序 5、下列进程状态的转换中,哪一个是不正确的( )。 A. 就绪->运行 B. 运行->就绪 C. 就绪->阻塞 D. 阻塞->就绪 6、一个进程被唤醒意味着( )。 A.该进程重新占有了CPU B.进程状态变为就绪 C.它的优先权变为最大 D.其PCB移至就绪队列的队首
2· 2 进程的状态及转换
3、细分5种状态的进程状态及其转换 新建、就绪、运行、阻塞、终止 新建:对应进程刚被创建的状态,为一个新进程 创建必要的管理信息,它并没有被提交运行, 而是等待操作系统完成创建进程的必要操作。 终止:进程已完成执行就变为终止状态。进入终 止态的进程不再执行,但依然临时保留在系统 中等待善后。一旦其他进程完成了终止进程的 信息抽取后,系统将删除该进程。

操作系统原理第二章进程管理

操作系统原理第二章进程管理

2.1 前趋图和程序执行
例:有7个结点的前趋图。
P = { P1,P2,P3,P4,P5,P6,P7 } → = {(P1,P2),(P1,P3),(P1,P4), (P2,P5),
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
2
1 3
4
5
7 6
2.1 前趋图和程序执行
➢ 程序的顺序执行
打印三项操作。其程序段并发执行的前趋图:
I1 → I2 → I3 → I4 →
↘↘↘↘
C1 → C2 → C3 → C4 →
↘↘↘↘
P1 → P2 → P3 → P4 →
2.1 前趋图和程序执行
例2.Begin integer N:=0;
Cobegin
Program A : begin
Program B : begin
void popaddr (top) { top --; r=*top; return (r) }
void pushaddr(blk) { *top = blk; top++;
}
先执行 popaddr 的top--,接着执行pushaddr的*top=blk
2.1 前趋图和程序执行
➢ 程序并发执行过程及条件 (Bernstein条件)
果必相同。
2.1 前趋图和程序执行
➢ 程序的并发执行
➢ 程序执行环境
➢ 独立性,逻辑上是独立的。 ➢ 随机性:输入和执行开始时间都是随机的。 ➢ 资源共享:资源共享导致对进程执行速度
的制约。
2.1 前趋图和程序执行
➢ 程序的并发执行
并发执行是指两个程序执行时间上是重叠 的。凡是能由一组并发程序完成的任务,都 能由相应的单个程序完成。 例1:有一批程序,而每个程序需输入,计算,

2-进程管理

2-进程管理

CH2 进程管理CPU即处理机的一种,为方便见,以后我们不再区分。

进程是处理机内运行的一个实体,处理机管理核心是调哪个进程到处理机内运行,所以OS把处理机管理纳入进程管理范畴。

在OS 中, 进程管理与存储器管理是最重要的两部分, 也是最接近内核的两层. 在现代OS中, 进程是作为资源分配和独立运行的基本单位. 我们合并第二、三两章,主要内容有:§1 中断#1 中断概念#2 中断功能#3 中断处理§2 多道程序设计§3 进程引入#1 程序的顺序执行及其特征#2 程序的并行执行及其特征#3 进程定义及其特征#4 进程三态及其演变(就绪/执行/阻塞)#5 进程描述(PCB)及其组织(队列/索引)§4 进程控制#1 内核与原语#2 创建与撤消(Create/Destroy)#3 ★挂起与激活(Suspend/Active)#4 阻塞与唤醒(Blocked/Wakeup)§5 进程调度#1 概念(级别, 方式, 术语)#2 调度算法(FIFO/最短时间/最高优先级/轮转/多级反馈)#3 引起调度的原因和实现§6 进程同步#1 概念#2 信号量机制(概念/实现)#3 信号量应用(互斥/同步)#4 经典进程同步问题----例子#5 ★信号量集和管程§7 进程通信#1 类型(内存共享/消息机制/文件共享)#2 直接通信方式(一般模型/应答式/链路)#3 ★直接通信应用(消息缓冲)§8 死锁#1 原因及必要条件#2 预防#3 避免(教材称为预防不恰当)#4 检测#5 解除与书不同处: 处理机调度纳入进程调度;CH7的§1并发进程纳入进程引入一节;进程控制单独列一节§1 中断一、中断概念1、中断:CPU对系统中发生的异步事件的响应处理。

2、中断引入的目的是提高CPU的利用率和系统实时性能。

3、中断是多道程序设计实现的基点。

第2章 进程管理3

第2章 进程管理3
第二章 进程管理
第二章 进程管理
2.1 前趋图和程序执行 2.2 进程的描述
2.3 进程控制
2.4 进程同步
2.5 经典进程的同步问题
2.6 进程通信 2.7 线程
湖南理工学院计算机学院
第二章 进程管理
掌握内容: 掌握生产者-消费者问题、读者-写者问 题、哲学家就餐问题的P、V操作实现方法。 掌握进程同步和互斥问题的P、V操作实现 过程。
湖南理工学院计算机学院
第二章 进程管理
parend end
湖南理工学院计算机学院
第二章 进程管理
在生产者—消费者问题中应注意: (1)在每个程序中用于实现互斥的 wait(mutex) 和signal(mutex)必须成对地出现; (2) 对资源信号量 empty 和 full 的 wait 和 signal 操作,同样需要成对地出现,但它们分别处于 不同的程序中。 (3)在每个程序中的多个wait操作顺序不能颠 倒。应先执行对资源信号量的wait操作,然后再 执行对互斥信号量的wait操作。
湖南理工学院计算机学院
第二章 进程管理
假定这些生产者和消费者相互等效,只要缓 冲池未满,生产者便可将消息送入缓冲池;只要 缓冲池未空,消费者便可从缓冲池中取走一个消 息。对生产者—消费者问题可描述如下: Var mutex, empty, full:semaphore∶=1,n,0; buffer:array[0, …, n-1] of item; in, out: integer∶=0, 0; begin parbegin
湖南理工学院计算机学院
第二章 进程管理
第i位哲学家的活动可描述为: repeat wait(chopstick[i]); wait(chopstick[(i+1) mod 5]); … eat; … signal(chopstick[i]); signal(chopstick[(i+1) mod 5]); … think; until false;

第2章_进程管理

第2章_进程管理
21
系统用PCB来描述进程的基本情况以及运行 变化的过程,PCB是进程存在的唯一标志。
进程的创建:为该进程生成一个PCB; 进程的终止:回收它的PCB; 进程的组织管理:通过对PCB的组织管理来实现;
PCB存放在哪? 进程的状态转换:……?
22
两个进程的状态转换 运行 | 就绪 运行 | 阻塞 阻塞 | 就绪 就绪 | 运行
12
从技术上来说,只有一种创建进程的方法,
即在一个已经存在的进程(用户进程或系统
进程)当中,通过系统调用来创建一个新的 进程。 Unix:fork函数; Windows:CreateProcess函数;
13
2.1.5 进程的终止
在以下四种情形下,进程终止:
• 正常退出(自愿的);
• 错误退出(自愿的);
如何实现逻辑PC?
(本图摘自Andrew S. Tanenbaum: “Modern Operating Systems‖)
四个进程在并发地运行
11
2.1.4 进程的创建
引起进程创建的四个主要事件:
• 系统初始化时; • 在一个正在运行的进程当中,执行了 创建进程的系统调用; • 用户请求创建一个新进程; • 初始化一个批处理作业。
在并运行。
3
multi-programming
4
Why processes? (Cont.)
在多道程序系统中,各个程序之间是并发执 行的,共享系统资源。CPU需要在各个运行 的程序之间来回地切换,这样的话,要想描 述这些多道的并发活动过程就变得很困难。
5
程序1 MOV AX, 0040
程序2
POP
描述进程的数据结构:进程控制块
(Process Control Block,PCB)。

第二章进程管理习题及答案

第二章进程管理习题及答案

第二章进程管理习题及答案操作系统一、填空题1.进程的静态描述由三部分组成:①、②和③【答案】①PCB、②程序部分、③相关的数据结构集【解析】PCB是系统感知进程的唯一实体。

进程的程序部分描述了进程所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。

后两部分是进程完成所需功能的物质基础。

2.进程存在的标志是【答案】进程控制块PCB【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。

3.①是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了②这一概念。

【答案】①程序的并发执行,②进程【解析】程序的并发执行和资源共享是现代操行系统的基本特征。

程序的并发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。

在程序并发执行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来描述程序并发执行所具有的特点。

4.给出用于进程控制的四种常见的原语①、②、③和④【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目的。

把那些在管态下执行的具有特定功能的程序段称为原语。

5.进程被创建后,最初处于①状态,然后经②选中后进入③状态。

【答案】①就绪,②进程调度程序,③运行【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。

被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。

6.进程调度的方式通常有①和②方式两种。

【答案】①可剥夺、②非剥夺【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程的优先级的进程存在时,便立即发生进程调度,转让处理机。

而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。

(完整版)第二章进程管理习题和答案

(完整版)第二章进程管理习题和答案

--一、填空题1. 进程是一个程序对某个数据集的一次执行过程。

进程从结构上讲,包括程序、数据和PCB三部分。

2. 进程是一个动态的概念,程序是一个静态的概念。

3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB组成。

4. 进程存在的唯一标志是PCB的存在。

当系统创建一个进程时,系统为其建立一个PCB,当进程被撤销时系统就将其收回。

5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。

当进程由(1)变换到(2)或(3)时,就会立即引起重新调度。

6. 在操作系统中,不可中断执行的操作称为原语。

7. 并发进程之间的基本关系是同步或互斥。

其中互斥是指进程之间的一种间接关系。

8. 临界资源是指一段时间只允许一个进程使用的资源,而临界区是指进程中访问临界资源的程序代码。

9. P,V操作原语是在信号量上操作的。

10. 信号量的物理意义是:当信号量的值大于零时,表示可用资源的数量;当信号量值小于零时,其绝对值为等待使用信号量所代表资源的进程的数量。

11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1~-(n-1)。

12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为个n。

13. 如果信号量的当前值为-5,则表示系统中在该信号量上有5 个等待进程。

14.某程序运行时经常需打印中间结果。

计算时,该进程处于用户态,打印时处于系统态,打印结束时进程处于用户态。

(指系统状态)、15. 在操作系统中引入线程的主要目的是减少程序并发执行时的时空开销,使OS更具有并发性。

16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。

17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过系统调用。

18. 进程初建时处于就绪态,运行时因为时钟中断而处于就绪态,因等待事件或资源而处于阻塞态。

操作系统实验2进程管理报告

操作系统实验2进程管理报告

实验一进程管理一、实验目的:1.加深对进程概念的理解,明确进程和程序的区别;2.进一步认识并发执行的实质;3.分析进程争用资源的现象,学习解决进程互斥的方法;4.了解Linux系统中进程通信的基本原理;二、实验预备内容:1.阅读Linux的sched.h源码文件,加深对进程管理概念的理解;2.阅读Linux的fork()源码文件,分析进程的创建过程;三、实验环境说明:1.此实验采用的是Win7(32bit)下虚拟机VMware-workstation-10.0.4 build-2249910;2.ubuntu 版本3.19.0;3.直接编写c文件在终端用命令行执行;4.虚拟机分配8G内存中的1024M;5.虚拟机名称knLinux;6.ubuntu用户名kn;四、实验内容:1.进程的创建:a)题目要求:编写一段程序,使用系统调用fork() 创建两个子进程。

当此程序运行时,在系统中有一个父进程和两个子进程活动。

让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。

试观察记录屏幕上的显示结果,并分析原因。

b)程序设计说明:一个父进程,两个子进程,分别输出显示a,b,c。

c)源代码:d)运行结果:e)分析:由输出结果可知,运行结果不唯一,可以是abc,acb,bca等多种情况。

因为在程序中,并没有三个进程之间的同步措施,所以父进程和子进程的输出顺序是随机的。

在试验次数足够大的情况下,6中顺序都有可能出现:abc, acb, bac, bca, cab, cba。

2.进程的控制:a)修改已经编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。

i.程序设计说明:将第一个程序中输出字符的语句改为输出parent process和childprocess1&2的语句。

ii.源代码:iii.运行结果:iv.分析:发现在结果中,运行结果同第一个程序,但是在一个进程输出语句的中途不会被打断,语句都是完整的。

第二章 进程管理

第二章 进程管理

第二章进程管理第一部分教材习题(P81)1、什么是前趋图?为什么要引入前趋图?2、试画出下面4条语句的前趋图:S1:a:=x+y;S2:b:=z+1;S3: c:=a-b;S4: w:=c+1;【解】前趋图如下:3、为什么程序并发执行会产生间断性特征?(P36)4、程序并发执行,为何会失去封闭性和可再现性?(P37)【解】程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。

同时由于失去了封闭性,也将导致其再失去可再现性。

程序在并发执行时,由于失去了封闭性,程序经过多次执行后,其计算机结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性。

5、在操作系统中为什么要引入进程概念?(P37)它会产生什么样的影响?【解】在操作系统中引入进程的概念,是为了实现多个程序的并发执行。

传统的程序不能与其他程序并发执行,只有在为之创建进程后,才能与其他程序(进程)并发执行。

这是因为并发执行的程序(即进程)是“停停走走”地执行,只有在为它创建进程后,在它停下时,方能将其现场信息保存在它的PCB中,待下次被调度执行是,再从PCB中恢复CPU现场并继续执行,而传统的程序却无法满足上述要求。

建立进程所带来的好处是使多个程序能并发执行,这极大地提高了资源利用率和系统吞吐量。

但管理进程也需付出一定的代价,包括进程控制块及协调各运行机构所占用的内存空间开销,以及为进行进程间的切换、同步及通信等所付出的时间开销。

6、试从动态性、并发性和独立性上比较进程和程序?(P37)【解】(1)动态性:进程既然是进程实体的执行过程,因此,动态性是进程最基本的特性。

动态性还表现为:“它由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤消而消亡”。

可见,进程有一定的生命期。

而程序只是一组有序指令的集合,并存放在某种介质上,本身并无运动的含义,因此,程序是个静态实体。

第二章课后习题解答

第二章课后习题解答
【解答】增加一个信号量S,用于在写进程到达后封锁后续的读进程。 semaphore S=1; 在读进程开头,增加两句; P(S); V(S); 即所有访问该文件的进程,在申请读以前,先申请信号量S。如果没有写 进程,则可以直接通过;如果存在写进程,则该信号量S申请不到,该读者 进程等待。 对于写进程,首先应该申请信号量S,由于读者进程申请到以后接着释放 该信号量,所以写者进程更容易申请到S。写者进程申请到S以后,直到 写操作完成以后才释放该信号量。因此,读者进程和写进程改为:
1
第2章 进程管理
3.程序并发执行,为什么会失去封闭性和可再现性? 【解答】在程序并发执行的环境下,多个进程共享系统中 的资源,这些资源是否被使用,及每一时刻由哪个进程使 用,将由多个进程的相互作用而决定。这样,程序的执行 就失去了封闭性。某个进程的执行必然受到其它进程的影 响。 由于进程在并发执行的过程中失去了封闭性,当下一次再 运行该程序时,系统中存在的进程及各进程的状态都可能 发生变化,导致进程的执行失去可再现性。 4.什么叫进程的并发性?试举一个进程并发执行的例子。 【解答】多个进程在同一时间间隔内同时发生,叫做进程 的并发性。 例如:我们在Linux系统下使用编辑器vi进行编辑,而此 时系统正在后台运行一个编译程序,此时,两个进程并发 执行。
/*写者进程*/ void writer() { while(1) {wait(s); wait(wmutex); 执行写操作; signal(wmutex); signal (s);
} }
第2章 进程管理
18.试利用记录型信号量写出一个不会出现死锁的哲学家进 餐问题的算法。 【解答】有多种算法可解决该问题。
5
10.在创建一个进程时,所要做的工作有 哪些?

第二章 进程管理-答案

第二章 进程管理-答案

第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。

A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。

A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。

A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。

A. 异步性B. 并发性C. 静态性D. 动态性5、各进程向前推进的速度是不可预知,体现出“走走停停”的特征,称为进程的()。

A.动态性B.并发性C.调度性D.异步性6、在单处理机系统中,处于运行状态的进程()。

A.只有一个B. 可以有多个C.不能被挂起D. 必须在执行完后才能被撤下7、下列进程状态的转换中,不正确的是()。

A. 就绪→运行B. 运行→就绪C. 就绪→阻塞D. 阻塞→就绪8、已经获得除()以外的所有运行所需资源的进程处于就绪状态。

A.存储器B. 打印机C. CPUD. 磁盘空间9、一个进程被唤醒意味着()。

A.该进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首10、进程从运行状态变为阻塞状态的原因是()。

A.输入或输出事件发生B.时间片到C.输入或输出事件完成D.某个进程被唤醒11、为了描述进程的动态变化过程,采用了一个与进程相联系的(),根据它而感知进程的存在。

A.进程状态字B. 进程优先数C.进程控制块D. 进程起始地址12、操作系统中有一组常称为特殊系统调用的程序,它不能被系统中断,在操作系统中称为()。

A.初始化程序B. 原语C.子程序D. 控制模块13、进程间的基本关系为()。

A.相互独立与相互制约B.同步与互斥C.并行执行与资源共享D. 信息传递与信息缓冲14、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。

第2章 进程管理

第2章 进程管理

第2章进程管理解答一、单项选择题[解答]1.d。

.2.c。

进程的实体由PCB、程序与数据3部分组成。

3.b。

4.b。

允许3个进程同时进入互斥段的互斥信号量初值设为3。

5.d。

并发进程之间可能存在同步与互斥关系,也可能不存在任何关系。

6.a。

7.c。

由于互斥信号量的初值是1,则极端情况是一个进程访问临界资源而其余N-1个进程处于等待状态,即信号量的值为-(N-1)8.d。

当资源总数为4,并发进程为2,每个进程的最大需求是3时,可能够出现每个进程都占用2个资源而又申请第3个资源的死锁状态。

9.a。

先来先服务、响应比高者优先和均衡调度算法都属于作业调度算法。

10.b。

进程从执行态变成就绪态通常有两种情况:(1)分时操作系统下时间片到;(2)剥夺式进程调度方式下有更高优先级的进程进入就绪状态。

11.b。

12.c。

13.d。

如果存在就绪进程且处理机空闲时,进程调度程序就必然选中一个就绪进程使之投入运行;所以d错误。

14.d。

a~c概念都不完全。

15.d。

a~c都会引进操作系统选择新进程运行,仅d不会。

16.a 17. a 18。

d 19。

d 20。

b 21。

a 22。

d 23。

d 24。

a 25.b 26.c 27。

b 28。

d 29。

c 30。

B二、填空题[解答]1.线性表链接表(或队列) 2.删除剥夺3.因为PCB是进程存在的唯一标志,故填PCB 4.资源竞、进程推进顺序不当5.非剥夺条件逐次请求条件环路条件 6.就绪运行7.进程中访问临界资源的那段程序代码8.当出现死琐的极端情况时,处于等待的进程数为n,故填n9.可用资源的数目,因请求该资源而被阻塞的进程数目10.剥夺式调度总是将优先级高的进程(不包括等待队列上的进程)投入运行,故填“剥夺式”11.P V12.当信号量知小于零时,其绝对值为被阻塞的进程个数,故填413.互斥、同步、条件变量14. —2~2 15.临界区(或互斥段) 16.程序数据 PCB. 17.银行家算法 18.同步 19.运行态进程调度 20.创建消亡21.资源分配独立运行调度 22.临界区 P操作 V操作23.引起进程调度的原因进程调度算法的选择就绪队列的组织.三、问答题1.试比较进程和程序的区别。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) 活动阻塞→静止阻塞。
(3) 静止就绪→活动就绪。
(4) 静止阻塞→活动阻塞。
第一章 操作系统引论
执行
起 挂
请 求 I/O
激活 活动 就绪 激活 挂起 静止 就绪
释 放
活动 阻塞
挂起
静止 阻塞
图 2-6 具有挂起状态的进程状态图
释 放
第一章 操作系统引论
2.1.5 进程控制块
1. 进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能 独立运行的程序(含数据),成为一个能独立运行的基本单 位,一个能与其它进程并发执行的进程。或者说,OS是
就绪 时间片完 I/O完成 进程调度
阻塞
I/O请求
执行
图 2-5 进程的三种基本状态及其转换
第一章 操作系统引论
3. 挂起状态 1) 引入挂起状态的原因 (1) 终端用户的请求。 (2) 父进程请求。 (3) 负荷调节的需要。 (4) 操作系统的需要。
第一章 操作系统引论
2) 进程状态的转换
(1) 活动就绪→静止就绪。
H
I
J
K
L
M
图 2-9 进程树
第一章 操作系统引论
2. 引起创建进程的事件 (1) 用户登录。
(2) 作业调度。 (3) 提供服务。 (4) 应用请求。
第一章 操作系统引论
3. 进程的创建(Creation of Progress) (1)申请空白PCB。 (2) 为新进程分配资源。 (3) 初始化进程控制块。 (4) 将新进程插入就绪队列,如果进程就绪队列能够 接纳新进程, 便将新进程插入就绪队列。
进程的PCB的首地址。
第一章 操作系统引论
3. 进程控制块的组织方式 1) 链接方式
执行指针 PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9

就绪队列指针
4 3 0 8 7 9 0 1
阻塞队列指针
空闲队列指针
图 2-7 PCB链接队列示意图
第一章 操作系统引论
第一章 操作系统引论
2.1.3 程序的并发执行及其特征
1. 程序的并发执行
I1 I2 I3 I4
C1
C2
C3
C4
P1
P2
P3
P4
图 2-3 并发执行时的前趋图
第一章 操作系统引论
在该例中存在下述前趋关系: Ii→Ci,Ii→Ii+1, Ci→Pi, Ci→Ci+1,Pi→Pi+1 而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以 并发执行。 对于具有下述四条语句的程序段:
对于图 2-2(a)所示的前趋图, 存在下述前趋关系: P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9 或表示为: P={P1, P2, P3, P4, P5, P6, P7, P8, P9}
第一章 操作系统引论
2.1.4 进程的特征与状态
1. 进程的特征和定义
1) 结构特征 2) 动态性 3) 并发性
4) 独立性
5) 异步性
第一章 操作系统引论
较典型的进程定义有: (1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。
(3) 进程是程序在一个数据集合上运行的过程,它是系
→={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi,
Pj)∈→,可写成Pi→Pj ,称Pi是Pj 的直接前趋,而称Pj是Pi的直
接后继。在前趋图中,把没有前趋的结点称为初始结点
(Initial Node),把没有后继的结点称为终止结点(Final Node)。
第一章 操作系统引论
3) 外界干预 外界干预并非指在本进程运行中出现了异常事件, 而是指进程应外界的请求而终止运行。这些干预有: ① 操作员或操作系统干预。 由于某种原因,例如,发生了 死锁, 由操作员或操作系统终止该进程; ② 父进程请 求。 由于父进程具有终止自己的任何子孙进程的权利, 因而当父进程提出请求时,系统将终止该进程; ③ 父进 程终止。 当父进程终止时,OS也将他的所有子孙进程终 止。
根据PCB来对并发执行的进程进行控制和管理的。
第一章 操作系统引论
2. 进程控制块中的信息 1) 进程标识符
进程标识符用于惟一地标识一个进程。一个进程通常
有两种标识符: (1) 内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。
第一章 操作系统引论
3) 进程调度信息 在 PCB中还存放一些与进程调度和进程对换有关的信 息,包括: ① 进程状态,指明进程的当前状态, 作为进 程调度和对换时的依据;② 进程优先级,用于描述进程使
用处理机的优先级别的一个整数, 优先级高的进程应优先
获得处理机; ③ 进程调度所需的其它信息,它们与所采 用的进程调度算法有关,比如,进程已等待CPU的时间总 和、 进程已执行的时间总和等;④ 事件,是指进程由执 行状态转变为阻塞状态所等待发生的事件,即阻塞原因。
第一章 操作系统引论
I1
C1
P1
I2
C2
程序的顺序执行
(b ) 三条语句的顺序执行
图 2-1 程序的顺序执行
第一章 操作系统引论
2. 程序顺序执行时的特征
(1) 顺序性:
(2) 封闭性: (3) 可再现性:
第一章 操作系统引论
2.1.2 前趋图
前趋图 (Precedence Graph) 是一个有向无循环图,记为 DAG(Directed Acyclic Graph),用于描述进程之间执行的前后 关系。图中的每个结点可用于描述一个程序段或进程,乃至 一条语句;结点间的有向边则用于表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)“→”。
→={ (P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7),
(P5, P8), (P6, P8), (P7, P9), (P8, P9)}
应当注意,前趋图中必须不存在循环,但在图2-2(b)中却有着
下述的前趋关系: S2→S3, S3→S2
第一章 操作系统引论
每个结点还具有一个重量(Weight),用于表示该结点所 含有的程序量或结点的执行时间。
Ii→Ci→Pi和S1→S2→S3
P2 P5 P1 P3 P6 P4 P7 (a ) 具有九个结点的前趋图 P8 P9 S2 S1
S3
(b ) 具有循环的前趋图
图 2-2 前趋图
第一章 操作系统引论
第一章 操作系统引论
2. 进程的终止过程
(1) 根据被终止进程的标识符,从PCB集合中检索出该 进程的PCB,从中读出该进程的状态。 (2) 若被终止进程正处于执行状态,应立即终止该进程 的执行,并置调度标志为真,用于指示该进程被终止后应 重新进行调度。 (3) 若该进程还有子孙进程,还应将其所有子孙进程予 以终止,以防他们成为不可控的进程。
在分时系统中,用户可利用Logs off去表示进程运行完毕, 此时同样可产生一个中断,去通知OS进程已运行完毕。
第一章 操作系统引论
2) 异常结束 在进程运行期间,由于出现某些错误和故障而迫使进程
终止。这类异常事件很多,常见的有:① 越界错误。这是指
程序所访问的存储区,已越出该进程的区域; ② 保护错。进 程试图去访问一个不允许访问的资源或文件,或者以不适当
的方式进行访问,例如,进程试图去写一个只读文件; ③ 非
法指令。程序试图去执行一条不存在的指令。出现该错误的 原因,可能是程序错误地转移到数据区,把数据当成了指令; ④ 特权指令错。用户进程试图去执行一条只允许OS执行的指 令; ⑤ 运行超时。进程的执行时间超过了指定的最大值; ⑥ 等待超时。进程等待某事件的时间, 超过了规定的最大值; ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如, 被0除;⑧ I/O故障。这是指在I/O过程中发生了错误等。
统进行资源分配和调度的一个独立单位。 在引入了进程实体的概念后,我们可以把传统OS中的 进程定义为:“进程是进程实体的运行过程,是系统进行 资源分配和调度的一个独立单位”。
第一章 操作系统引论
2. 进程的三种基本状态 1) 就绪(Ready)状态 2) 执行状态 3) 阻塞状态
第一章 操作系统引论
第一章 操作系统引论
4) 进程控制信息 进程控制信息包括:① 程序和数据的地址, 是指进
程的程序和数据所在的内存或外存地 (首) 址,以便再调度
到该进程执行时,能从PCB中找到其程序和数据;② 进程 同步和通信机制,指实现进程同步和进程通信时必需的机 制, 如消息队列指针、信号量等,它们可能全部或部分地 放在PCB中; ③ 资源清单,是一张列出了除CPU以外的、 进程所需的全部资源及已经分配到该进程的资源的清单; ④ 链接指针, 它给出了本进程(PCB)所在队列中的下一个
S1: a∶=x+2
S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b
第一章 操作系统引论
S1 S3 S2 S4
图 2-4 四条语句的前趋关系
第一章 操作系统引论
2. 程序并发执行时的特征 1) 间断性 2) 失去封闭性 3) 不可再现性
例如,有两个循环程序 A 和 B,它们共享一个变量 N。程 序A每执行一次时,都要做N∶=N+1操作;程序B每执行一次 时, 都要执行Print(N)操作,然后再将N置成“0”。程序A和 B以不同的速度运行。 (1) N∶=N+1在Print(N)和N∶=0之前,此时得到的N值分 别为n+1, n+1, 0。 (2) N∶=N+1在Print(N)和N∶=0之后,此时得到的N值分 别为n, 0, 1。 (3) N∶=N+1在Print(N)和N∶=0之间,此时得到的N值分 别为n, n+1, 0。
相关文档
最新文档