第3章进程的同步与通信

硬件解法:提供专门的硬件指令,允许对一个字的 内容进行检测和修正,或交换两个字的内容
目的:解决共享变量的完整性和正确性 简单、有效,特别适用于多处理机
缺点:忙等待
PPT文档演模板
第3章进程的同步与通信
硬件解法 (1) “测试并设置”指令
• 进程的同步机制可以用软件实现,也可以用硬件实现。
•实现的基本思想是:对临界资源“加锁”
具体方法: n 硬件 n 软件
PPT文档演模板
第3章进程的同步与通信
软件解法 (1)
free: 表示临界区标志 true: 有进程在临界区 false:无进程在临界区(初值) ....
while (free); free = true;
•空循环
临界区
free = false;
PPT文档演模板
第3章进程的同步与通信
•进入P2临界区
•Lock:=false
任何联系的进程
PPT文档演模板
第3章进程的同步与通信
直接作用和间接作用
直接作用:
进程间的相互联系是有意识的安排的, 直接作用只发生在相交进程间
间接作用:
进程间要通过某种中介发生联系,是无 意识安排的,可发生在相交进程之间, 也可发生在无关进程之间
PPT文档演模板
第3章进程的同步与通信
进程的同步(直接作用)
第3章进程的同步与通信
•同步问题2
•A进程
•B进程
•键
•缓冲区
•计


• A进程只有当缓冲区为空时,才能将数据输入缓冲区, B进程只有当缓冲区有数据时,才能从缓冲区取数进行计算。
• 进程的同步与互斥虽然是两个既有区别又有联系的概念, 但从本质上看并发进程的异步执行都必须按一定的相互约束 的时序进行,因此统称为“进程同步”。 • 显然,必须解决好进程的同步问题,才能保证并发进程 的正常执行。
进程的同步:synchronism 指系统中多个进程中发生的事件存在某种 时序关系,需要相互合作,共同完成一项 任务。具体说,一个进程运行到某一点时 要求另一伙伴进程为它提供消息,在未获 得消息之前,该进程处于等待状态,获得 消息后被唤醒进入就绪态
PPT文档演模板
第3章进程的同步与通信
•同步问题1
•2。临界区 (critical section)
每个进程 互斥访问临界资源的那段代码称为临界区。
代码构成如下:
repeat
entry section
进入区 —申请进入临界区
critical section 临界区 —访问临界资源
exit section

