第二章进程管理
第二章进程管理答案

第二章进程管理一、单项选择题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章 进程

第二章 进 程 管 理
对于具有下述四条语句的程序段: S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b 请画出前趋关系图。
S1 S3 S2 S4
第二章 进 程 管 理
2.2 程序并发执行时的特征
1) 间断性 相互制约性)-后面的模块等待前面的模块 间断性(相互制约性 - 相互制约性 传来的结果,然后才执行(如打印模块等待 计算模块完成)。走走停停。 2) 失去封闭性 :多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变, 致使程序的运行已失去了封闭性。 结果是一个程序运行时会受到另一个程序的 结果是 影响。 3) 不可再现性 :程序在并发执行时,由于失去了封 闭性,也将导致失去其可再现性
第二பைடு நூலகம் 进 程 管 理
新进程
接纳
就绪 时间片完 I/O完成 进程调度
阻塞 I/O请求
执行
完成
结束
图 2-5 进程的三种基本状态及其转换
(教材讲5种)
第二章 进 程 管 理
作业调度
作业后备队列
阻塞队列
外存
进程就绪队列
一些 阻塞队列
内存
处理器 (CPU)
第二章 进 程 管 理
3.7五状态 五状态进程模型 五状态
第二章 进 程 管 理
3.4进程与程序的区别 进程与程序的区别
程序是静态的, 1)程序是静态的 进程是动态的; 是根本区别) 1)程序是静态的,进程是动态的;(是根本区别) 程序是有序代码的集合;进程是程序的执行。 程序是有序代码的集合;进程是程序的执行。 2)进程和程序不是一一对应的 2)进程和程序不是一一对应的 ; • 一个程序可对应多个进程 即多个进程可执行同一程序 ; 一个程序可对应多个进程,即多个进程可执行同一程序 • 一个进程可以执行一个或几个程序 3)进程是暂时的 程序的永久的:进程是一个状态变化的过程, 进程是暂时的, 3)进程是暂时的,程序的永久的:进程是一个状态变化的过程, 程序可长久保存。 程序可长久保存。 4)进程与程序的组成不同 进程的组成包括程序、 进程与程序的组成不同: 4)进程与程序的组成不同:进程的组成包括程序、数据和进程 控制块(即进程状态信息)。 控制块(即进程状态信息)。 5)进程具有创建其他进程的功能 而程序没有。 进程具有创建其他进程的功能, 5)进程具有创建其他进程的功能,而程序没有。
第2章 进程管理课后习题解答

