当前位置:文档之家› 信号量习题

信号量习题

信号量习题
信号量习题

一、判断正误题

1、引入分时系统的主要原因是因为批处理系统没有交互性。

2、任何两个并发进程之间都存在互斥关系或同步关系。

3、P、V操作实现进程同步时,P操作和V操作的次序都不能颠倒。

4、虚拟处理机的速度比物理处理机的速度慢。

5、一般的说通道指令不同与处理机的指令系统。

6、在银行家算法中,不安全不等于死锁,但可能导致死锁。

7、一个阻塞的进程,在获得其所需的资源后,其状态从阻塞转到执行状态。

8、多道程序设计是指在一台处理机上同一时刻运行多个程序。

9、程序的并发执行是有条件的。

10、系统调用一定会改变处理机的状态。

11、分时系统中响应时间是要考虑的关键因素,时间片越小越好。

12、引入多道程序设计可以提高实时响应速度,充分利用处理机,减少处理机空闲时

间,并可以减少存储器碎片。

13、若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许

申请一台,则至多允许3个进程参与竞争,而不会发生死锁。

14、临界区是指并发进程中访问临界资源的程序段。

二、简答题

1、信号量用于什么目的,其物理意义是什么,举例说明。

2、用户与操作系统的接口有哪几种类型,举例说明。

3、说明进程在三个基本状态之间转换的典型原因。

三、计算题

1、(1)写出P(即wait)、V(即signal)操作的定义。(记录型信号量)

(2)在一辆公共汽车上,司机和售票员各行其职,司机负责开车和到站停车;售票员负责售票和开、关门,当售票员关好车门后,驾驶员才能继续开车。请问司机与售票员之间存在什么制约关系,试用P、V操作实现。(并说明信号量的含义和初值)。

2、系统有:五个进程{ P1,P2,P3,P4,P5},四类资源{A,B,C,D},当前资源分配情况如下: Allocation Max Available

P1 0 0 1 2 0 0 2 2 0 0 1 2

P2 1 0 0 0 1 7 5 0

P3 1 3 5 4 2 3 5 6

P4 0 6 3 2 0 6 5 2

P5 0 1 1 4 0 6 5 6

使用银行家算法回答以下问题:(1) 给出Need 的内容。(2) 系统是安全状态吗?(3) 如果进程P5要求{0,0,1,1},此要求能满足吗?

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

第4章进程同步与通信 2,当前值为-1,则表示有 B 等待进程。 / / —■ A. 0个 C. 2个 D. 3个 (3) 在直接通信方式中,系统提供两条通信原语进行发送和接收,其中 参数应是_C_O A. sender , message B. sender , mailbox C. receiver , message D. receiver , mailbox (4) 下述那个选项不是管程的组成部分 A O A. 管程外过程调用管程内数据结构的说明 B. 管程内对数据结构进行操作的一组过程 C. 局部于管程的共享数据说明 D. 对局部于管程的数据结构设置初值的语句 (5) 某通信方式通过共享存储区来实现,其属于 D ° A.消息通信 B.低级通信 C.管道通信 D.高级通信 (6) 用P 、V 操作管理临界区时,信号量的初值应定义为 C ° A. -1 B. 0 C. 1 D.任意值 (7 )临界区是 B ° A. 一个缓冲区 B. 一段程序 C. 一段共享数据区 D. 一个互斥资源 (8 )信箱通信是一种_D_J !信方式。 A.直接通信 B.信号量 C.低级通信 D.间接通信 (9) 对于两个并发进程,设互斥信号量为 mutex , 若mutex=0则 A A. 表示有一个进程进入临界区 1)选择题 (1 )在操作系统中, A.机器指令 p 、V 操作是一种_D _。 B.系统调用命令 C.作业控制命令 D ?低级进程通信原语 (2 )若信号量S 的初值为 B. l 个 Send 原语中

