操作系统第二章进程和线程复习题
进程线程练习题

进程线程练习题一、选择题1. 进程是指()。
a) 线程的集合b) 代码的集合c) 资源的集合d) 程序的集合2. 线程是指()。
a) 进程的集合b) 代码的集合c) 资源的集合d) 程序的集合3. 在操作系统中,多个进程可以通过()来实现并发执行。
a) 共享内存b) 进程间通信c) 线程d) 同步操作4. 下列关于进程和线程的说法中,错误的是()。
a) 进程是资源分配的最小单位b) 线程是程序执行的最小单位c) 进程之间是相互独立的d) 线程之间共享内存空间5. 在Java中,可以创建线程的两种方式是()。
a) 继承Thread类、实现Runnable接口b) 实现Thread类、继承Runnable接口c) 实现Thread接口、继承Runnable类d) 继承Thread类、实现Callable接口二、填空题1. 进程间通信的方式有()。
2. 线程可以共享的资源有()。
3. 线程调度的方式包括()和()。
三、简答题1. 请简述进程和线程的概念及区别。
2. 进程间通信的方式有哪些,各自的优缺点是什么?3. 线程调度的方式有哪些,各自的优缺点是什么?4. 请举例说明多线程的优势以及适用场景。
四、编程题请使用Java语言编写一个多线程程序,实现以下功能:1. 创建两个线程T1和T2,分别打印出1~5和6~10的数字。
2. 要求线程T1和T2交替执行,即先打印数字1,然后打印数字6,接着打印数字2,再打印数字7,以此类推。
3. 在程序中使用合适的同步机制来实现线程的交替执行。
答案:一、选择题1. a) 线程的集合2. b) 代码的集合3. b) 进程间通信4. d) 线程之间共享内存空间5. a) 继承Thread类、实现Runnable接口二、填空题1. 管道通信、消息队列、共享内存、信号量、套接字通信等2. 内存空间3. 抢占式调度、协同式调度三、简答题1. 进程是操作系统进行资源分配和调度的基本单位。
第二章 操作系统进程(练习题答案)

第二章进程管理.操作系统主要是对计算机系统全部 () 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 () 管理和设备管理等。
和是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 () 系统软件,后者是一个基本上采用 () 语言编制而成的的系统软件。
在 () 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(): . 应用软件. 系统软硬件. 资源. 设备(): . 数据. 作业. 中断.(): . 分时. 多任务. 多用户. 实时(): . . 宏. 汇编.(): . 网络. 分时. 批处理. 实时答案:.操作系统是对计算机资源进行的 () 系统软件,是 () 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 () 和数据块三部分组成,它有种基本状态,不可能发生的状态转换是 () 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 () 作为它的一个主要组成部分。
供选答案:(): . 输入和输出. 键盘操作. 管理和控制. 汇编和执行(): . 软件和硬件. 主机和外设. 高级语言和机器语言. 用户和计算机(): . 进程控制块. 作业控制块. 文件控制块. 设备控制块(): . 运行态转换为就绪态. 就绪态转换为运行态. 运行态转换为等待态. 等待态转换为运行态(): . 软盘. 硬盘. . 寄存器答案:.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为。
. 技术. 虚拟存储技术. 缓冲技术. 多道程序设计技术.分时系统追求的目标是。
. 高吞吐率. 充分利用内存. 快速响应. 减少系统开销.引入多道程序的目的是。
. 提高实时响应速度. 增强系统交互能力. 为了充分利用主存储器. 充分利用,减少等待时间.若把操作系统看作计算机系统资源的管理者,下列不属于操作系统所管理的资源。
操作系统第二章复习题答案

操作系统第二章复习题一、选择最合适的答案1. 用P、V 操作管理临界区时,信号量的初值一般应定义为( C )。
A.–1B.0C.1D.任意值2. 有m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
A.1 至–(m-1)B.1 至m-1C.1 至–mD.1 至m3.在下面的叙述中,正确的是( C )。
A.临界资源是非共享资源B.临界资源是任意共享资源C.临界资源是互斥共享资源D.临界资源是同时共享资源4.对进程间互斥地使用临界资源,进程可以( D )A.互斥地进入临界区B.互斥地进入各自的临界区C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1 时表示( B )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待6.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1 时表示( A )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待7.当一进程因在记录型信号量S 上执行P(S)操作而被阻塞后,S 的值为( B )。
A.>0B.<0C.≥0D.≤08.当一进程因在记录型信号量S 上执行V(S)操作而导致唤醒另一进程后,S 的值为( D )。
A.>0B.<0C.≥0D.≤09.如果信号量的当前值为-4,则表示系统中在该信号量上有( A )个进程等待。
A.4B.3C.5D.010.若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是( B )。
A. 3,2,1,0B. 3,2,1,0,-1C. 4,3,2,1,0D. 2,1,0,-1,-211.若信号S 的初值为2,当前值为-1,则表示有( B )个等待进程?A.0B.1C.2D.312.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为( C )。
操作系统第二章习题与解答