第题中,如果修改问题中的同步算法,要求 对写进程优先,即一旦写进程到达,后续的读者进程必须等待, 而无论是否有读者进程在读文件。写出相应进程的程序段。 semaphore fmutex=1, rmutex=1, wmutex=1;que=1;
int rcount=0, wcount=0; void main() { parbegin(reader, writer); }
12
void reader { while(1) { wait(que); wait(rmutex); if(0==readcount) wait(fmutex); readcount++; signal(rmutex); signal(que); …. begin to read wait(rmutex); readcount--; if(readcount==0) signal (fmutex); signal(rmutex); } }
读者—写者问题(读优先) 读者 写者问题(读优先) 写者问题 semaphore rmutex=1,wmutex=1; int readcount=0; = void main() { parbegin(reader,writer); }
读者进程: 读者进程: void reader() { while(1) { wait(rmutex); if (readcount==0) wait(wmutex); readcount++; signal(rmutex); … 读操作 wait(rmutex); readcount--; if (readcount==0) signal(wmutex); signal(rmutex); } }
18
chopstick[ ={1 semaphore chopstick[5]={1,1,1,1,1}; viod main() { parbegin(P0(),P1(),P2(),P3(),P4()); parbegin(P0(),P1(),P2(),P3(),P4()); } Pi() /*i=0,1,2,3,4*/ { while(1) { wait(chopstick[i]); [ ] wait(chopstick[(i+1)%5]); [ ] eating; … signal(chopstick[i]); [ ] signal(chopstick[(i+1) %5]); [ ] thinking; } }
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种状态的进程状态及其转换 新建、就绪、运行、阻塞、终止 新建:对应进程刚被创建的状态,为一个新进程 创建必要的管理信息,它并没有被提交运行, 而是等待操作系统完成创建进程的必要操作。 终止:进程已完成执行就变为终止状态。进入终 止态的进程不再执行,但依然临时保留在系统 中等待善后。一旦其他进程完成了终止进程的 信息抽取后,系统将删除该进程。
130524U18-9521

第二章 进程管理
第二章 进程管理
4、进程控制
进程控制:系统使用一些具有特定功能的程序段来创建、撤 销进程以及完成进程各状态间的转换,从而达到多进程高效 率并发执行和协调、实现资源共享目的。
原语:完成某种特定功能的独立的程序段。(不可分割,也 不能并发执行)
进程控制原语:指令级,功能级 常见进程控制原语:创建原语,撤销原语,阻塞原语,唤醒
第二章 进程管理
进程和程序的的区别
1、进程是动态概念,程序是静态概念。 2、进程具有并发性 3、进程是资源分配和调度的基本单位 4、多个进程可以同时执行一个程序
2.1.2进程的状态和进程控制块
第二章 进程管理
1、进程控制块 进程的实体由程序、数据和进程控制块PCB组成。PCB随着进程
化)
第二章 进程管理
进程具有以下基本特征: 动态性:进程的动态性一方面表现在“程序执 行过程”,另一方面表现在它的动态产生和消亡。 并发性:进程的并发性表现为多个进程实体同 时在系统中运行,它们轮流占用CPU和各种资源, 从宏观上看各进程在同一时间内并发执行着。 制约性:并发执行的各个进程必然会相互制约。 在对有限资源的共享和竞争中,这种制约关系表现 为相互排斥。由于进程之间需要相互传递数据信息, 这时的制约表现为相互合作关系。
第二章 进程管理
(3) 资源信息:记录进程对资源的需求、分配和控制信息 特权信息:记录进程访问内存的权限。 存储信息:记录进程在辅存中的位置及大小。 资源占有使用信息:进程的可重用资源和可消费资源,是对
进程占有和使用CPU及I/O设备的情况记录。 (4) 现场信息:记录进程使用处理器时的各种现场信息,主要
第二章 进程管理
进程的状态转换图
操作系统原理第二章进程管理

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:有一批程序,而每个程序需输入,计算,
第二章 进程管理-答案

第二章进程管理一、单项选择题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.1.3 进程的状态模型
新建
准许
准许
挂起
静止就绪
事件 发生
静止阻塞
激活 挂起
激活 挂起
活动就绪
事件 发生 活动 阻塞
分派 超时
运行
等待 事件
释放
退出
பைடு நூலகம்
图2-8 有挂起态的七状态模型
在新的状态模型中,比较重要的新转换如下: ►(1)活动阻塞→静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞
态进程就会被挂起。
分派
进入
非运行
运行
退出
暂停 图2-3 两状态模型
2.1.3 进程的状态模型
2. 三状态模型
三状态模型中进程的三种基本状态如下:
►(1)就绪状态(Ready)。一个进程获得了除处理机之外所需的一切资源,一 旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一 个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。
2.1.3 进程的状态模型
3. 五状态模型
新建态
进入就 绪队列
运行态
被调 度 时间片
用完
就绪态
事件
发生
退出态 等待事件 阻塞态
图2-6 五状态模型图
►为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建 的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还 没有加载到内存中的新进程。
►同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所 处的状态,我们称为退出态。
2.1.3 进程的状态模型
五状态模型中的状态转换:
►(1)空→新建:创建一个程序的新进程。
进程管理

第二章进程管理2.1 进程的基本概念2.1.1 程序的顺序执行及其特征1.程序的顺序执行程序是人们要计算机完成的一些指令序列,是一个按严格次序、顺序执行的操作序列,是一个静态的概念。
我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。
2.1.2 进程的定义与特征1.进程的定义人们对进程下过许多定义。
现列举其中的几种:⏹进程是程序的一次执行。
⏹进程是可以和别的进程并发执行的计算。
⏹进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。
⏹进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位⏹进程是动态的,有生命周期的活动。
内核可以创建一个进程,最终将由内核终止该进程使其消亡。
进程和程序是两个完全不同的概念,但又有密切的联系。
它们之间的主要区别是:⏹程序是静态的概念;而进程则是程序的一次执行过程。
它是动态的概念。
⏹进程是一个能独立运行的单位,能与其它进程并发执行;而程序是不能作为一个独立运行的单位而并发执行的。
⏹程序和进程无一一对应的关系。
⏹各个进程在并发执行过程中会产生相互制约关系,而程序本身是静态的,不存在这种异步特征。
2.1.3 进程的基本状态及转换1.进程的三个基本状态进程通常至少有三种基本状态:(1)就绪状态(ready)进程运行所需的外部条件满足,但因为其它进程已占用CPU,所以暂时不能运行。
(2)执行状态(running)外部条件满足,进程已获得CPU,其程序正在执行。
在单处理机系统中,只有一个进程处于执行状态。
(3)阻塞状态(blocked)进程因等待某种事件发生,而暂时不能运行的状态,称为阻塞状态,也称为等待状态。
系统中处于这种状态的进程可能有多个,通常将它们排成一个队列,也有的系统则根据阻塞原因的不同将这些进程排成多个队列。
2.进程状态的转换对于一个系统中处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行,相应地,它由就绪态转变为执行状态。
第二章 进程管理、作业管理

27
2 调度的层次 高级调度 :又称为“长程调度”、“作 业调度”。从用户工作流程的角度,一次 提交的若干个流程,其中每个程序按照进 程调度。时间上通常是分钟、小时或天。 接纳多少作业 接纳哪些作业 调度算法
29
低级调度:又称为“短程调度”、“进程或线 程”。从CPU资源的角度,执行的单位。时间上 通常是毫秒。因为执行频繁,要求在实现时达到 高效率。 两种调度方式: 非抢占方式 抢占方式 时间片 优先权 短作业(进程)优先 中级调度:又称为“中程调度”,内外存交换。 从存储器资源的角度。将进程的部分或全部换出 到外存上,将当前所需部分换入到内存。指令和 数据必须在内存里才能被CPU直接访问。
平均周转时间T 平均带权周转时间(带权周转时间W是 T(周转)/T(CPU 执行)〕
31
响应时间:用户输入一个请求(如击键)到系统 给出首次响应(如屏幕显示)的时间--分时系 统 截止时间:开始截止时间和完成截止时间--实 时系统,与周转时间有些相似。 优先权:可以使关键任务达到更好的指标。 不因作业或进程本身的特性而使上述指标过分恶 化。如长作业等待很态、寄存 器上下文和栈 同样具有就绪、阻塞和执行三种基本状态
16
线程与进程
one process one thread
one process multiple threads
multiple processes one thread per process
multiple processes multiple threads per process
第二章 进程管理、作业管理
2.1 基本概念
第二章 进程管理 在多道程序批处理系统和分时系统中,程序并不能独立运行。作为资源分配和独立运行的基本

–程序在并发执行时,是多个程序共享系统中的各种资 源,因而这些资源的状态将由多个程序来改变,致使 程序的运行失去了封闭性。
• 不可再现性
–程序在并发执行时,由于失去了封闭性,也导致失 去了可再现性。
例如:有两个循环程序A和B,它们共享一个变量N。 程序A每执行一次时都要做N:=N+1操作;程序B每 执行一次时,都要做print(N)操作,然后再将N置 成“0”,程序A和B以不同的速度运行。(假定某时 刻变量N的值为n)
–2)动态性动态性是进程最基本的特征。由创建
而产生,由调度而执行,由撤销而消亡
–3)并发性这是指多个进程实体,同存于内存中,
能在一段时间内同时运行。并发性是进程的重要特 征,同时也成为OS的重要特征。引入进程的目的也 是为了使该进程的程序能和其它进程的程序并发执 行
• 特征
2.1.2前趋图
• 前趋图(Procedence Graph)是一个有向无循环图。用 于描述进程之间执行的前后关系。结点:表示一条语 句、一个程序段或进程;边( -> ):表示在两结点之间 存在的偏序或前趋关系。
• ->={(Pi,Pj)| Pi must complete before Pj may start}, 如果(Pi,Pj) ∈ ->可写成 Pi -> Pj,称Pi是Pj的直接前 趋, Pj 是Pi的直接后继。
4 7个结点的前趋图
2.1.3程序的并发执行及其特征
• 某些程序段的执行在时间上是重叠的
I1
I2
I3
I4
C1
C2
C3
C4
P1
P2
P3
P4
• 在上图中存在下属的前趋关系:
• Ii Ci ,Ii Ii+1,Ci Pi,Ci Ci+1,
操作系统概念课后习题答案