B. 表示没有进程进入临界区 C. 表示有一个进程进入临界区,另一个进程等待进入 D. 表示有两个进程进入临界区 (10) 对信号量S执行V操作后,下述选项正确的是 C ° A. 当S小于等于0时唤醒一个阻塞进程 B. 当S小于0时唤醒一个阻塞进程 C. 当S小于等于0时唤醒一个就绪进程 D?当S小于0时唤醒一个就绪进程 (11)在消息缓冲通信中,消息队列属于A资源。 A.临界 B.共享 C.永久 D.可剥夺 (12)在消息缓冲通信机制中,使用的临界资源是_D__。 A?信箱 B.消息队列中的某个缓冲区 C.管道 D.整个消息队列 2)填空题 (1)信号量的物理意义是:当信号量值大于0时表示可用资源的个数;当信号 量值小于0时,其绝对值为等待该信号量的进程数。 (2)如果信号量的当前值为-4,则表示系统中在该信号量上有_4_个等待进程。 (3)对于信号量可以做P—操作和V_ 操作,P 操作用于阻塞进程,V 操作用于释放进程。程序中的_P—和V_ 操作应谨慎使用,以保证其使用的正确性,否则执行时可能发生死锁。 (4)有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问, 则信号量值的变化范围是_[-(m-1),1]_ 。 (5)管程由局部于管程(资源对象)的共享变量的说明、对管程(资源对象) 数据进行操作的一组过程和对局部于管程的数据设置初始值的语句三部分组成。 (6)访问临界资源的进程应该遵循的条件有:空闲让进、忙则等待、有限等待和让权等待。 (7)每个信箱可以包含信箱头和信箱体两部分。 (8)为了实现消息缓冲通信,在PCB中应增加的数据项有消息队列中消息资源的信 号量、对消息队列互斥操作的信号量和指向消息队列的指针。 3)解答题 (1)什么是临界资源?什么是临界区?对临界资源的访问有哪些原则? 答:一次仅允许一个进程使用的共享资源被称为临界资源。 每个进程中访问临界资源的那段程序称为临界区。 对临界资源的访问原则是: ①空闲让进,如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 ②忙则等待,任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。

计算机操作系统典型例题解析之四

计算机操作系统复习题之四【例1】可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按(A)顺序排列。 A、长度递增 B、长度递减 C、地址递增 D、地址递减分析:最佳适应算法要求每次都分配给用户进程能够满足其要求的空闲区中最小的空闲区,所以为了提高算法效率,我们把所有的空闲区,按其大小以递增的顺序形成一空闲分区链。这样,第一个找到的满足要求的空闲区,必然是符合要求中最小的。所以本题的答案是A。 【例2】虚拟存储技术是(B)。 A、扩充主存物理空间技术 B、扩充主存逻辑地址空间技术 C、扩充外存空间的技术 D、扩充输入/输出缓冲区技术 分析:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统。具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。实际上,用户所看到的大容量只是一种感觉,是虚的,故称之为虚拟存储器。虚拟存储技术是一种性能非常优越的存储器管理技术、故被广泛地应用于大、中、小型机器和微型机中。所以本题的答案是B。 【例3】很好地解决了“零头”问题的存储管理方法是(A)。A、分页存储管理方式B、分段存储管理方式C、多重分区管理D、可变式分区管理 分析:“零头”也就是内存碎片,是指内存中无法被利用的小空闲

区。在有些内存管理方式下,系统运行一段时间后,内存的碎片会占据相当的数量的空间。分段存储管理方式、多重分区管理、可变式分区管理都会因为内存分配回收产生“零头”,而分页存储管理方式,按事先划分好的内存块为单位分配回收内存,所以不会产生“零头”。所以本题的答案是A。 【例4】系统“抖动”现象的发生是由(B)引起的。 A、交换的信息量过大 B、置换算法选择不当 C、内存容量不足 D、请求分页管理方案 分析:“抖动”现象是指刚被换出的页很快又要被访问,为此,又要换出其他页,而该页又很快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上。交换的信息量过大,内存容量不足都不是引起系统“抖动”现象的原因,而选择的置换算法不当才是引起“抖动”现象的根本原因,例如,先进先出算法就可能产生“抖动”现象。所以本题的答案是B。 【例5】虚拟存储管理系统的基础是程序的(C)理论。 A、全局性 B、虚拟性 C、局部性 D、动态性 分析:虚拟存储技术是基于程序的局部性原理的,程序的局部性原理体现在两个方面:时间局部性和空间局部性。时间局部性是指一条指令被执行后,那么它可能很快会再次被执行,空间局部性是指若某一存储单元被访问,那么与该存储单元相邻的单元可能也会很快被访问。所以本题的答案是C。

操作系统14章期末考试练习题

习题 第一章习题 一、单选题 (1)当CPU执行操作系统代码时,称处理机处于( )。 A.执行态 B.目态 C.管态 D.就绪态 (2)在下列性质中,( )不是分时系统的特征。 A.多路性 B.交互性 C.独立性 D.成批性 (3)下列仅一条指令( )只能在管态下执行。 A.读取时钟指令 B.访管指令 C.屏蔽中断指令 D.取数指令 二、填空题 (1) 在计算机系统中配置操作系统的主要目的是___________________,操作系统的主要功能是管理计算机系统中的_____,其中包括_______管理、_______管理,以及设备管理和文件管理,这里的_______管理主要是对进程进行管理。(2) 利用缓冲区能有效地缓和_____和________之间速度不匹配的矛盾,虚拟设备的功能是使_____________变成能被多个进程同时使用的_________。