02
03
选择题1解析
这道题考查的是操作系统 的定义,要求考生能够准 确理解并解释操作系统的 基本概念。
选择题2解析
这道题考查的是操作系统 的功能,要求考生能够列 举并解释操作系统的基本 功能。
选择题3解析
这道题考查的是操作系统 的分类,要求考生能够根 据不同的分类标准对操作 系统进行分类。
填空题析
多做练习题
通过多做练习题可以加深对基 本概念的理解,提高解题能力
和技巧。
THANKS
感谢观看
简答题2解析
这道题考查的是进程的状态转换, 要求考生能够简要描述进程的三种 状态转换及其条件。
简答题3解析
这道题考查的是内存管理的方式, 要求考生能够简要比较几种常见的 内存管理方式的优缺点。
04
重点回顾部分
本章重点概念回顾
进程
进程是程序的一次执 行,具有动态性、并 发性、独立性和制约 性。
线程
简答题
题目
简述死锁的预防和解除方法。
答案
死锁的预防方法包括避免循环等待和请求和保持条件 ,即对资源进行合理的分配和排序,避免出现循环等 待的情况;同时限制进程对资源的申请,防止出现请 求和保持条件。死锁的解除方法包括回退和记账法, 回退法是指让进程主动放弃已获得的资源,回到之前 的安全状态;记账法是指为每个资源设置计数器,当 出现死锁时,通过调整计数器的值来解除死锁。
线程是进程内的一条 执行路径,是系统进 行调度的基本单位。
死锁
死锁是指两个或多个 进程在执行过程中, 因争夺资源而造成的 一种互相等待的现象。
饥饿
饥饿是指一个或多个 进程无限期地等待, 而得不到所需资源的 现象。
调度算法
调度算法是根据一定 的规则和优先级,将 就绪队列中的进程分 配给处理器进行执行 的算法。
第二章复习题(2)

{ while(TRUE) {
flag[0]=TRUE; turn=1;
while(flag[1] && (turn==1)) ;
临界区;
flag[0]=FALSE;
}
}
void P1( ) //进程P1
{ while(TRUE) {
flag[1]=TRUE; turn=0;
单道方式执行时总时间为60+90+120=270分钟
故系统效率提高:(270-120)/270*100%=55.6%
2、假定有一个成品仓库,总共能存放8台成品,。为了防止积压,仓库满时就停止生产。由于仓库搬运设备只有一套,故成品的存入和取出只能分别进行,试用P、V操作来实现该方案。
P(mutex);//互斥使用搬运设备
用搬运设备将成品放入仓库;
V(full);//仓库中成品数增1(可能唤醒一个消费者)
V(mutex);
}
}
process Cj //消费者进程
{
while (1) {
P(full)//看看仓库是否有成品
P(mutex);//互斥使用搬运设备
用搬运设备将成品从仓库取出;
V(emtpy);//仓库中可放成品数增1(可能唤醒一个生产者)
V(mutex);
}
}
parend
3、某银行提供1个服务窗口和10个顾客等待座位。顾客到达银行时,若有空座位,则到取号机领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:
A.CPU与外设B.进程与进程C.内存与进程D.内存与外设
操作系统第二章复习题-答案