操作系统概念课后习题答案操作系统概念课后习题答案第一章:引论1.操作系统的定义:操作系统是计算机系统中的一个软件层,它管理和控制计算机硬件资源,为用户和应用程序提供接口和服务。
2.操作系统的功能:处理器管理、存储器管理、设备管理、文件管理和用户界面等。
第二章:进程管理1.进程的概念:进程是一个正在执行的程序的实例,它由代码、数据和执行环境组成。
2.进程状态:就绪、运行和阻塞。
3.进程调度算法:先来先服务、最短作业优先、时间片轮转和优先级调度等。
第三章:线程管理1.线程的概念:线程是进程的一个执行单元,一个进程可以包含多个线程。
2.线程与进程的区别:线程共享相同的地质空间和文件描述符,而进程拥有独立的地质空间和文件描述符。
3.线程模型:用户级线程模型和内核级线程模型。
第四章:内存管理1.内存管理的目标:实现内存的分配与回收、内存的保护和共享。
2.内存分配的概念:连续分配、非连续分配和虚拟内存分配。
3.地质转换:逻辑地质到物理地质的转换过程,包括分段、分页和段页式等。
第五章:存储器管理1.存储器的层次结构:主存储器、辅助存储器和高速缓存。
2.页面置换算法:最佳置换算法、先进先出算法、最近最久未使用算法和时钟置换算法等。
3.虚拟内存的概念:将存储器抽象成一组连续的地质空间,实现大容量存储和地质共享。
第六章:设备管理1.设备管理的功能:设备分配、设备驱动程序和设备中断处理等。
2.设备分配算法:先来先服务、最短作业优先和轮转法等。
3.磁盘调度算法:先来先服务、最短寻道时间优先和扫描算法等。
第七章:文件管理1.文件的概念:文件是命名的、有序的数据集合,它是操作系统中最基本的数据组织方式。
2.文件系统的组织结构:层次式文件系统、索引式文件系统和线性文件系统等。
3.文件共享与保护:文件锁机制、权限控制和访问控制列表等。
第八章:I/O系统1.I/O系统的组成部分:I/O设备、I/O控制器和设备驱动程序等。
2.I/O操作的方式:程序控制I/O和中断驱动I/O。
OS