第二章习题 一、填空题 (1)对于一个可执行程序文件,该程序与执行它的进程是__________的关系。 (2)在单CPU系统中实现并发技术后____________。 A.进程在一个时间段并行执行,CPU与外设并行工作。 B.进程在一个时刻并行执行,CPU与外设并行工作。 C.进程在一个时间段并行执行,CPU与外设串行工作。 D.进程在一个时刻并行执行,CPU与外设串行工作。 (3)从静态角度上看,进程是由______、_______、_______三部分组成。 (4)正在执行的进程由于用完其时间片而被暂停执行,此时进程应从执行状态变成为_________。 (5)引入进程,可带来________________和________________的好处,但却增加了系统的_____和_____开销。 (6)临界区是指进程中用于_____________的那段代码。 (7)________是一种只能由P和V操作所改变的整型变量,______可用于实现进程的________和________,_____是指排他性地访问临界资源。 ①:A.控制变量 B.锁 C.整型信号量 D.记录型信号量 ②,③:A.同步 B.通信 C.调度 D.互斥 (8)设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥信号量的初值为____。 (9)有3个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用P、V操作作同步机制,则记录型信号量S的取值围为__________。 (10)为实现消息缓冲通信,在PCB中应增加_____________、__________________和__________________三个数据项。 (11)若记录型信号量S的初值为2,当前值为-1,则表示有___等待进程。 A.0个 B.1个 C.2个 D.3个 (12)当______时,进程从执行状态转变为就绪状态。 A.进程被调度程序选中 B.有高优先级进程到来

信号量,中断和时间

第6章信号量,中断和时间 信号量(Signal)是进程间通讯(IPC)的一种形式——是一个进程给另一个进程发送信息的方法。但是信息不可能很多——一个信号量不可能携带详细的信息,即使是传送者的身份也不能被传递;唯一能够确定的事实是信号量的确被发送了。(然而和经典信号量不同,POSIX实时信号量允许传送稍微多一点的信息。)实际上,信号量对于双向通讯是没有用处的。还有,根据某些限定,信号量的接受者不必以任何方式作出响应,甚至可以直接忽略大部分信号量。 虽然有这么多的限制,然而信号量仍然是一种功能强大的十分有用的机制——勿庸置疑,这是Unix IPC中使用最频繁的机制。每当进程退出或者废弃一个空指针时,每当使用Ctrl+C键终止程序运行时,都要传递信号量。 第9章会更详细的讨论IPC机制。对于本章的讨论来说,信号量的内容就足够讨论了。 正如在Linux内核本身的代码注释中所说明的一样,中断(Interrupt)对于内核来说和信号量是类似的。中断一般都是从磁盘之类的硬件设备送往内核,用以提示内核该设备需要加以注意。一个重要的硬件中断源就是定时器设备,它周期性地通知内核已经通过的时间。如同第5章中阐述的一样,中断也可以由用户进程通过软件产生。 在本章中,我们首先讨论一下Linux中信号量和中断的实现,最后再浏览一下Linux的时间处理方式。 虽然内核对代码的要求标准非常严格,本章所涉及的代码仍然特别清晰明白。本章使用的一般方法是首先介绍相关的数据结构和它们之间的关系,接下来讨论操纵和查询它们的函数。 锁的概述 锁的基本思想是限制对共享资源的访问——共享资源包括共享的文件,共享的内存片,以及在一次只能由一个CPU执行的代码段。概括的说,在单处理器上运行的Linux内核并不需要锁,这是因为在编写Linux内核时就已经注意到要尽量避免各种可能需要锁的情况了。但是,在多处理器机器上,一个处理器有时需要防止其它处理器对它的有害的介入。 include/asm-i386/spinlock.h文件(从12582行开始)并不使用难看的#ifdef把所有对锁函数的调用封装起来,它包含一系列对单处理器平台(UP)基本为空的宏,然而在多处理器平台(SMP)上这些宏将展开成为实际代码。因而内核的其它代码对UP和SMP(当涉及到这种特性时)都是相同的,但是它们两个的效果却是迥然不同的。 第10章中涉及SMP的部分会对锁做深入的介绍。但是,由于你在代码中将到处都能够看到对锁宏的调用,特别是在本章所讨论到的代码中这一点尤为明显,所以你应该首先对宏的用途有初步了解——以及为什么现在在大多数情况下我们都可以安全地将其忽略(我们将在讨论的过程中对其中的异常情况进行说明)。 信号量 Linux内核将信号量分为两类: 非实时的(Nonrealtime)——大部分是些传统的信号量,例如SIGSEGV,SIGHUP

1-4章 习题