操作系统第二章复习题一、选择最合适的答案1. 用P、V 操作管理临界区时,信号量的初值一般应定义为(C )。
A.–1 D.任意值2. 有m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
至–(m-1) 至m-1 至–m 至m3.在下面的叙述中,正确的是(C )。
A.临界资源是非共享资源B.临界资源是任意共享资源C.临界资源是互斥共享资源D.临界资源是同时共享资源4.对进程间互斥地使用临界资源,进程可以(D )A.互斥地进入临界区B.互斥地进入各自的临界区C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1 时表示(B )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待6.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1 时表示(A )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待7.当一进程因在记录型信号量S 上执行P(S)操作而被阻塞后,S 的值为(B )。
A.>0B.<0C.≥0D.≤08.当一进程因在记录型信号量S 上执行V(S)操作而导致唤醒另一进程后,S 的值为(D )。
A.>0B.<0C.≥0D.≤09.如果信号量的当前值为-4,则表示系统中在该信号量上有(A )个进程等待。
10.若有4 个进程共享同一程序段,而且每次最多允许3 个进程进入该程序段,则信号量的变化范围是( B )。
A. 3,2,1,0B. 3,2,1,0,-1C. 4,3,2,1,0D. 2,1,0,-1,-211.若信号S 的初值为2,当前值为-1,则表示有( B )个等待进程12.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为( C )。
操作系统第二章复习题答案
操作系统第二章复习题答案操作系统第二章复习题答案第一节:操作系统概述操作系统是计算机系统中的核心软件之一,它负责管理和控制计算机硬件资源,并提供用户与计算机之间的接口。
操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理等。
第二节:进程管理1. 进程是指正在执行中的程序。
它包括程序计数器、寄存器集合和栈等信息。
进程的状态包括运行态、就绪态和阻塞态。
2. 进程调度是指根据一定的策略选择下一个执行的进程。
常见的调度算法有先来先服务调度算法、短作业优先调度算法和时间片轮转调度算法等。
3. 进程同步是指协调多个进程的执行顺序,避免出现竞态条件和死锁等问题。
常见的进程同步机制有互斥锁、信号量和条件变量等。
第三节:内存管理1. 内存管理是指操作系统对内存资源的分配和回收。
常见的内存管理方式有分区管理和页式管理。
2. 分区管理将内存划分为多个固定大小的分区,每个分区只能分配给一个进程。
常见的分区分配算法有首次适应算法、最佳适应算法和最坏适应算法等。
3. 页式管理将内存和进程的地址空间划分为固定大小的页和页框,实现了虚拟内存的概念。
常见的页式管理算法有局部页面置换算法和全局页面置换算法等。
第四节:文件系统管理1. 文件系统管理是指操作系统对文件的组织和访问控制。
文件是计算机中存储数据的基本单位,它包括文件名、文件属性和文件数据等。
2. 文件系统通过目录结构来组织文件,常见的目录结构有单级目录结构、树状目录结构和索引节点结构等。
3. 文件系统提供了文件的读、写和删除等操作,同时还提供了文件保护和文件共享等功能。
第五节:设备管理1. 设备管理是指操作系统对计算机硬件设备的管理和控制。
常见的设备管理方式有设备驱动程序和设备控制块等。
2. 设备驱动程序是操作系统与硬件设备之间的接口,它负责将操作系统的请求转化为硬件设备可以理解的指令。
3. 设备控制块是操作系统对每个设备的描述,它包括设备类型、设备状态和设备队列等信息。
操作系统 第二讲作业进程线程习题课
2011年5月23日星期一
15
第二讲
习题课
三、应用题
【1】某系统的进程状 态变迁图如图2 所示, 态变迁图如图2.9所示, 请说明: 请说明: (1)引起各种状态 变迁的典型事件有 哪些? 哪些?
2011年5月23日星期一 16
(1)引起各种状态变迁的典型事件有哪些? )引起各种状态变迁的典型事件有哪些? 答: (1)在本题所给的进程状态变迁图中 , )在本题所给的进程状态变迁图中, 存在4种状态变迁 种状态变迁。 存在 种状态变迁 。 当进程调度程序从就绪队 列中选取一个进程执行时引起变迁1; 列中选取一个进程执行时引起变迁 ; 正在执 行的进程如因时间片用完而被暂停执行就会引 起变迁2; 起变迁 ; 正在执行的进程因等待发生某事件 而无法执行下去(如进程提出输入/输出请求, 而无法执行下去(如进程提出输入/输出请求, 等待输入/输出完成)则会引起变迁3; 等待输入 / 输出完成 ) 则会引起变迁 ; 当进 程等待的事件发生(如输入/输出完成) 程等待的事件发生(如输入/输出完成)则会 引起变迁4。 引起变迁 。
2011年5月23日星期一 18
(3)试说明是否会发生下述因果变迁: )试说明是否会发生下述因果变迁: 2→1 3→2 4→1 因果变迁指的是有两个变迁, 解 : 因果变迁指的是有两个变迁 , 一个变迁的发生会 引起另一个变迁的发生, 前一个变迁称为因, 引起另一个变迁的发生 , 前一个变迁称为因 , 后一个 变迁称为果, 这两个变迁称为因果变迁。 当然, 变迁称为果 , 这两个变迁称为因果变迁 。 当然 , 这种 因果关系井不是什么时候都能发生, 因果关系井不是什么时候都能发生 , 而是在一定条件 下才会发生。 下才会发生。 2→1:当某进程发生变迁 时,就必然引起另一进程 :当某进程发生变迁2时 的变迁l。因为当发生变迁2时 的变迁 。因为当发生变迁 时,正在执行的进程从执行 状态变为就绪状态, 进程调度程序必然会从就绪队列 状态变为就绪状态, 中选取一个进程投入运行,即发生变迁1。 中选取一个进程投入运行,即发生变迁 。
现代操作系统第四版第二章答案
现代操作系统第四版第二章答案现代操作系统第二章进程与线程习题1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。
但是,图中只给出了四种转换。
有没有可能发生其他两种转换中的一个或两个A:从阻塞到运行的转换是可以想象的。
假设某个进程在I/O上阻塞,而且I/O结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。
而另外一种转换(从阻塞态到就绪态)是不可能的。
一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。
只有运行的进程才能被阻塞。
2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。
CPU需要哪些信息请描述用硬件完成进程切换的工作过程。
A:应该有一个寄存器包含当前进程表项的指针。
当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。
然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。
3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。
例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。
另外,中断服务例程需要尽快地执行。
(补充)主要是出于效率方面的考量。
中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。
4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈A:内核使用单独的堆栈有若干的原因。
其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。
5.一个计算机系统的内存有足够的空间容纳5个程序。
这些程序有一半的时间处于等待I/O的空闲状态。
操作系统第二章复习题
操作系统第二章复习题 第二章进程管理 一、单项选择题 1.临界区是指( )。 A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段 2、( )是只能由P和V操作所改变的整型变量。 A共享变量 B.锁 C.整型信号量 D.记录型信号量 3.对于整型信号量,在执行一次P操作时,信号量的值应( )。 A.不变B.加1 C.减1 D.减指定数值 4.在执行V操作时,当信号量的值( )时,应释放一个等待该信号量的进程。 A.>0 B.<0 C.>=0 D.<=0 5、PV操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。 A初始化程序B.原语 C.子程序 D控制模块 6、进程间的互斥与同步分别表示了各进程间的( )。 A.竞争与协作 B.相互独立与相互制约 C.不同状态D.动态性与并发性 7、并发进程在访问共享资源时的基本关系为( )。 A.相互独立与有交往的 B.互斥与同步 C并行执行与资源共享 D信息传递与信息缓冲8.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。 A.发送信件的进程名 B.接收信件的进程名 C信箱名 D.信件内容 9.下列对线程的描述中,( )是错误的。 A.不同的线程可执行相同的程序 B.线程是资源分配单位C.线程是调度和执行单位D.同一进程中的线程可共享该进程的主存空间 1-5 DCCDB 6-9ABCB 二、填空题 1、进程的_____是指进程在处理器上的执行是按顺序进行的。 2、当一个进程独占处理器顺序执行时,具有___ ___和____两个特性。 3、进程的封闭性是指进程的执行结果只取决于______,不受外界影响。 4、进程的可再现性是指当进程再次重复执行时,必定获得___ ___的结果。 5、一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为______。 6、若系统中存在一组可同时执行的进程,则就说该组进程具有____。 7、如果—个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这并发进程相互之间是____的。 8、临界区是指并发进程中与______有关的程序段。 9、_____是指并发进程中涉及到相同变量的那些程序段。 10、进程的______是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用 。 1顺序性2 封闭性和可在现行3 进程本身4相同 5 可同时执行或并发执行6 并发性7 无关8 共性变量9 临界区10 互斥执行 三、简答题 1、程序并发执行时为什么会失去封闭性和可再现性? 答案:因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 2、在操作系统中为什么要引入进程概念?它会产生什么样的影响? 答案:为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。 3、试从动态性,并发性和独立性上比较进程和程序? 答案: a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。4、试说明PCB的作用?为什么说PCB是进程存在的唯一标志? 答案: a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB 而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 5、试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 6、为什么要引入挂起状态?该状态有哪些性质? 【答案:】 a. 引入挂起状态主要是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程请求,负荷调节的需要,操作系统的需要。 b. 被挂起的进程是处于静止状态,并且不能直接被处理机调度。 7、为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要执行“退出区”代码? 【答】为了实现多个进程对临界资源的互斥访问,必须在临界区之前加一段用于检查临界资源是否正在被访问的代码,如未被访问,该进程可进入临界区对此临界资源进行访问;如正被访问,则该进程不能进入临界区访问临界资源。 在退出临界区后,执行恢复访问标志的代码为“退出区”,而在退出前执行“退出区”代码主要是为了使其它进程能再访问此临界资源。 8、试从物理概念上说明记录型信号量wait和signal。 【答】 Wait(S):当S.value>0时,表示目前系统中这类资源还有可用的,执行一次wait操作,意味着进程请求一个单位的该类资源,是系统中可供分配的该类资源减少一个,因此描述为S.value:=S.value-1;当S.value<0时,表示该类资源已分配完毕,因此进程应调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S.L中。 Signal(S):执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的该类资源数增加一个,故执行S.value:=S.value+1操作。若加1后S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup原语,将S.L链表中的第一个等待进程唤醒。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章练习题
一、单项选择题
1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。
A. 从就绪变为运行; B.从运行变为就绪;
C.从运行变为阻塞; D.从阻塞变为就绪
2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。
A.可以有多个进程控制块;
B.可以和其他进程共用一个进程控制块;
C.可以没有进程控制块;
D.只能有惟一的进程控制块。
3.临界区是指并发进程中访问共享变量的(D)段。
A、管理信息
B、信息存储
C、数
据 D、程序
4. 当__ B__时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中
B. 时间片到
C. 等待某一事件
D. 等待的事件发生
5. 信箱通信是一种( B )通信方式。
A. 直接通信
B. 高级通信
C. 低级通信
D. 信号量
6. 原语是(B)。
A、一条机器指令
B、若干条机器指令组成
C、一条特定指令
D、中途能打断的指令
7. 进程和程序的一个本质区别是(A)。
A.前者为动态的,后者为静态的;
B.前者存储在内存,后者存储在外存;
C.前者在一个文件中,后者在多个文件中;
D.前者分时使用CPU,后者独占CPU。
8. 任何两个并发进程之间存在着(D)的关系。
A.各自完全独立B.拥有共享变量
C.必须互斥D.可能相互制约
9. 进程从运行态变为等待态可能由于(B )。
A.执行了V操作 B.执行了P操作
C.时间片用完 D.有高优先级进程就绪
10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。
A.任意整数 B.1 C.0 D.-1
11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
A.≤0 B.1 C.n-1 D.n
12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
A.-1 B.1 C.-n D.n
13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
A.执行B.就绪 C.运行 D.收容
14. 有一共享文件可供n个并发进程使用,但限制最多m个进程(n≥m≥1)可同时读文件,用PV操作进行管理时其信号量的初值应该为(B)。
A.n B.m
C.n-m D.1
15. 当一个任务需要若干进程协同完成时,进程之间需要交换一定数量的信息,把这种信息交换称为(B)。
A.进程唤醒 B.进程通信
C.进程互斥 D.进程同步
二、判断题
1、程序在运行时需要很多系统资源,如内存、文件、
设备等,因此操作系统以程序为单位分配系统资源。
(错)
2、若无进程处于运行状态,则就绪队列和等待队列均
为空。
(错)
3、进程的互斥和同步总是因相互制约而同时引起。
(错)
4、P V操作不仅可用来实现进程的同步与互斥,而且可
以防止系统死锁。
(错)
5、并发进程的执行速度只取决于进程本身,不受外界
影响。
(错)
三、填空题
1.在现代操作系统中,资源的分配单位是进程 ,
而处理机的调度单位是线程 ,一个进程可以有多个线程。
2.进程调度完成进程状态从就绪态到运行态的转化。
3.并发进程中涉及到访问临界资源的程序段称为临界区。
4.进程的基本状态有就绪 , 运行 , 阻塞。
5. 用PV操作管理相关临界区时,任何一个进程要进入自己的临界区前应调用 P 操作,退出临界区时应调用 V 操作。
6. 系统中存在多个进程时,这些进程对共享资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是直接制约关系,另一种是间接制约关系。
7. 用PV操作实现进程同步时,进程应调用 P 操作来检测自己等待的消息是否到达,调用 V 操作则可唤醒一个等待消息的进程。
8. 如果在一个取负值的信号量上调用P操作,则将使该进
程变为阻塞状态,而调用V操作将使一个等待资源的进程成为就绪状态。
9. 有一资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理则信号量的初值应定义为 1 ,可能出现的信号量的最小值为 1-n 。
10. 若信号量S的初值定义为10,则在S上调用了18次P 操作和15次V操作后S的值应该为 7 。
11.若进程间利用信箱进行通信,则操作系统应该设计两个基本通信原语是 send 原语和 receive 原语。
四、问答题
1.一个单CPU的操作系统共有n个进程,不考虑进程
状态过渡时的情况,也不考虑空转进程。
给出运行进程的个数;给出就绪进程的个数;给出等待进程的个数。
2.解:运行进程的个数可能是 0,也可能是 1;
3.就绪的进程的个数可能是0,也可能是n-1
4.等待进程的个数可能是0,也可能是n
2. 说明下列活动是属于哪些制约关系
1)若干同学去图书馆借书进程互斥
2)两队进行篮球比赛进程互斥
3)流水线生产中的各道工序进程同步
4)商品生产和社会消费进程同步
3. 是否所有的共享资源都是临界资源,为什么?
答:不是,根据定义,一次只允许一个进程使用的进程才叫临界资源, 能同时被多个进程使用的资源不是临界资源
4. 某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。
若把一个购票者看作一个进程,请回答下列问题:
(1)用P、V操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。
(2)根据所定义的信号量,把应执行的P、V操作填入下述方框中,以保证进程能够正确地并发执行。
COBEGIN PROCESS PI(I=1,2,……)
begin ;
进入售票厅;
购票;
退出;
end;
COEND
(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。
参考答案:
(1)定义一信号量S,初始值为20。
意义:
S>0 S的值表示可继续进入售票厅的人数
S=0 表示售票厅中已有20名顾客(购票者)
S<0 |S|的值为等待进入售票厅的人数
(2)上框为P(S)
下框为V(S)
(3)S的最大值为20
S的最小值为20-n
5. 四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。
但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。
为了使这四个进程并发执行时能按系统要求使用文件,现用PV 操作进行管理,请回答下面的问题:
(1)应定义的信号量及初
值:。
(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:
A()B() C() D()
{ { { {
[1]; [3]; [5];[7];
read F; read F; read F; read F;
[2];[4]; [6]; [8];
} } } }
思考题解答:
(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1。
其中进程A和C使用信号量S1,进程B和D使用信号量S2。
(2)从[1]到[8]分别为:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2)
6.设有一个发送者进程和接收者进程,其流程图如下图所示。
S是用于实现进程同步的信号量,mutex是用于实现进程互斥的信号量。
试问流程图中的A、B、C、D四框中应填写什么假定缓冲区有无限多个,S和mutex的初值应为多少
图发送者及接收者工作流程图
7. 在公共汽车上,司机和售票员的工作流程如下:
为保证乘客的安全,司机和售票员应密切配合协调工作。
假定初始状态为:车辆正在起点站停着车、开着门,等
待第一批乘客。
当发车时间到,售票员关好车门后司机可以启动车辆。
若用PV操作来实现司机与售票员之间的协调工作,请回答下列问题:
(1)司机与售票员之间的关系是同步还是互斥解释之。
(2)用PV操作来管理时应定义几个信号量初值为多少?
(3)请在司机与售票员的工作流程中填上适当的P操作和V操作,使他们能安全、协调地工作。
8. 进程之间的通信方式有几种在单机环境下,常用的
哪几种通信方式?
答:三种:共享内存,消息机制,以及管道通信
在单机环境下:常采用共享内存以及管道通信。
五、多选题
1.有关并发进程的下列叙述中,(C、D)是正确的。
A.任何时刻允许多个进程在同一CPU上运行
B.进程执行的速度完全由进程自己控制
C.并发进程在访问共享资源时可能出现与时间有关的
错误
D.同步是指并发进程中存在的一种制约关系
E.各自独立的并发进程在执行时不会相互影响
2. 一个正在运行的进程调用P(S)后,若S的值为(A D),则该进程可以继续运行。
A.S >0 B.S<0 C.S≠0 D.S≥0 E.S≤0。