process A:
wait(DS); . .
.
process B:
. . . . . .
wait(ES); A阻塞
. . . . . .
wait(ES);
. . . . . .
wait(DS); B阻塞 进程出现死锁!
AND同步机制的基本思想是:
将进程在整个运行过程中需要的所有资源,一
次性全部地分配给进程,待进程使用完后再一起释
放。只要尚有一个资源未能分配给进程,其它所有 可能为之分配的资源,也不分配给他。亦即,对若 干个临界资源的分配,采取原子操作方式:要么全 部分配到进程,要么一个也不分配。
AND同步机制的定义如下:
Swait(S1, S2, „, Sn) if S1≥1 and „ and Sn≥1 then for i∶ =1 to n do Si∶=Si-1; endfor else place the process in the waiting queue associated with the first Si found with Si<1, and set the program count of this process to the beginning of Swait operation endif Ssignal(S1, S2, „, Sn) for i∶ =1 to n do Si=Si+1; Remove all the process waiting in the queue associated with Si into the ready queue. endfor;
生产者和消费者问题:
• 生产者和消费者两进程共享下面的变量:
• • • • • Var n, integer; Type item=…; var buffer : array[0, 1, …, n-1] of item; in, out: 0, 1, …, n-1; Counter : 0, 1, …, n;
第二章 进程管理习题及答案

第二章进程管理习题及答案一、填空题1.进程的静态描述由三部分组成:① 、② 和③ 。
【答案】①PCB、②程序部分、③相关的数据结构集【解析】PCB是系统感知进程的唯一实体。
进程的程序部分描述了进程所要完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。
后两部分是进程完成所需功能的物质基础。
2.进程存在的标志是。
【答案】进程控制块PCB【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。
3.① 是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了② 这一概念。
【答案】①程序的并发执行,②进程【解析】程序的并发执行和资源共享是现代操行系统的基本特征。
程序的并发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。
在程序并发执行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来描述程序并发执行所具有的特点。
4.给出用于进程控制的四种常见的原语① 、② 、③ 和④ 。
【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实现资源共享的目的。
把那些在管态下执行的具有特定功能的程序段称为原语。
5.进程被创建后,最初处于① 状态,然后经② 选中后进入③ 状态。
【答案】①就绪,②进程调度程序,③运行【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。
被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。
6.进程调度的方式通常有① 和② 方式两种。
【答案】①可剥夺、②非剥夺【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程的优先级的进程存在时,便立即发生进程调度,转让处理机。
操作系统教程Linux实例分析孟庆昌第2章进程管理讲课教案