高回扣习题 第一章习题 一、单选题 (1)当CPU执行操作系统代码时,称处理机处于( )。 A.执行态 B.目态 C.管态 D.就绪态 (2)在下列性质中,( )不是分时系统的特征。 A.多路性 B.交互性 C.独立性 D.成批性 (3)下列仅一条指令( )只能在管态下执行。 A.读取时钟指令 B.访管指令 C.屏蔽中断指令 D.取数指令 二、填空题 (1) 在计算机系统中配置操作系统的主要目的是协助和管理计算机的硬件和软件资源,操作系统的主要功能是管理计算机系统中的硬件和资源,其中包括处理机管理、存储器管理,以及设备管理和文件管理,这里的处理机管理主要是对进程进行管理。 (2) 利用缓冲区能有效地缓和CPU 和I/O设备之间速度不匹配的矛盾,虚拟设备的功能是使一个物理实体变成能被多个进程同时使用的逻辑上的对应物。 第二章习题 一、填空题 (1)对于一个可执行程序文件,该程序与执行它的进程是一对多的关系。 (2)在单CPU系统中实现并发技术后。 A.进程在一个时间段内并行执行,CPU与外设并行工作。 B.进程在一个时刻并行执行,CPU与外设并行工作。 C.进程在一个时间段内并行执行,CPU与外设串行工作。 D.进程在一个时刻并行执行,CPU与外设串行工作。 (3)从静态角度上看,进程是由PCB、程序段,数据段三部分组成。 (4)正在执行的进程由于用完其时间片而被暂停执行,此时进程应从执行状态变成为就绪状态。

(5)引入进程,可带来资源利用率的提高和系统吞吐量的增加的好处,但却增加了系统的空间和时间开销。 (6)临界区是指进程中用于访问临界资源的那段代码。 (7) ①控制变量是一种只能由P和V操作所改变的整型变量,①可用于实现进程的②互斥和③同步。互斥是指排他性地访问临界资源。 ①:A.控制变量B.锁 C.整型信号量 D.记录型信号量 ②,③:A.同步 B.通信 C.调度 D.互斥 (8)设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥信号量的初值为 3 。 (9)有3个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用P、V操作作同步机制,则记录型信号量S的取值范围为2,1,0 ,-1。 (10)为实现消息缓冲通信,在PCB中应增加消息队列首指针、消息队列互斥信号量和消息队列资源信号量三个数据项。 (11)若记录型信号量S的初值为2,当前值为-1,则表示有 B 等待进程。 A.0个 B.1个 C.2个 D.3个 (12)当 B 时,进程从执行状态转变为就绪状态。 A.进程被调度程序选中 B.有高优先级进程到来 C.等待某一事件 D.等待的事件发生 (13)在进程转换时,下列 D 转换是不可能发生的。 A.就绪态→执行态 B.执行态→就绪态 C.执行态→阻塞态 D.阻塞态→执行态 (14)下列各项工作步骤中, B 不是创建进程所必须的步骤。 A.建立一个PCB B.阻塞进程 C.为进程分配内存等必要资源 D.将PCB连接入进程就绪队列 (15)在操作系统中,死锁出现指的是 C 。 A.计算机发生了重大故障 B.资源数远远少于进程数 C.若干进程因竞争资源而无限等待其他进程释放已占有的资源

计算机操作系统典型例题解析之三