退出区 —退出对临界资源的访
remainder section 剩留区 — 进程的其他代码
until false
PPT文档演模板
第3章进程的同步与通信
使用互斥区的原则
有空让进:当无进程在互斥区时,任何有权使用 互斥区的进程可进入
无空等待:不允许两个以上的进程同时进入互斥 区
多中择一:当没有进程在临界区,而同时有多个 进程要求进入临界区,只能让其中之一进入临 界区,其他进程必须等待
有限等待:任何进入互斥区的要求应在有限的时 间内得到满足
•(1)用Test—and—Set 指令实现互斥
TS指令执行过程不可分割。 为临界资源设置一个布尔量 LOCK:
•LOCK = {
•false •true
没有进程在临界区 有进程进入临界区
• TS指令的形式:
• function ts(var lock:boolean):boolean;
• begin
让权等待:处于等待状态的进程应放弃占用CPU, 以使其他进程有机会得到CPU的使用权
PPT文档演模板
第3章进程的同步与通信
•使用互斥区的原则(续)
前提:任何进程无权停止其它进程的运行 进程之间相对运行速度无硬性规定
进程互斥的解决有两种做法: 由竞争各方平等协商 引入进程管理者,由管理者来协调竞争 各方对互斥资源的使用

ts:=lock;

lock:=true;

PPT文档演模板
end;
第3章进程的同步与通信
以两进程P1、P2并发执行为例,如果P1先执行:
•p1
•p2
•调用TS指令 •Y
••TTSS=truuee •N
•进入P1临界区
•Lock:=false
•进入剩余区
•调用TS指令
•Y ••TTS=truuee •N
A race between two or more teams, in which each team member runs only a set part of the race and is then relieved by another member of the team.
PPT文档演模板
PPT文档演模板
第3章进程的同步与通信
进程的互斥(间接作用)
由于各进程要求共享资源,而有些资源需 要互斥使用,因此各进程间竞争使用这 些资源,进程的这种关系为进程的互斥
临界资源:critical resource
系统中某些资源一次只允许一个进程使 用,称这样的资源为临界资源或互斥资 源或共享变量
PPT文档演模板
第3章进程的同步与通信
PPT文档演模板
2020/11/26
第3章进程的同步与通信
3.1 进程间的相互作用
n 进程间的联系 n 进程的同步机制──信号量及P.V操
作(解决进程同步互斥问题)
PPT文档演模板
第3章进程的同步与通信
1.进程间的联系
相交进程与无关进程 相交进程:指多个并发进程在逻辑上有
某种联系界区(互斥区):critical section
一个程序片段的集合,这些程序片段分散 在不同的进程中,对某个共享的数据结 构(共享资源)进行操作 在进程中涉及到临界资源的程序段叫临 界区 多个进程的临界区称为相关临界区
PPT文档演模板
第3章进程的同步与通信
•1。什么是临界资源 • 凡是以互斥方式使用的共享资源都称为临界资源。临界 资源具有一次只允许一个进程使用的属性。
软件解法 (2)
turn: true
P进入临界区
false
Q进入临界区
....
P: while (not turn);
临界区
turn = true;
Q: while (turn); 临界区
turn = false;
PPT文档演模板
第3章进程的同步与通信
软件解法的缺点: 1. 忙等待 2. 实现过于复杂,需要高的编程技巧
合集下载

《计算机操作系统》汤小丹

《计算机操作系统》汤小丹

out 输出指针
计数器
counter
n-1
n-2
0
1 2
3
4 5
in 输入指针
• PP和CP共享的变量: Var n,integer; Type item=„; Var buffer:array[0,1„n-1] of item; in,out:0,1„n-1; counter:0,1„n;
PP:repeat CP:repeat „„ while counter=0 do no-op produce an item in nextp; nextc:=buffer[out]; „„ out:=(out+1)mod n; while counter=n do no-op; counter:=counter-1; buffer[in]:=nextp; consume the item in nextc in:=(in+1)mod n; counter:=counter+1; until false; until false;
记录型信号量
3.2.2
AND型信号量和信号量集

1. AND型信号量集 • 整型和记录型信号量机制是针对进程间共享一个临界 资源而言的。多个进程共享多个临界资源时则要采取 另外的信号量机制。 若A和B按下述次序执行wait操作: • 设A(Dmutex,Emutex 和B为进程,都要求访问共享数据 D和E,这时D和E 初值为1) 为临界资源。为 D、E设置用于互斥的信号量Dmutex、E processA:wait(Dmutex);//Dmutex=0 mutex,令初值为 1,这时A和B有操作: processB:wait(Emutex);//Emutex=0 Process A: process B: 阻塞 processA:wait(Emutex);//Emutex=-1,A processB:wait(Dmutex);//Dmutex=-1,B 阻塞 wait(Dmutex); wait(Emutex); 此时A,B进入死锁状态。显 然,进程要求 wait(Emutex); wait(Dmutex); 的共享资源越多,死锁的可能性越大。

(完整版)第三章进程同步与通信作业习题与答案

(完整版)第三章进程同步与通信作业习题与答案

第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。

A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。

A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。

A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。

A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。

A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。

A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。

A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。

A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。

A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。

A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。

计算机操作系统习题及答案

计算机操作系统习题及答案

第一章操作系统引论一、单项选择题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,操作系统中采用多道程序设计技术提高CPU和外部设备的_______。

A.利用率 B.可靠性C.稳定性 D.兼容性7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的_______和方便用户使用计算机而配备的一种系统软件。

A. 速度B.利用率C. 灵活性 D.兼容性8.操作系统的基本类型主要有_______。

A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统9.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。

A. 多重处理 B.多道程序设计C. 实时处理 D.并行执行10. _______操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A.网络 D.分布式C.分时 D.实时11.如果分时操作系统的时间片一定,那么_______,则响应时间越长。

A.用户数越少B.用户数越多C.内存越少 D. 内存越多12,分时操作系统通常采用_______策略为用户服务。

A.可靠性和灵活性 B.时间片轮转C.时间片加权分配 D,短作业优先13. _______操作系统允许用户把若干个作业提交给计算机系统。

计算机操作系统03进程的同步与通信

计算机操作系统03进程的同步与通信

用TS实现进程互斥: repeat while TS(lock) do skip; critical section lock:=false; remainder section until false;
第三章 进程的同步与通信
2. 利用Swap指令实现互斥 Swap指令: procedure (var a,b:Boolean) var temp:Boolean; begin temp:=a; a:=b; b:=temp end
计算机操作系统
第三章 进程的同步与通信
教学目的与要求: 1.掌握进程同步、进程通信、资源、信号量等
基本概念 2.了解解决进程同步问题的软件方法和硬件方
法 3.能用信号量和管程解决简单进程同步问题 4.了解OS/2操作系统的进程同步与通信机制
第三章 进程的同步与通信
重点与难点:
1. 同步、通信、资源、信号量等基本概念
第三章 进程的同步与通信
2 临界资源的定义 临界资源是指并发进程之间在某段时间内同
时提出访问请求的互斥型资源。 例:在A进程正在访问打印机的时候,B进程也提
出对打印机的访问请求,则打印机为临界资源。应 互斥使用临界资源。
三.临界区 1 临界区的定义 是指进程中访问临界资源的那段代码
第三章 进程的同步与通信
第三章 进程的同步与通信
算法3:与算法2相似,只是在flag[i]=ture时表示进 程P[i]要求进入临界区,若此时无其它进程有此要求, 则进程P[i]可进入临界区。对于进程Pi repeat flag[i]:=true; while flag[j] do no_op critical section flag[i]:=false; remainder section until false 该算法的缺点:违背了空闲让进和有限等待原则

第三章进程同步与通信作业习题与答案

第三章进程同步与通信作业习题与答案

第三章一.选择题<50题>1.以下_B__操作系统中的技术是用来解决进程同步的.A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段.A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__.A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__.A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__.A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__.A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__.A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__.A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__.A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__.A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__.A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源.A.临界B.共享C.永久D.可剥夺14. 以下关于P、V操作的描述正确的是__D_.A.机器指令B. 系统调用C.高级通信原语D.低级通信原语15.当对信号量进行V源语操作之后,_C__.A.当S<0,进程继续执行B.当S>0,要唤醒一个就绪进程C. 当S<=0,要唤醒一个阻塞进程D. 当S<=0,要唤醒一个就绪16.对临界区的正确论述是__D_.A.临界区是指进程中用于实现进程互斥的那段代码B. 临界区是指进程中用于实现进程同步的那段代码C. 临界区是指进程中用于实现进程通信的那段代码D. 临界区是指进程中访问临界资源的那段代码17. __A__不是进程之间的通信方式.A.过程调用B.消息传递C.共享存储器D.信箱通信18. 同步是指进程之间逻辑上的__A__关系.A.制约B.调用C.连接D.排斥19.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的__A__.A.阻塞队列B.提交队列C.后备队列D.就绪队列20.某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为_B__个.A.1B.2C.3D.521.管理若干进程共享某一资源的相关临界区应满足三个要求,其中__A__不考虑.A一个进程可以抢占己分配给另一进程的资源B.任何进程不应该无限地逗留在它的临界区中C.一次最多让一个进程在临界区执行D.不能强迫一个进程无限地等待进入它的临界区22、_C__是只能由P和v操作所改变的整型变量.A共享变量B.锁 C.整型信号量D.记录型信号量23.对于整型信号量,在执行一次P操作时,信号量的值应_C__.A.不变B.加1C减1D.减指定数值24.在执行v操作时,当信号量的值__D_时,应释放一个等待该信号量的进程.A>0B.<0c.>=0D.<=025.Pv操作必须在屏蔽中断下执行,这种不可变中断的过程称为_B__.A初始化程序B.原语c.子程序D控制模块26.进程间的互斥与同步分别表示了各进程间的__A__.A.竞争与协作B.相互独立与相互制约c.不同状态D.动态性与并发性27.并发进程在访问共享资源时的基本关系为_B__.A.相互独立与有交往的B.互斥与同步C并行执行与资源共享D信息传递与信息缓冲28.在进程通信中,_B__常用信件交换信息.A.低级通信B.高级通信C.消息通信D.管道通信29.在间接通信时,用send<N,M>原语发送信件,其中N表示_C__.A.发送信件的进程名B.接收信件的进程名 C.信箱名D.信件内容30.实现进程互斥时,用_C__对应,对同一个信号量调用Pv操作实现互斥.A.一个信号量与一个临界区B.一个信号量与—个相关临界区C.一个信号量与一组相关临界区 D.一个信号量与一个消息31.实现进程同步时,每一个消息与一个信号量对应,进程__D_可把不同的消息发送出去. A.在同一信号量上调用P操作B在不同信号量上调用P操作在同一信号量上调用v操作D.在不同信号量上调用v操作32.临界区是指__D_.A.并发进程中用于实现进程互斥的程序段B.并发进程中用于实现进程同步的程序段C.并发进程中用户实现进程通信的程序段D.并发进程中与共享变量有关的程序段33.相关临界区是指__D_.A.一个独占资源B.并发进程中与共享变量有关的程序段C.一个共享资源D.并发进程中涉与相同变量的那些程序段34.P、V操作是__A__.A.两条低级进程通信原语B.两组不同的机器指令C.两条系统调用命令D.两条高级进程通信原语35.对进程的管理和控制使用_B__.A.指令B.原语C.信号量D.信箱通信用P、V操作管理临界区时,信号量的初值应定义为_C__.A.一1B.0C.1D.任意值37.用V操作唤醒一个等待进程时,被唤醒进程的状态变为_B__.A.等待B.就绪C.运行D.完成38.进程间的同步是指进程间在逻辑上的相互_B__关系.A.联接B.制约 C.继续D.调用39.__D_是一种只能进行P操作和V操作的特殊变量.A.调度B.进程C.同步D.信号量40.用P、V操作可以解决__A__互斥问题.A.一切B.某些C.正确D.错误41.对于两个并发进程,设互斥信号量为mutex,若mutex=0,则_B__.A.表示没有进程进入临界区B.表示有一个进程进入临界区C.表示有一个进程进入临界区,另一个进程等待进入D.表示有两个进程进入临界区42.两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的__A__.A.同步B.互斥C.调度D.执行43.为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式称为__D_.A.进程互斥B.进程同步C.进程制约D.进程通信44. 两个进程合作完成一项任务.在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进__A__.A.同步B.执行C.互斥D.调度45. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为_C__.A. 进程互斥B. 进程同步C. 进程通信D. 进程制约46.不是信号量能实现的功能是__D_.A.进程同步B.进程互斥C.执行的前趋关系D.进程的并发执行47. 若P、V操作的信号量S初值为2,当前值为-1,则表示有_B__等待进程.A.0个B.1个C.2个D.3个在进程通信中,常_C__通过变量、数组形式来实现.A.高级通信B.消息通信C.低级通信D.管道通信49.管道通信是以_B__进行写入和读出.A.消息为单位B.自然字符流C.文件D.报文50.进程间的基本关系为_B__.A.相互独立与相互制约B.同步与互斥C.行执行与资源共享D.信息传递与信息缓冲二.填空题<50空>1. 进程的_顺序性_____是指进程在顺序处理器上的执行是按顺序进行的.2.当一个进程独占处理器顺序执行时,具有__封闭性____和__可再现件____两个特性. 3.进程的封闭性是指进程的执行结果只取决于__进程本身____,不受外界影响.4.进程的可再现性是指当进程再次重复执行时,必定获得___相同___的结果.5.一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为__可同时执行的___.6.临界区是指并发进程中与__共享变量____有关的程序段.7.__相关临界区____是指并发进程中涉与到相同变量的那些程序段.8.只要涉与相同变量的若干进程的相关临界区__互斥执行____,就不会造成与时间有关的错误.9.进程的___互斥___是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用.10.Pv操作是在一个信号量上进行的__不可被中断____的过程,这种过程也称为__原语___. 11.利用P、v操作管理相关临界区时,必须成对出现,在进入临界区之前要调用__ P操作____,在完成临界区操作后要调用__ v操作____.12.进程的___同步___是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息.13.__同步机制____能把它进程需要的消息发送出去,也能测试自己需要的消息是否到达. 14.P、v操作不仅是实现___进程互斥___的有效工具,而且也是一种简单而方便的___同步___工具.15.用P、v操作实现进程同步时,调用___ P操作___测试消息是否到达,调用__ v操作____发送消息.24.用P、v操作实现生产者消费者之间的同步时,在访问共享缓冲区的__前____和__后____分别调动P操作和v操作.16.进程的互斥实际上是进程__同步____的一种持殊情况.17.进程的互斥是进程间___竞争___共享资源的使用权,其结果没有__固定的必然关系____,而进程的同步则在共享资源的并发进程之间有一种__必然的____依赖关系.18.Pv操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为__低级通信方式____19.通过专门的通信机制实现进程间交换大量信息的通信方式称为__进程通信____. 20.采用高级通信方式时,进程间用__信件____来交换信息.21.最基本的通信原语有两条,它们是__ send ____原语和___ receive ___原语.22.进程通信方式有两种:__直接通信____和_间接通信_____.23.直接通信是固定在__一对____进程之间通信,而间接通信以信箱为媒体实现通信. 24.一个信息可以由__信箱说明____和__信箱体____两部分组成.25.进程间通过信件交换信息,可实现___进程同步___.26.并发带来的问题全局变量的共享问题、操作系统很难最佳的管理资源的分配、定位程序的错误很困难、保证进程执行结果的正确性.27.并发原理有并发带来的问题、进程的交互、进程互斥、进程同步.28.管理的结构有条件变量、管理的结构.29.进程通信表现在效率低、通信对用户不透明.30.Monitors:管程.三.名词解释<20题>1.进程通信:进程之间的信息交换.2.临界区:操作系统中把并发进程中访问临界资源那段代码.3.临界资源:操作系统中将一次仅允许一个进程访问的资源.4.进程同步:指多个进程中发生的事件存在着某种时序关系必须协同动作、相互配合,以共同完成一个任务.5.信号量机制:它是一种公认的卓有成效的进程同步机制.6.管程:一个共享资源的数据结构以与一组能为并发进程在其上执行的针对该资源的一组操作,这组操作能同步进程和改变管程中的数据.7.CWAIT<C>:调用进程的执行在条件C上挂起,管程现在可被另一个进程使用.8.CSIGNAL<C>:恢复在cwait上因为某些条件而挂起的进程的执行.9.Message:报文.10.Client/Server Interaction:客户∕服务器交换.11.单向通信:只允许发送进程向接收进程发送消息,反之不行.12.双向通信:允许一个进程向另外一个进程发送消息,也可以反过来由另一个进程向发过消息的进程回送消息.13.点对点方式:用一条链路将两个进程连接,通信的完成只与这两个进程有关.14.多点方式:用一条链路连接多个进程〔>2〕.15.无容量通信链路:通信链路上没有用于暂存数据的缓冲区,因而不能暂存任何消息.16.有容量通信链路:通信链路中设置了缓冲区,因而可以暂存数据,缓冲区的数目越大,通信链路的容量越大.17.链路的容量:通信链路上是否有用于暂存数据的缓冲区.18.阻塞方式:操作方要等待操作结束,才能继续执行.19.非阻塞方式:操作方在提交后立即返回,不需要等待.20.管道:指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称为pipe 文件.四.简答题<20题>以下进程之间存在相互制约关系吗?是什么制约关系?为什么?⑴几个同学去图书馆借同一本书;⑵篮球比赛中两队同学争抢篮板球;⑶果汁流水线生产中捣碎、消毒、灌装、装箱等、各道工序;⑷商品的入库和出库;⑸工人做工与农民种粮.答:〔1〕答:存在互斥关系,因为同一本书只能借给一个同学.〔2〕答:存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球〔3〕答:存在同步关系,因为最后一道工序的开始依赖于前一道工序的完成.〔4〕答:存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库.〔5〕答:工人与农民之间没有相互制约关系.说明PV存在为什么要设计成原语?答:用信号量S表示共享资源,其初值为1表示有一个资源.设有两个进程申请该资源,若其中一个进程先执行P操作.P操作中的减1操作有3跳与其指令组成:去S送寄存器R;R-1送S.若P操作不用原语实现,在执行了前述三条指令中的2条,即还未执行R送S时〔此时S值仍为1〕,进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S的值为0,导致信号量的值错误.正确的结果是两个进程执行完P操作后,信号量S的值为-1,进程阻塞.设有一个售票大厅,可容纳200人购票.如果厅内不足200人,则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开.试问:⑴购票者之间是同步关系还是互斥关系?⑵用PV操作描述购票者的工作过程.答:购票者之间是互斥关系.<2> semaphore empty=200;semaphore mutex=1;void buyer<>{P<empty>;P<mutex>;购票;V<mutex>;V<empty>;}分析生产者消费者问题中多个P操作颠倒引起的后果.答:semaphore mutex=1;semaphore empty=n;semaphore full=0;int i,j;ITEM buffer[n];ITEM data_p,data_c;void producer<>void consumer<>{while<true>{while<true>{produce an item in data_p;{P<full>;P<mutex>;P<mutex>;P<empty>;data_c=buffer[j];buffer[i]=data_p;j=<j+1>%n;i=<i+1>%n;V<mutex>;V<mutex>;V<empty>;V<full>;}consume the item in data_c}}}请简述进程的互斥与同步之间的异同.答:进程的同步与互斥是指进程在推进时的相互制约关系.为了保证进程的正确运进程之间的制约关系体现为:进程的同步和互斥.进程同步:它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系.为进程之间的直接制约关系.在多道环境下,这种进程间在执行次序上的协调是必不可少的.行以与相互合作的进程之间交换信息,需要进程之间的通信.进程互斥:主要源于资源共享,是进程之间的间接制约关系.6.什么是进程的顺序性和并发性?答:进程的顺序性是指进程在顺序的处理器上严格地按顺序执行.若系统中存在一组可同时执行的过程,则该组程序具有并发性.可同时执行的进程是指这些进程执行时在时间上是重叠的,即一个进程的工作没有全部完成之前,另一个进程就可以开始工作.7.为什么并发进程执行时可能会产生与时间有关的错误?如何避免?答:有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误.只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误.8.简述临界区的相关临界区的概念.答:临界区是指并发进程中与共享变量有关的程序段.相关临界区是指并发进程中涉与到相同变量的那些程序段.9.管理相关临界区有些什么要求?答:管理相关临界区有三点要求:<1>一次最多让一个进程在临界区执行;<2>任何一个进入临界区执行的进程必须在有限的时间内退出临界区;<3>不能强迫一个进程无限地等待进入它的临界区.10.用Pv操作实现进程间同步与互斥应注意些什么?答:<1>对每一个共享资源<含变量>都要设立信号量,互斥时对一个共享资源设一个信号量,同步时对一个共享资源可能要设两个或多个信号量,视由几个进程来使用该共享变量而定.<2>互斥时信号量的初值可大于或等于1,同步时,至少有一个信号量的初值大于等于1.<3>Pv操作一定要成对调用,互斥时在临界区前后对同一信号量作Pv操作,同步时则对不同的信号量作Pv操作,Pv操作的位置一定要正确.<4>对互斥和同步混合问题.PV操作可能会嵌套,—般同步的Pv操作在外,互斥的Pv操作在内.11.何谓进程通信?最基本的通信原语有哪些?答:通过专门的通信机制实现进程间交换大量信息的通信方式称为进程通信.最基本的通信原语有send原语和receive原语,前者负责发送信件,后者负责接收信件.12.直接通信与间接通信有何区别?答:直接通信是固定在一对进程间进行的,而间接通信时以信箱为媒体实现通信.因此在send 和receive原语中,第一个参数互不相同.直接通信时分别为接收者进程名和发送者进程名,而间接通情时均为信箱名.13.线程与进程的根本区别是什么?答:在采用线程技术的操作系统中,线程与进程的根本区别在于:进程是资源的分配单位,而线程是调度和执行单位.并发带来的问题有哪些?答:①全局变量的共享问题②操作系统很难最佳的管理资源的分配③定位程序的错误很困难④保证进程执行结果的正确性.进程交互的3中情况?答:①进程之间不知道对方的存在.②进程间接知道对方.③进程直接知道对方存在.临界区有哪些进入原则?答:①空闲让进.②忙则等待.③让权等待.④有限等待.对共享资源的读写操作的限制条件是什么?答:⑴允许任意多的读进程同时读.⑵一次只允许一个写进程进行写操作.⑶如果有一个写进程正在进行写操作,禁止任何读进程进行读操作.在生产者―消费者问题中需要注意以下几个问题?答:⑴把共享缓冲区池中的N个缓冲区视为临界资源,进程在使用时,首先要检查是否有其他进程在临界区,如果确认没有时再进入.⑵信号量full表示有数据的缓冲区的数量,初值为0.⑶多个P操作的次序不能颠倒.管程的特征有哪些?答:⑴管程内部的局部变量只能通过管程中的过程进行访问,其他任何外部过程都不能对其进行访问.⑵进程只能通过调用管程的某一个过程才能进入管程,这样可以保证所有进入管程的进程有统一的入口.⑶任何时刻,只能有一个进程在管程中执行,其他调用管程的任何进程都被挂起,以等待管程变为可用,即对管程实施互斥访问.进程通信主要表现在那些方面?答:⑴效率低.。

第3章 进程同步与通信2

第3章 进程同步与通信2

进程写管道
进程向管道写数据时,可能有以下两种情况:
管道中有足够的空间存放要写的数据,此时每写 一数据块后核心便自动增加地址项的大小.写操 作完成后,核心修改索引节点中的写指针,并唤 醒所有因该管道空而睡眠等待的读进程. 管道中无足够的空间存放要写入的数据,此时核 心对该索引节点作标记后让写进程睡眠,等待数 据从管道中排出.上述情况的一个例外是,当进 程写的数据量大于管道的容量时,核心将尽可能 多的数据写到管道中,然后使进程睡眠,直到获 得更多的空间.
pipe文件的建立 文件的建立
pipe系统调用建立一个无名管道.其语法格式如下:
int pipe(fdes); int fdes[2];
核心创建一个管道时须完成下述工作:
分配磁盘和内存索引节点. 为读进程和写进程分配文件表项. 分配用户文件描述符.在读进程和写进程的用户文件描述 符表中,分别分配一个表项,并将文件描述符fdes[0]和 fdes[1]分别返回给读进程和写进程.
设置信号的处理方式
系统调用signal用于设置信号的处理方式.其 语法格式如下: void (* func)( ) signal(sig,func) 其中,func为收到软中断信号sig后进程希望 调用函数的地址. 19类信号如表所示.
func的取值情况
func的取值可以分成三种情况:
func=1时,进程对信号sig不予理睬. func=0时,即缺省处理,对大多数软中断信号的 缺省处理是终止进程. func为其他整数值时,它的值是指向信号处理程 序的指针.
管道通信示意图1
初始时,其长度为4,系统将管道看成一个循环 队列.按先进先出的方式读写.
A out B C D in
写入字符E后,管道长度为5

进程同步与进程通信


if Ri>=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票
process P2 begin Ri:=Ak;
if Ri>=1 then Ri = 4 begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
if Ri>=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票
process P2 begin Ri:=Ak;
if Ri>=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
process P3 begin Ri:=Ak;
if Ri>=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
假设某时刻Ak为5,A、B两个人同时在2号3号窗口买票
process P2 begin Ri:=Ak;
if Ri>=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
例2
(1) 假设count的初值为5,先运行P1再运行P2的结果是? (2) 如果P1和P2并发执行,可能会出现什么运行结果?
P1 R1 = count; R1++; count = R1; P2 R2 = count; R2++; count = R2;

操作系统复习总结

第一章操作系统概述1.操作系统主要特征是什么?操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。

2.“操作系统是控制硬件的软件”这一说法确切吗?为什么?不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。

第二章进程与线程1.操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。

②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。

对进程进行创建、撤销以及在某些进程状态之间的转换控制。

2.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,切换另一个进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10//(300+10)=3.2%.3.试述线程的特点及其与进程之间的关系。

答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。

线程只拥有一点必不可少的资源(一组寄存器和栈),但可以和铜属于一个进程的其他线程共享进程拥有的资源。

关系:1>线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。

一个线程只能在一个进程的地址空间内活动;2>进程资源的拥有者,同一个进程的多个线程共享该进程占有的所有资源;3>处理机分配给进程,线程是系统的调度单位。

1.这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了I/O量大的进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。

进程同步与通信


pricess computer begin L2: p(sf); 从缓冲去中取出数据; v(se); 进行数据计算; goto L2; end; coend;
9、(1)写出P、V操作的定义 (2)有3个进程PA、PB和PC写作解决文件 打印问题:PA将文件记录从磁盘读入主存 的缓冲区1,每执行一次读一个记录;PB 将缓冲区1的内容复制到缓冲区2,每执 行一次复制一个记录;PC将缓冲区2的 内容打印出来,每执行一次打印一个记 录。缓冲区的大小和一个记录大小一样。 请用P、V操作来保证文件的正确打印。
begin mutex,full,empty:semaphore; mutex:=1; empty:=8; full:=0; cobegin pricess producer begin 生产一个产品; p(empty); p(mutex); 将产品存入仓库; v(mutex); v(full); end;
process s3 begin p(b3); …… v(b4); end
process s4 begin p(b4); p(b4); …… end
8、在测量控制系统中,数据采集任务把 采集的数据送入一单缓冲区;计算任务 从该单缓冲区中取出数据进行计算。试 写出利用信号量机制实现两者共享单缓 冲区的同步算法。
cobegin process A begin L1:p(s1) 拣一粒黑子; v(s2) goto L1
process B begin L2:p(s2) 拣一粒白子; v(s1) goto L2 endl;
end;
coend;
7、四个进程合作完成一任务的前驱图, 试说明这四个进程间的同步关系,并以 PV操作描述它们。
解:应设置两个信号量sf,se,信号量sf表 示缓冲区是否有可供打印的计算结果, 其初值为0;信号量se用于表示缓冲区 有无空位置存放新的信息,其初值为1。 本题的同步描述如下:

《计算机操作系统》汤小丹.

进程之间可能存在以下两种关系。 ① 间接相互制约关的系:多个进程之间彼此无关,并不
知道其他进程的存在,但这些进程既然同处于一个系 统中,也就必然存在资源共享的关系,如共享CPU、I /O设备等。此时进程同步的主要任务是保证诸进程能 互斥地访问临界资源。这样,系统中的资源应由系统 统一管理,不允许用户进程直接使用。 ② 直接相互制约的关系:在某些进程间还存在相互合作 关系,此时进程同步的主要任务是保证诸进程在执行 次序上的协调,不会出现与时间有关的差错。
waitp(Dromcuteesxs)B;:wait(Dmutex);//Dmwuatietx(=E-mu1t,Bex阻);塞 wait(Emu此te时x)A;,B进入死锁状态。显wa然it,(D进mu程te要x)求;
L:list of process; //链接所有等待进程的
end
进程链表
相应地,wait(s)和signal初(s值)记操表录作示型可系描信述统号为中量:某类资源
Procedure wait(S)
的数目,减1操作表示进程
var S:semaphore; 请求一个单位的资源.
begin
若不大于0。表示在该信
② 同步机制应遵循的准则
• 空闲让进:当无进程处于临界区时,表明临界资源处 于空闲状态。可允许一请求进入临界区的进程立即进 入自己的临界区。
• 忙则等待:当已有进程进入到临界区时,表明临界资 源正被访问,故其他试图进入临界区的进程必须等待。
• 有限等待:对要求访问临界资源的进程,应保证该进 程能在有效时间内进入自己的临界区,以免陷入“死 等状态”。
资源而言的。多个进程共享多个临界资源时则要采取 另外的若信A和号B量按机下制述。次序执行wait操作: • 设A(和DmB为ut进ex程,E,m都ute要x初求值访为问1共)享数据D和E,这时D和E 为临界p资ro源ce。ss为A:Dw、aEit设(D置m用ute于x)互;/斥/D的m信ute号x=量0Dmutex、E mutex,pr令oc初es值sB为:w1a,it这(E时muAt和exB)有;//操Em作u:tex=0 ProcessprAo:cessA:wait(Emutex);//Epmroucteesxs=-B1:,A阻塞
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档