第2章 进程管 理
2. Thread结构
每个线程有一个Thread结构, 用于保存与线程有
关的信息, 主要由以下几个基本部分组成:
(1) 一个惟一的线程标识符。
2
描述处理器状态的一组状态寄存器的内容,
用于调度。
3
每个Thread结构有两个堆栈指针: 一个指向
核心堆栈, 一个指向用户堆栈。
4
一个私有存储区, 存放现场保护信息及其他
第2章 进程管 理
(5) 通信信息。 它反映该进程与哪些进程有什么样 的通信关系, 如等待哪个进程的信号等。
(6) 现场保护区。 当对应进程由于某个原因放弃使 用CPU时, 需要把它的一部分与运行环境有关的信息保 存起来, 以便在重新获得CPU后能恢复正常运行。
第2章 进程管 理
(7) 资源需求、 分配和控制方面的信息。 如进程 所需要或占有的I/O设备、 磁盘空间、 数据区等。
第2章 进程管 理
图2-5 进程状态及其变化
第2章 进程管 理
在很多操作系统中, 又添加了两种基本状态: 创 建 态和终止态。 创建态是指新进程正被创建时的状态,当 创建工作完成后它就进入到就绪态。 终止态是指进 程 正常或非正常终止时所处的状态, 它的必然结局是 从 系统中消失。 上述五种进程状态及其变迁情况如图 2-6 所示。
第2章 进程管 理
图2-8 PCB构成
第2章 进程管 理
1
进程名。 它是惟一标志对应进程的一个标志
符或数字。
(2) 特征信息。 它包括是系统进程还是用户进程, 进程映像是否常驻内存等。
(3) 进程状态信息。 它表明该进程的执行状态, 是运行态、 就绪态还是阻塞态。
(4) 调度优先权。 这表示进程获取CPU的优先级别。
第二章 进程管理-答案

第二章进程管理一、单项选择题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、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。
chap2进程管理