计算机操作系统典型例题解析之三 【例1】分配到必要的资源并获得处理机时的进程状态是(B )。A、就绪状态B、执行状态 C、阻塞状态D、新状态 分析:进程有三种基本状态:就绪状态、执行状态和阻塞状态。当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态;处于就绪状态的进程如果获得了处理机,其状态转换为执行状态;进程因发生某种事件(如I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态;而新状态是指创建了进程但尚未把它插入到就绪队列前的状态。所以本题的答案是B。 【例2】挂起的进程被激活,应该使用(C)原语。 A、Create B、Suspend C、Active D、Wakeup 分析:在不少系统中,进程除了三种基本状态外,又增加了一些新的状态,其中最重要的是挂起状态。“挂起”的实质是使进程不能继续执行,即使挂起后的进程处于就绪状态,它也不能参加对CPU的竞争,进程的挂起调用Suspend()原语。因此,被挂起的进程处于静止状态,相反,没有挂起的进程则处于活动状态。而且,处于静止状态的进程,只有通过“激活”动作,调用Active()原语,才能转换成活动状态,调入内存。所以本题的答案是C。 【例3】任何时刻总是让具有最高优先数的进程占用处理器,此时采用的进程调度算法是(D)。A非抢占式的优先数调度算法B、时间片轮转调度算法C、先来先服务调度算法D、抢占式的优先

数调度算法 分析:“让具有最高优先数的进程占用处理器”,我们可以知道,采用的进程调度算法是优先数调度算法,但是我们还要进一步分析是抢占式的还是非抢占式的。“任何时刻总让”,通过这句话我们知道采用的是抢占式的,所以本题的答案是D。 【例4】若P、V操作的信号量S初值为2,当前值为-1,则表示有(B)等待进程。A、0个B、1个C、2个D、3个分析:信号量的初始值表示系统中资源的数目,每次的Wait操作意味着进程请求一个单位的资源,信号量进行减1的操作,当信号量小于0时,表示资源已分配完毕,进程自我阻塞。因此,如果信号量小于0,那么信号量的绝对值就代表当前阻塞进程的个数。所以本题的答案是B。 【例5】发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏(A)条件是不太实际的。 A、互斥 B、请求和保 C、不剥夺 D、环路等待 分析:预防死锁是指通过破坏死锁的某个必要条件来防止死锁的发生。四个必要条件中,后三个条件都可以被破坏,而第一个条件,即“互斥”条件,对某些像打印机这样的设备,可通过SPOOLing技术予以破坏,但其他资源,因受它们的固有特性的限制,该条件不仅不能被破坏,反而应加以保证。所以本题的答案是A。 【例6】有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1 至1-m。

操作系统信号量PV操作题若干

(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。要几个程序?有多少个进程?(答:一个程序;为每个读者设一个进程) (1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞) (2)当图书馆中没有座位时,后到的读者不等待,立即回家。 设信号量S=200;MUTEX=1; P(S) P(MUTEX) 登记 V(MUTEX) 阅读 P(MUTEX) 注销 V(MUTEX) V(S) (2) 设信号量MUTEX=1; 整型变量S=200; P(MUTEX) IF(S==0) { V(MUTEX) RETURN } ELSE{ COUNT=COUNT-1; 登记 V(MUTEX) 阅读 P(MUTEX) COUNT=COUNT+1; 注销 V(MUTEX) RETURN }

解(1 ) 设信号量:S=100; MUTEX=1 P(S) P(MUTEX) 登记 V(MUTEX) 阅读 P(MUTEX) 注销 V(MUTEX) V(S) 解(2) 设整型变量COUNT=100; 信号量:MUTEX=1; P(MUTEX); IF (COUNT==0) { V(MUTEX); RETURN; } COUNT=COUNT-1; 登记 V(MUTEX); 阅读 P(MUTEX); COUNT=COUNT+1; V(MUTEX); RETURN;

(二)有一座东西方向的独木桥;用P,V操作实现: (1)每次只允许一个人过桥; (2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。(3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。 (1) 设信号量S=1 P(S) 过桥 V(S) (2) 设信号量S=1 EW=1;(东向西互斥计数量) WE=1;(西向东互斥计数量) 整型变量 CE =0;(东向西桥上人数) CW=0;(西向东桥上人数) 东向西: P(EW) IF(CE==0) { P(S) } CE++; V(EW) 过桥 P(EW) CD--; IF(CD==0){ V(S) } V(EW)

Linux之信号量,比较全面,个人总结。

信号量 一.什么是信号量 信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有。 信号量的值为正的时候,说明它空闲。所测试的线程可以锁定而使用它。若为0,说明它被占用,测试的线程要进入睡眠队列中,等待被唤醒。 二.信号量的分类 在学习信号量之前,我们必须先知道——Linux提供两种信号量: POSIX信号量又分为有名信号量和无名信号量。 有名信号量,其值保存在文件中, 所以它可以用于线程也可以用于进程间的同步。无名信号量,其值保存在内存中。 倘若对信号量没有以上的全面认识的话,你就会很快发现自己在信号量的森林里迷失了方向。 三.内核信号量 1.内核信号量的构成 内核信号量类似于自旋锁,因为当锁关闭着时,它不允许内核控制路径继续进行。然而,当内核控制路径试图获取内核信号量锁保护的忙资源时,相应的进程就被挂起。只有在资源被释放时,进程才再次变为可运行。 只有可以睡眠的函数才能获取内核信号量;中断处理程序和可延迟函数都不能使用内核信号量。

count:相当于信号量的值,大于0,资源空闲;等于0,资源忙,但没有进程等待这个保护的资源;小于0,资源不可用,并至少有一个进程等待资源。 wait:存放等待队列链表的地址,当前等待资源的所有睡眠进程都会放在这个链表中。 sleepers:存放一个标志,表示是否有一些进程在信号量上睡眠。 2.内核信号量中的等待队列(删除,没有联系) 上面已经提到了内核信号量使用了等待队列wait_queue来实现阻塞操作。 当某任务由于没有某种条件没有得到满足时,它就被挂到等待队列中睡眠。当条件得到满足时,该任务就被移出等待队列,此时并不意味着该任务就被马上执行,因为它又被移进工作队列中等待CPU资源,在适当的时机被调度。 内核信号量是在内部使用等待队列的,也就是说该等待队列对用户是隐藏的,无须用户干涉。由用户真正使用的等待队列我们将在另外的篇章进行详解。 3.内核信号量的相关函数 (2)申请内核信号量所保护的资源: 4.内核信号量的使用例程 在驱动程序中,当多个线程同时访问相同的资源时(驱动中的全局变量时一种典型的共享资源),可能会引发“竞态“,因此我们必须对共享资源进行并发控制。Linux内核中解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。

操作系统第二章练习 答案

1.P、V 操作是 A 。
A.两条低级进程通信原语
B.两组不同的机器指令
C.两条系统调用命令
D.两条高级进程通信原语
2.设系统中有 n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4
种情况,
不可能发生的情况是 A 。
A.没有运行进程,有2个就绪进程,n 个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
3.若 P、V 操作的信号量 S 初值为2,当前值为-1,则表示有 B 等待进程。
A. 0个
B. 1个
C. 2个
D. 3个
4.用 V 操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A.等待
B.就绪
C.运行
D.完成
5.用 P、V 操作可以解决 A 互斥问题。
A.一切
B.某些
C.正确
D.错误
6.多道程序环境下,操作系统分配资源以 C 为基本单位。
A.程序
B.指令
C.进程
D.作业
7.从下面对临界区的论述中,选出一条正确的论述。
(1)临界区是指进程中用于实现进程互斥的那段代码。
(2)临界区是指进程中用于实现进程同步的那段代码。
(3)临界区是指进程中用于实现进程通信的那段代码。
(4)临界区是指进程中用于访问共享资源的那段代码。
(5)临界区是指进程中访问临界资源的那段代码。
8.(A)是一种只能由 wait 和 signal 操作所改变的整型变量,(A)可用于实现
进程的(B)和(C),(B)是排他性访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。
B:(1)同步;(2)通信;(3)调度;(4)互斥。
C:(1)同步;(2)通信;(3)调度;(4)互斥。
9.对于记录型信号量,在执行一次 wait 操作时,信号量的值应当(A),当其值
为(B)时,进程阻塞。在执行 signal 操作时,信号量的值应当为(C),当其
值为(D)时,应唤醒阻塞队列中的进程。
A:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
B:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.
C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.
10.用信号量 S 实现对系统中4台打印机的互斥使用,S.value 的初值应设置为
(A),若 S.value 的初值为-1,则表示 S.L 队列中有(B)个等待进程。
A:(1)1;(2)0;(3)-1;(4)4;(5)-4
B:(1)1;(2)2;(3)3;(4)4;(5)5;(6)6;(7)0。
11.试选择(A)~(D),以便能正确地描述图2.12所示的前趋关系。
最新范本,供参考!

操作系统-进程同步-信号量练习题

1【单选题】用P、V操作管理临界区时,互斥信号量的初值应定义为( A)。 ?A,1 ?B,0 ?C,-1 ?D,任意值 2【单选题】在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( )。 ?A,S>0 ?B,S = 0 ?C,S<0 ?D,S<>0 我的答案:C 3【单选题】信号量S的初值为8,在S上执行了10次wait 操作,6次signal操作后,S的值为(D )。 ?A,10 ?B,8 ?C,6 ?D,4 P操作每执行一次,信号量减1;V操作每执行一次,信号量加1.所以答案为8-10+6 = 4

4【单选题】用V操作唤醒一个等待进程时,被唤醒进程的状态应变成( B)状态。 ?A,执行 ?B,就绪 ?C,阻塞 ?D,挂起 被唤醒的进程由等待状态变为就绪状态。 5【单选题】利用Wait和signal操作可以( )。 ?A,实现进程互斥和同步 ?B,检测死锁 ?C,解除死锁 ?D,防止死锁 我的答案:A 6【单选题】两个并发进程,设互斥信号量mutex(初值为1),若信号量=0;则(B ) ?A,表示没有进程进入临界区 ?B,表示有一个进程进入临界区 ?C,表示有一个进程进入临界区,另一个进程等待进入 ?D,表示两个进程进入临界区 临界区不允许两个进程同时进入,D选项明显错误。mutex初值为1,表示允许一个进程进入临界区,当有一个进程进入临界区且没有进程等待进入时,mutex值减1,变为0。

7【单选题】V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行。?A,对 ?B,错 我的答案:B 8【单选题】有3个进程,两台打印机,用wait和sigual操作来实现互斥访问打印机,则信号量S的取值范围是( ) ?A,2,1,0,-1 ?B,3,2,1,0 ?C,2,1,0,-1,-2 ?D,1,0,-1,-2 我的答案:如果n个进程共享两个打印机,信号量取值范围:-(n-2)~2; 9【单选题】设与某资源相关的资源信号量K,初值为3,当前值为1,则可用资源个数为( ),等待资源的进程数为( )。 ?A,0,1 ?B,1,0 ?C,1,2 ?D,2,0 我的答案:B

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

第一章操作系统引论 一、单项选择题 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. _______操作系统允许用户把若干个作业提交给计算机系统。 A.单用户 B,分布式 C.批处理 D.监督 14.在_______操作系统控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。 A.实时B.分时 C. 分布式 D.单用户 15.设计实时操作系统时,首先应考虑系统的_______。 A. 可靠性和灵活性B.实时性和可靠性 C. 灵活性和可靠性D.优良性和分配性 16.若把操作系统看作计算机系统资源的管理者,下列的_______不属于操作系统所管理的资源。 A. 程序 B.内存 C. CPU D.中断 二、填空题 1.操作系统的基本功能包括__①__管理、__②__管理、__③__管理、__④__管理。除此之外还为用户使用操作系统提供了用户接口。 2.如果一个操作系统兼有批处理、分时处理和实时处理操作系统三者或其中两者的功能,这样的操作系统称为_________。 3.在分时和批处理系统结合的操作系统中引入了“前台”和“后台”作业的概念,其目的是_________。 4.分时操作系统的主要特征有三个,即__①__、__②__和__③__。 5.实时操作系统与分时操作系统的主要区别是_________。

操作系统期末复习题

一、填空题(每空1分,共10分)得分:分1.计算机操作系统是方便用户、管理和控制计算机的系统软件。 2.采用多道程序设计技术能充分发挥与外围设备并行工作的能力。3.程序的执行事现代操作系统的基本特征之一。 4.避免死锁的一个著名的算法时。 5.将程序中的逻辑地址转换为物理地址,这种地址转换工作称为。6.一个号的页面调度算法应该避免和减少现象的发生。 7.文件系统为每个文件另建立一张指示逻辑记录和物理块之间的对应表,有此表和文件本身构成的文件是。 8.UNIX文件系统对空闲磁盘空间的管理方法是。 9.在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了___ ___,即用共享设备模拟独占设备。 10.常用的I/O控制方式有:程序直接控制方式、中断方式、和通道方式。 二、单项选择题(每小题1分,共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.现有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且 T1

操作系统习题与解析

第二章进程的描述与控制 【例1】判断题:并发是并行的不同表述,其原理相同。() 答案×。分析并发是指多道程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。但对单CPU系统而言,每一时刻只有一个程序在CPU上运行(有可能此时其他的程序在进行输入、输出)。也就是说,占有CPU的只能有一个程序。因此,并发实际上是“在宏观上并行执行,在微观上串行执行”。而并行是真正意义上的并行执行,因此两者的含义是不同的。 【例2】在操作系统中引入“进程”概念的主要目的是()。 A.改善用户编程环境B.提高程序的运行速度 B.C.描述程序动态执行过程的性质D.使程序与计算过程一一对应 答案C 分析操作系统中多道程序的引入,使得它们在并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各道程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。而程序本身是机器能够翻译或执行的一组动作或指令,它或者写在纸面上,或者存放在磁盘等介质上,是静止的。很显然,直接从程序的字面上无法看出它什么时候运行、什么时候停顿,也看不出它是否影响其它程序或者一定受其它程序的影响。因此,用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入进程的概念来描述程序动态执行过程的性质,这是引入“进程”概念的主要目的。 【例3】下列进程状态的转换中,不正确的是()。 A.就绪 阻塞B.运行 就绪 C.就绪 运行D.阻塞 就绪 答案A 分析回答这道题要知道进程的3种基本状态,以及它们之间的转换关系。通过下图可以看到,凡是图中有箭头指向的转换都是可行的,而没有箭头指向的则不可能。因此A 是不正确的。 如果有的同学记不住这张图,那就从理解的角度进行思考。首先要理解3种状态的含义,然后再理解它们之间的转换。例如:运行的进程能变成就绪吗?可以,如果运行进程的时间片到了,就必修让出CPU,转换为就绪态。就绪的进程能变成阻塞吗?不可以,就绪态的进程已经具备了运行条件,只在等待CPU,怎么可能还退回到还不具备运行条件的阻塞态呢?因此,如果理解了,这张图就可以自己画出来,并不需要死记硬背。 【例4】进程控制块是描述进程状态和特性的数据结构,一个进程()。 A.可以有多个进程控制块B.可以和其他进程共用一个进程控制块

操作系统练习题

四十一、在UNIX系统中运行下面程序,最多可产生多少个进程?画出进 程家族树。P249 main() { fork(); fork(); fork(); } [分析及相关知识]系统调用fork的功能是创建一个新进程,新进程运行与其创建者一样的程序,新创建的进程称为子进程,调用fork的进程称为父进程,父子进程都从fork调用后的那条语句开始执行。 当程序执行时,若所有进程都能成功地执行系统调用fork,则会产生最多数目的进程。为了描述方便起见,将开始执行时的进程称为A进程,此时程序计数器PC,指向第一个fork调用。 main() { fork(); /* ←PC,进程A*/ fork(): fork(); } 当进程A成功地执行完第一个fork调用时,它创建了一个子进程,将此子进程称 为进程B。此时,进程A、B的程序计数器PC指向第二个fork调用,进程A派生 了1个子孙进程. main() { fork(): fork(); /* ←PC,进程A*/ fork(); } main() { fork(); fork(); /* ←PC,进程B*/ fork(); } 当进程A、B成功地执行完第二个fork调用时,它们分别创建了一个子进程,将 这些子进程分别称为进程C、D.此时,进程A、B、C、D的程序计数器PC指向第 三个fork调用,进程A派生了3个子孙进程。

main() { fork(); fork(); fork(); /* ←PC,进程A*/ } main() { fork(); fork(); fork(); /* ←PC,进程B*/ } main() { fork(); fork(); fork(); /* ←PC,进程C*/ ) main() { fork(); fork(); fork(); /* ←PC,进程D*/ ) 当进程A、B、C、D成功地执行完第三个fork调用时,它们分别创建了一个子进 程,将这些子进程分别称为进程E、F、C、H.此时,进程A、B、C、D、E、F、G、 H的程序计数器PC指向程序结束处,进程A派生了7个子孙进程。 main() { fork(); fork(); fork(); } /* ←PC,进程A*/ main() { fork(); fork(); fork(); ) /* ←PC,进程B*/ main()

操作系统P、V操作习题

P、V操作课后作业习题 1、如图,试用信号量实现这6个进程的同步: 2、用P.V操作解决下图之同步问题:get进程负责往单缓冲区S中输入数据,copy进程负责将单缓中区S中的数据复制到单缓冲区T,put 进程负责从单缓中区T中取出数据用于处理。

3、某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1)用P、V操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。 (2)根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。 COBEGIN PROCESS PI(I=1,2,……) Begin 进入售票厅; 购票; 退出; end; COEND (3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

1、为进程P1和P2设置共享公用信号量S12, P1和P3设置共享公用信号量S13, P1和P4设置共享公用信号量S14, P2和P5设置共享公用信号量S25, P2和P7设置共享公用信号量S27, P3和P6设置共享公用信号量S36, P4和P5设置共享公用信号量S45, P5和P6设置共享公用信号量S56, P7和P6设置共享公用信号量S76, 初值均为0 P1: P2: P3: P4: P5: P7: P6: …P(S12); P(S13); P(S14); P(S25); P(S27); P(S36); V(S12); …. ……P(S45); …P(S56); V(S13); V(S25); V(S36); V(S45); …V(S76); P(S76); V(S14); V(S27); V(S56); …

操作系统(进程管理)习题与答案1

一、单选题 1、关于进程控制块的描述,如下存在问题的选项是()。 A.操作系统控制和管理并发执行进程的依据 B.进程存在的惟一标志,离散存放于内存空间或对应程序的文件目录项中 C.进程实体的一部分,是拥有描述进程情况及控制进程运行所需的全部信息的记录性数据结构 D.使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程 正确答案:B 2、进程标识符和进程控制块的分配可能发生在进程的()阶段。 A.阻塞 B.挂起 C.创建 D.终止 正确答案:C 3、当一个进程被()时,可能会发生处理器的调度。 ①终止;②挂起;③唤醒;④阻塞 A.①②④ B.①③④ C.①②③④ D.①④ 正确答案:C

4、对于系统服务进程而言,如果当前没有任务,便会引发自身的()事件。 A.进程阻塞 B.进程唤醒 C.进程终止 D.进程挂起 正确答案:A 5、引起进程重新调度的原因不包括()。 A.进程放弃处理器 B.进程从核心态返回用户态 C.进程执行系统调用和陷入内核态 D.时钟中断 正确答案:C 6、关于进程同步机制基本准则:当无进程处于某临界资源所对应的临界区时,可允许一个请求进入(该临界资源所对应的)临界区的进程立即进入自己的临界区,这称之为()。 A.忙则等待 B.有限等待 C.空闲让进 D.让权等待 正确答案:C 7、关于进程同步机制基本准则:当已有进程进入自己的对应于某临界资源的临界区时,所有企图进入该临界资源所对应临界区的进程必须等待,这称之为()。 A.循环等待

B.忙则等待 C.有限等待 D.让权等待 正确答案:B 8、关于进程同步机制基本准则:对要求访问临界资源的进程,应保 证该进程能在有限时间内进入自己的临界区,这称之为()。 A.忙则等待 B.循环等待 C.有限等待 D.让权等待 正确答案:C 9、进程同步机制应遵循让权等待准则,故而当一个进程不能进入自 己的临界区时,其应当释放()。 A.处理器 B.I/O设备 C.内存空间 D.外存空间 正确答案:A 10、利用硬件指令能有效地实现进程互斥,但它却不能满足 ()的准则,造成了处理器时间的浪费,而且也很难将它用 于解决较复杂的进程同步问题。 A.忙则等待 B.空闲让进 C.让权等待 D.有限等待

相关主题
文本预览
相关文档 最新文档