end
S6
例题
设有一个作业由4个进程组成,这4个进程必须按下图所 示的次序运行,试用P、V操作表达4个进程的同步关系。 a
P2
P1
b
P3
c
P4
d
习题1
1. 在多进程的系统中,为了保证公共变量的完整性, 各进程应互斥地进入临界区。所谓临界区是指 ( )。 A.一个缓冲区 B.一段数据区 C.同步机制 D.一 段程序 2. 如果多个进程共享系统资源或相互合作完成一个 共同的任务,则诸进程是以( )方式运行的。对 临界资源访问时采用( )方式,对于相互合作的 进程采用( )方式以协调各进程执行的( )。 A.共享 B.独立 C.互斥 D.同步 E. 次序 F. 次数 G.异步 3. 请阐述对于互斥临界区的管理要求。
问题思考:进程和程序的区别和联系?
区别: 1)进程是指令的有序集合,是静态的,进程是程序的执行,是 动态的。 2)进程的存在是暂时的,程序的存在是永久的。 3)进程的组成应包括程序和数据。除此之外,进程还应由记录 进程状态信息的“进程控制块”组成。
联系: 程序是构成进程的组成部分之一,一个进程的运行目标是 执行它所对应的程序。如果没有程序,进程就失去了其存在的 意义。从静态的角度看,进程由程序、数据和进程控制块三部 分组成。
创建进程(调用原语Create())的主要工作
向系统申请一个空闲的PCB。 分配资源,如内存。 给PCB的各数据项臵初值(进程名,状态,CPU信息,程序 计数器,栈指针,寄存器)——故调用创建原语的进程,必须提 供PCB的有关参数。 把新的PCB插入就绪队列。
课
堂 练 习
1、进程的定义是什么?它由哪几部分组成?它最少有哪 几种状态? 答:进程是进程实体的一次执行过程。进程由程序、数据 和进程控制块组成。一个进程至少有就绪、执行和阻塞三种 状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章进程管理
进 程 的同步
DDE技术通信原理
动态数据交换(Dynamic Data Exchange,DDE)是一种进程间通信形式。 两个同时运行的程序间通过DDE方式交换数据时是客户/服务器关系,一旦 客户和服务器建立起来连接关系,则当服务器中的数据发生变化后就会马 上通知客户。通过DDE方式建立的数据连接通道是双向的,即客户不但能 够读取服务器中的数据,而且可以对其进行修改。
第二章进程管理
Var RN integer;
L, mx:semaphore ∶ = RN,1;
begin
parbegin
READER:begin
repeat
Swait(L,1,1);
Swait(mx,1,0);
…
perform read operation;
…
Ssignal(L,1); until false; end
第二章进程管理
进 程 的同步
1. 利用记录型信号量解决生产者—消费者问题
具有n个缓冲区公用缓冲池中
互斥信号量mutex实现诸进程对缓冲池的互斥使用
信号量empty表示缓冲池中空缓冲区数量。
信号量full表示缓冲池中满缓冲区的数量。
mutex为公用信号量,full与empty与私用信号量
假定这些生产者和消费者相互等效,只要缓冲池未满,生产者
perform write operation;
signal(wmutex);
until false;
end
parend
end
第二章进程管理
进 程 的同步
进 程 的同步
2. 利用信号量集机制解决读者-写者问题
增加限制,最多允许RN个读者读 信号量L,初值RN,用于控制读者数目 在第RN+1个读者要进入读时,会引起阻塞 使用Swait(S, 1, 0)的方法实现开关作用
Readcount:integer ∶ = 0; begin parbegin READER:begin
repeat wait(rmutex); if readcount=0 then wait(wmutex); Readcount ∶ = Readcount+1; signal(rmutex);
… perform read operation;
便可将消息送入缓冲池;只要缓冲池未空,消费者便可从缓冲池
中取走一个消息。
第二章进程管理
Var mutex, empty, full:semaphore ∶= buffer:array[0, …, n-1] of item; in, out: integer ∶= 0, 0;
begin
parbegin
第二章进程管理
2.6.1 高级进程通信的类型
进 程 的同步
高级通信的定义:P54
第二章进程管理
2.6.1 进程通信的类型
1. 共享存储器系统(Shared-Memory System)
进 程 的同步
(1) 基于共享数据结构的通信方式。 例如生产者-消费者问题中的缓冲池。 该方式增加程序员负担,OS只须提供共享空间,低效,只 能传递少量数据。
… 第二章进程管理
进 程 的同步
wait(rmutex); readcount ∶ = readhen signal(wmutex);
signal(rmutex);
until false;
end
WRITER:begin
repeat
wait(wmutex);
until false;
end
parend
end
第二章进程管理
进 程 的同步
2.4.3 读者-写者问题
1. 利用记录型信号量解决读者-写者问题
进 程 的同步
互斥信号量Wmutex:实现Reader与Writer进程的互斥
整型变量Readcount表示正在读的进程数目。
仅当Readcount=0, 表示尚无Reader进程在读时,Reader进程才 需要执行wait(Wmutex)操作。若wait(Wmutex)操作成功,Reader 进程便可去读,相应地,做Readcount+1操作。
进 程 的同步
第二章进程管理
进 程 的同步
管程的基本概念
管程由三部分组成:① 局部于管程的共享变量说明; ② 对该数据结构进行操作的一组过程;③ 对局部于管程 的数据设置初始值的语句。此外,还须为管程赋予一个 名字。
第二章进程管理
2.6 进 程 通 信
进 程 的同步
信号量适合同步控制, 不适宜作为通信工具。 因此需要高级进程通信方式。
end
第二章进程管理
1,n,0;
进 程 的同步
consumer:begin
repeat
wait(full);
wait(mutex);
nextc ∶ = buffer(out);
out ∶ = (out+1) mod n;
signal(mutex);
signal(empty);
consumer the item in nextc;
proceducer:begin
repeat
…
producer an item nextp;
…
wait(empty);
wait(mutex); buffer(in) ∶= nextp; in ∶= (in+1) mod n;
signal(mutex);
signal(full);
until false;
进 程 的同步
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步
2.4 经典进程的同步问题 2.5
第二章进程管理
上节回顾
进 程 的同步
1. 四种信号量的比较 2. 生产者--消费者问题
➢ 两私一公的典型,公用信号量与私用信号量 ➢ 公用信号量用于资源(变量)互斥,一般在同个过程中 ➢ 私用信号量用于进程控制,多交叉在不同过程中 ➢ 先私后公 3. 哲学家就餐问题:AND信号量
仅当Reader进程在执行了Readcount减1操作后其值为0时,才须 执行signal(Wmutex)操作,以便让Writer进程写。
因为Readcount是一个可被多个Reader进程访问的临界资源,因 此,应该为它设置一个互斥信号量rmutex。
第二章进程管理
读者Var rmutex, wmutex:semaphore ∶ = 1,1;
第二章进程管理
进 程 的同步
WRITER:begin repeat Swait(mx,1,1; L,RN,0); perform write operation; Ssignal(mx,1); until false; end
parend end
第二章进程管理
进 程 的同步
2.5 管 程 机 制