操作系统_第二章_进程和线程复习题
- 格式:doc
- 大小:100.00 KB
- 文档页数:9
进程线程练习题一、选择题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-1. 下⾯对进程的描述中,错误的是。
A.进程是动态的概念B. 进程执⾏需要处理机C.进程是有⽣命周期的D. 进程是指令的集合【答案】D动态的,有⽣命周期的。
【解析】【解析】程序是指令的集合。
⽽进程是程序的⼀次执⾏,是动态的,有⽣命周期的。
1-2. 分配到必要的资源并获得处理机时的进程状态是 ()A. 就绪状态B. 执⾏状态C. 阻塞状态D. 撤消状态【答案】B【解析】分配到必要地资源获得处理机时的进程状态是执⾏状态。
1-3.程序的顺序执⾏通常在①的⼯作环境中,具有以下特征②。
程序的并发执⾏在③的⼯作环境中,具有如下特征④。
A. 单道程序B.多道程序C. 程序的可再现性D. 资源共享【答案】①A ②C ③B ④D。
【解析】程序的顺序执⾏通常在单道程序的⼯作环境中,具有程序结果的可再现性特征;程序的并发执⾏在多道程序的⼯作环境中,具有共享资源的特征。
1-4. 下列进程状态变化中,变化是不可能发⽣的A. 运⾏——就绪B.运⾏—— 等待C. 等待——运⾏D. 等待——就绪【答案】C【解析】当调度程序为某就绪状态的进程分配了处理机时,该进程便由就绪状态变为执⾏状态;正在执⾏的进程因等待发⽣某事件⽽⽆法执⾏时,该进程由执⾏状态变为等待状态;当处于等待状态的进程所等待的事件发⽣时,该进程由等待状态变为就绪状态;正在执⾏的进程如因时间⽚⽤完⽽暂停执⾏,该进程由执⾏状态变为就绪状态。
等待——运⾏不可能发⽣,就绪—— 等待不可能发⽣。
运⾏不可能发⽣,就绪唯⼀的双向箭头是运⾏运⾏——就绪,就绪——运⾏唯⼀的双向箭头是1-5. 当时,进程从执⾏状态转变为就绪状态。
A. 进程被调度程序选中B. 时间⽚到C. 等待某⼀事件D.等待的事件发⽣【答案】B。
【解析】正在执⾏的进程,如因时间⽚⽤完⽽暂停执⾏,则该进程由执⾏状态转变为就绪状态。
就绪——运⾏ C. 等待某⼀事件运⾏—— 阻塞 D.等待的事件发⽣等待——就绪A. 进程被调度程序选中,进程被调度程序选中,就绪1-6. 如果系统中有n个进程,则就绪队列中进程的个数最多为。
第2章进程与线程-习题集一、选择题1.以下关于进程的描述中,正确的是()。
【*,联考】A. 进程获得CPU运行是通过调度得到的B. 优先级是进程调度的重要依据,一旦确定就不能改变C. 在单CPU的系统中,任意时刻都有一个进程处于运行状态D. 进程申请CPU得不到满足时,其状态变为阻塞2.一个进程是()。
【*,联考】A. 由处理机执行的一个程序B. 一个独立的程序+数据集C. PCB结构、程序和数据的组合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. 就绪状态D. 完成状态9.当一个进程完成一个时间片后,系统需要将该进程的状态由运行状态转变为()。
【*,联考】A. 就绪状态B. 阻塞状态C. 撤销状态D. 创建状态10.进程状态由就绪态转换为运行态是由()引起的。
【**,联考】A. 中断事件B. 进程状态转换C. 进程调度D. 为程序创建进程11.下列选项中,降低进程优先级的合理时机是()。
【***,10考研】A. 进程的时间片用完B. 进程刚完成I/O,进入就绪队列C. 进程长期处于就绪队列中D. 进程从就绪状态转为运行态12.()必会引起进程切换。
第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(B)进行的。
A.同一时刻B. 同一时间间隔内C.某一固定时刻D. 某一固定时间间隔内2、引入多道程序技术后,处理机的利用率( C)。
A.降低了B. 有所改善C.大大提高D. 没有变化,只是程序的执行方便了3、顺序程序和并发程序的执行相比,( C)。
A.基本相同 C.并发程序执行总体上执行时间快B. 有点不同 D.顺序程序执行总体上执行时间快4、单一处理机上,将执行时间有重叠的几个程序称为(C )。
A.顺序程序B. 多道程序C.并发程序D. 并行程序5、进程和程序的本质区别是(D )。
A.存储在内存和外存 B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征6、进程就是程序在并发环境中的执行过程,它是系统进行资源分配和调度的一个基本单位。
进程具有[1A]、[2D]、调度性、异步性和结构性等基本特征。
进程是一次执行过程,具有生命期体现了进程的[1]特征。
进程由程序段、[3B]、[4C]组成,其中[4]是进程在系统中存在的唯一标识。
供选择的答案:[1][2] :A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性[3] :A、过程 B、数据 C、进程标识符 D、函数[4] :A、FCB B、FIFO C、PCB D、JCB7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1D]进入[2A]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3D],这个过程是由[4C]来完成。
供选择的答案:[1][2][3] :A、就绪状态 B、静止状态 C、阻塞状态 D、运行状态[4] :A、进程控制程序B、资源分配程序C、进程调度程序 D、处理机分配程序8、为了描述进程的动态变化过程,采用了一个与进程相联系的(C ),根据它而感知进程的存在。
一、单项选择题1.在进程管理中,当C 时,进程从阻塞状态变为就绪状态。
A. 进程被进程调度程序选中 B.等待某一事件C. 等待的事件发生 D.时间片用完2.分配到必要的资源并获得处理机时的进程状态是B 。
A. 就绪状态 B.执行状态C.阻塞状态 C. 撤消状态3.P、V操作是 A 。
A. 两条低级进程通信原语 B.两组不同的机器指令C. 两条系统调用命令 D.两条高级进程通信原语4.对进程的管理和控制使用 B 。
A.指令 B.原语C.信号量 D.信箱通信5.进程的并发执行是指若干个进程 D 。
A. 同时执行 B.在执行的时间上是重叠的C.在执行的时间上是不可重叠的 D.共享系统资源6. 若P、V操作的信号量s初值为2,当前值为-1,则表示有 B等待进程。
A.0个 B.1个 C.2个 D.3个7. 程序的顺序执行通常在① A 的工作环境中,具有②C 特征;程序的并发执行在③ B 的工作环境中,具有④ D 特征。
A. 单道程序 B.多道程序C. 程序的可再现性 D.资源共享8.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是① D ;由运行状态变为阻塞状态的条件是② C 。
A. 时间片用完 B.等待某事件发生C. 等待的某事件己发生 D.被进程调度程序选中9.下列的进程状态变化中, B 变化是不可能发生的。
A. 运行一就绪 B.运行一等待C,等待一运行 D,等待一就绪10.一个运行的进程用完了分配给它的时间片后,它的状态变为 A。
A. 就绪 B.等待C. 运行 D.由用户自己确定11.用P、V操作管理临界区时,信号量的初值应定义为 C 。
A.-1 B.0 C.1 D.任意值12.用V操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A. 等待 B,就绪 C运行 D.完成13.进程间的同步是指进程间在逻辑上的相互 B 关系。
A. 联接 B.制约 C. 继续 D.调用14. D 是一种只能进行P操作和V操作的特殊变量。
现代操作系统第四版第二章答案现代操作系统第二章进程与线程习题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的空闲状态。
第2章进程与线程习题三、名词解释进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。
PCB:进程控制块PCB(Process Control Block),PCB是进程存在的唯一标志。
它是描述和管理进程的数据结构。
线程:线程是进程内一个相对独立的、可调度的执行单元。
(线程自己基本上不拥有资源,只拥有一点在运行时必不可少的资源(如程序计数器、一组寄存器和栈),但它可以与同属一个进程的其他线程共享进程拥有的全部资源。
)原语:由若干条机器指令构成,用以完成特定功能的一段程序。
这段程序在执行期间不可分割。
临界区:在每个进程中,访问临界资源的一段代码。
临界资源:在同一时刻,只允许有一个进程对其访问的资源。
管程:代表共享资源的数据结构,以及由于对该共享数据结构实施操作的一组过程所组成的资源管理程序,共同构成了一个操作系统的资源管理模块,我们称之为管程。
系统吞吐量:每秒的数据处理量。
吞吐量是在给定时间段内系统完成的交换数量。
即系统的吞吐量越大,说明系统在单位时间内完成的用户或系统请求越多,系统的资源得到充分利用。
四、简答题1.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。
进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
2.什么是进程的互斥与同步?进程的同步与互斥是指进程在推进时的相互制约关系。
在多道程序系统中,由于进程合作与资源共享,这种进程间的制约称为可能。
操作系统第二章进程期末练习题及答案1、在单处理机系统中实现并发技术后,______A.进程在一个时刻点上并行运行,CPU与外设间串行工作B.进程在一个时刻点上并行运行,CPU与外设间并行工作C.进程在一个时间段内并行运行,CPU与外设间串行工作D.进程在一个时间段内并行运行,CPU与外设间并行工作。
正确答案:D2、线程模型中,操作系统分配CPU以外的资源以______为单位.A.指令B.线程C.程序D.进程正确答案:D3、操作系统中,当______,进程从执行状态转为就绪态A.进程被进程调度程序选中B.等待某一事件发生C.等待的事件发生D.进程被进程调度程序选中正确答案:D4、一个进程是_____A.一个独立的程序+数据集B.PCB结构与程序和数据的集合C.一个独立的程序D.协处理器执行的程序正确答案:B5、操作系统中,当 ______,进程从执行状态转为等待态A.等待事件发生B.时间片用完C.等待某一事件发生D.进程被进程调度程序选中正确答案:C6、n个进程有______种调度次序A.nB.2C.1D.n!正确答案:D7、若信号量S的初值为2,当前值为-1,则表示有个等待进程?A.2B.1C.0D.3正确答案:B8、下面关于临界资源的论述,正确的是______.A.对临界资源,应该采取互斥访问方式实现共享B.为临界资源配上相应的设备控制块后(一种用于设备管理的数据结构),就可以实现共享C.对临界资源, 应该采取同时访问方式实现共享D.并发执行的程序可以对临界资源实现共享正确答案:A9、下面关于临界区的论述正确的是______A.临界区是指进程中用于实现进程互斥的那段代码B.临界区是指进程中用于访问共享资源的那段代码C.临界区是指进程中用于实现进程同步的那段代码D.临界区是指进程中用于实现进程通讯的那段代码正确答案:B10、设有6个进程共享一互斥段,若最多允许3个进程进入临界区,则所采用的互斥信号灯的初值为______A.1B.6C.3D.0正确答案:C11、有3个进程共享一程序段,而每次最多允许两个进程进入该程序段,则信号量的取值范围是______A.2,1,0,-1B.1,0,-1,-2C.3,2,1,0D.2,1,0,-1,-2正确答案:A12、在非剥夺方式下,运行进程执行signal操作后,其状态______.A.要变B.不变C.可能不变D.可能变正确答案:B13、处于执行状态的进程,执行wait操作后,其值为负,则该状态由执行状态变为______.A.不就绪、不等待B.就绪C.就绪或等待D.等待正确答案:D14、资源的有序分配可以破坏______条件。
操作系统第二章进程和线程复习题(总11页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第二章练习题一、单项选择题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.-111. 现有n个具有相关临界区的并发进程,如果某进程调用P 操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
A.≤0 B.1 C.n-1 D.n12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。
计算机第二章测试题及答案测试题:1. 什么是操作系统?它的主要功能是什么?2. 什么是进程和线程?请解释它们的区别。
3. 什么是死锁?如何避免死锁的发生?4. 什么是存储管理?请简要介绍主存、辅存和虚拟存储器。
5. 什么是文件系统?请解释文件系统的层次结构。
答案:1. 操作系统是计算机系统中的核心软件,它负责管理和控制计算机的硬件和软件资源。
其主要功能包括进程管理、文件管理、内存管理、设备管理和用户接口等。
2. 进程是指在计算机中运行的程序的实例,它是资源分配和执行的基本单位。
线程是在进程内部的一个独立执行单元,它与其他线程共享进程的资源。
进程是独立的,拥有自己的地址空间和控制信息,而线程共享进程的地址空间和控制信息。
3. 死锁是指两个或多个进程因为相互等待对方释放资源而无法继续执行的状态。
避免死锁的方法包括破坏死锁产生的四个必要条件:互斥条件、请求和保持条件、不剥夺条件和循环等待条件。
4. 存储管理是操作系统对计算机系统中的内存和辅存资源进行管理和分配的过程。
主存是指计算机中用于存储程序和数据的内部存储器,它具有较快的读写速度;辅存是指计算机中的外部存储器,如硬盘、光盘等,它容量较大但读写速度较慢;虚拟存储器是指操作系统对主存和辅存的管理方式,它通过将主存的部分内容存储到辅存中,实现了主存的扩展。
5. 文件系统是操作系统中用于组织和管理文件的一种机制。
它通常采用树状的层次结构来组织文件,最上层是根目录,下面的层级依次代表目录和子目录。
文件系统层次结构的优点是可以方便地查找和管理文件,同时可以实现对文件的保护和权限控制。
操作系统__第二章_进程管理_习题答案第二章进程管理2. 试画出下面4条语句的前趋图:S1S1: a:=x+y;S4S3S2: b:=z+1;S2S3: c:=a-b; S4: w:=c+1; 3. 为什么程序并发执行会产生间断性特征?程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
操作系统第二章复习题答案操作系统第二章复习题答案操作系统是计算机系统中的核心软件之一,它负责管理和控制计算机的硬件资源,为用户和应用程序提供一个可靠、高效的工作环境。
在学习操作系统的过程中,复习题是一个很好的巩固知识的方式。
本文将回答操作系统第二章的复习题,帮助读者更好地理解和掌握相关知识。
1. 什么是进程?进程的状态有哪些?进程是程序的一次执行过程,是操作系统进行资源分配和调度的基本单位。
进程的状态有就绪、运行、阻塞和终止四种。
2. 进程的调度算法有哪些?请简要描述每种调度算法的特点。
常见的进程调度算法有先来先服务(FCFS)、短作业优先(SJF)、最高响应比优先(HRRN)和时间片轮转(RR)。
- FCFS:按照进程到达的顺序进行调度,先到达的进程先执行。
特点是简单易实现,但可能会导致长作业等待时间过长。
- SJF:选择执行时间最短的进程进行调度。
特点是平均等待时间较短,但无法预测进程的执行时间,可能导致长作业等待时间过长。
- HRRN:根据进程的响应比进行调度,响应比越高,优先级越高。
特点是兼顾了等待时间和执行时间,但计算响应比需要消耗额外的资源。
- RR:每个进程被分配一个时间片,当时间片用完后,进程被重新放入就绪队列。
特点是公平性好,但可能导致进程切换频繁。
3. 什么是死锁?死锁的必要条件有哪些?死锁是指在多个进程之间,每个进程都在等待某个资源被释放,而该资源又被其他进程持有,导致所有进程无法继续执行的状态。
死锁的必要条件包括互斥条件、请求与保持条件、不可剥夺条件和循环等待条件。
4. 请简要描述银行家算法的原理及其应用场景。
银行家算法是一种用于避免死锁的算法。
它通过分配资源前进行安全性检查,确保分配资源后系统不会发生死锁。
银行家算法的原理是基于资源的最大需求和系统当前可用资源之间的关系,通过模拟分配资源和释放资源的过程,判断系统是否处于安全状态。
银行家算法常用于操作系统中的资源管理,如分配内存、分配磁盘空间等。
第2章进程和线程的管理习题及解答例题解析例2.2.1 试说明进程和程序之间的区别和联系。
解进程和程序是既有区别又有联系的两个概念。
(1)进程是动态的,程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。
离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。
程序可看作是电影的胶片,进程可以看作电影院放电影的过程。
(2)一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。
(3)一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。
(4)程序可以长期保存,进程只能存在于一段时间。
程序是永久存在的,而进程有从被创建到消亡的生命周期。
例2.2.2 举例说明多道程序系统失去了封闭性和再现性。
解例如,有两个循环程序A和B,共享一个变量N。
程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。
程序A和B在多道程序系统中同时运行。
假定某时刻变量N的值为n,可能出现下述三种情况:(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。
所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。
例 2.2.3 为什么将进程划分成执行、就绪和阻塞三个基本状态?解根据多道程序执行的特点,进程的运行是走走停停的。
因此进程的初级状态应该是执行和等待状态。
处于执行状态的进程占用处理机执行程序,处于等待状态的进程正在等待处理机或者等待其它某种事件的发生。
但是,当处理机空闲时,并不是所有处于等待状态的进程都能放到处理机上执行,有的进程即使分配给它处理机,它也不能执行,因为它的执行的条件没有得到满足。
第2章进程与线程习题1.多个作业能够并行运行,比它们顺序执行完成的要快。
假设有两作业同时开始执行,每个需要10分钟的CPU时间。
如果顺序执行,那么最后一个作业需要多长时间可以完成?如果并行执行又需要多长时间?假设I/O等待占50%。
(来源:A.S.Tanenbaum《现代操作系统(原书第3版)》P95)答:最后一个作业需要30分钟完成,如果并行执行需要25分钟。
2.一个快餐店有四类雇员:(1)领班,接收顾客点的菜单;(2)厨师,准备饭菜;(3)打包工,将饭菜装在袋子里;(4)收银员,将食品袋交给顾客并收钱。
它们采用的进程间通信方式是什么?(来源:A.S.Tanenbaum《现代操作系统(原书第3版)》P96)答:它们采用的进程间的通讯方式是通道。
领班的输出是厨师的输入,厨师的输出是打包工的输入,打包工的输出是收银员的输入。
3.今有3个并发进程R、S、T,它们共享一个缓冲区B。
进程R负责从输入设备读入信息,每读出一个记录后就把它存入缓冲区B中;进程S利用缓冲区B加工进程R存入的记录;进程T把加工完毕的记录打印输出。
缓冲区B一次只能存放一个记录。
只有在进程T把缓冲区里的记录输出后,才能再往里放新的记录。
试用信号量及期P、V操作控制这3个进程间的正确工作关系。
(来源:宗大华《操作系统(第二版)》P162)答:如下图:4.有一个阅览室共100个座位。
用一张表来管理它,每个表目记录号以及读者姓名。
读者进入时要先在表上登记,退出时要注销登记。
度用信号量及期P、V操作来描述各个读者“进入”和“注销”工作之间的同步关系。
(来源:宗大华《操作系统(第二版)》P162)答:如下图说明:S=100进入阅览室线程注销线程5.有5个待运行作业,估计它们的运行时间分别是9,6,3,5和X。
采用哪种次序运行这些作业将得到最短的平均响应时间?(答案将依赖于X。
)(来源:A.S.Tanenbaum《现代操作系统(原书第3版)》P97)答:设有需要运行时间分别为a,b,c,d,e的5个线程,依次次执行则所需要的最短平均响应时间T=(4a+3b+2c+d)/4;要使得T最小,显然需要a<=b<=c=<d<=e.因此原题可以分成以下几种情况:当X<3时,有T=(4*X+3*3+2*5+6)/5,即按照X,3,5,6,9顺序执行;当3<=X<5时,有T=(4*3+3*X+2*5+6)/5,按照3,X,5,6,9顺序执行;当5<=X<6时,有T=(4*3+3*5+2*X+6)/5,按照3,5,x,6,9顺序执行;当6<=X<9时,T=(4*3+3*5+2*6+X)/5,按照3,5,6,x,9顺序执行;当X>=9时,T=(4*3+3*5+2*6+9)/5,按照3,5,6,9,X顺序执行。
操作系统第二章复习题一、选择题1、下列步骤中,( C )不是创建进程所必须的。
A 建立一个进程控制块B 为进程分配内存C 为进程分配CPUD 将其控制块放入就绪队列2、在进程管理中,当(BC )时,进程从运行状态变为就绪状态。
A 进程被调度程序选中B 时间片用完C 等待某一个事件发生D 等待的事件发生3、进程和程序的最根本区别在于( B )。
A 对资源的占有类型和数量。
B 进程是动态的,而程序是静态的。
C 看它们是否能够并发地在处理机上运行D 进程规模较小,程序规模较大4、一个进程被唤醒意味着( C )。
A 该进程的优先数变大B 该进程获得了CPUC 该进程从阻塞状态变为就绪状态D 该进程排在了就绪队列的队首5、进程的3种状态之间,下列( C )转换是不能进行的。
A 就绪状态到运行状态B 运行状态到阻塞状态C 阻塞状态到运行状态D 阻塞状态到就绪状态6、下列情况下,在( A )时,进程从阻塞状态转换到就绪状态。
A 等待的某事件已经发生了。
B 时间片用完了C 分配到必要的资源并获得了处理机D 等待某事件7、下面对父进程和子进程的叙述中,正确的是(BD )。
A 父进程创建子进程,因此父进程执行完了,子进程才能运行。
B 父进程和子进程之间可以并发执行C 撤消子进程时,应同时撤消其父进程D 撤消父进程时,应同时撤消其子进程8、某进程所申请一次打印事件结束,则该进程的状态可能发生改变是( D )A 运行状态转变到就绪状态B 阻塞状态转变到运行状态C 就绪状态转变到运行状态D 阻塞状态转变到就绪状态9、下列哪一个体现了原语的主要特点?( D )A 并发性B 异步性C 共享性D 不可分割性10、在具有挂起状态的系统中,若当前内存空间高度吃紧,系统将使请求I/O的一个执行状态的进程进入( D )状态。
A 活动就绪B 静止就绪C 活动阻塞D 静止阻塞11、如果单CPU系统中有n个进程,则就绪队列中进程的个数最多可达到( C )个。
操作系统自测题二一.选择题1.并发执行的程序具有________特征。
A.顺序性B.封闭性C.可再现性D.间断性2.在操作系统中,要想读取文件中的数据,通过什么来实现?A.系统调用B.原语C.文件共享D.中断3.在进程状态转换图中,________是不可能的。
A.运行态→就绪态B.运行态→等待态C. 等待态→运行态D.等待态→就绪态4.操作系统对进程进行管理与控制的基本数据结构是________。
A.JCBB.PCBC.PMTD.DCT5.一个进程当前处于等待状态,则________。
A.它可以被调度而获得处理机B.当I/O完成后,它将变成就绪状态C.它永远不会被执行D.它可能变成就绪状态,也可能直接获得处理机6.进程和程序的本质区别是________。
A.动态或静态B.分时使用或独占计算机资源C.顺序或非顺序的执行其指令D.存储在内存和外存7.进程和线程的区别是________。
A.大小不同B.独立调度的单位C.是否拥有资源D.对应的分别是程序和过程8.建立进程就是________。
A.建立进程的目标程序B.为其建立进程控制块C.将进程挂起D.建立进程及其子孙的进程控制块9.对进程的管理和控制使用________。
A.指令B.原语C.信号量D.信箱通信10.下面对进程的描述,错误的是________。
A.进程是一个动态的概念B.进程的执行需要处理机C.进程是有生命期的D.进程是指令的集合11.多道程序环境中,操作系统分配资源是以________为单位。
A.程序B.指令C.进程D.作业12.并发程序失去了封闭性是指________。
A.多个相对独立的进程以各自的速度向前推进B.并发进程执行时,在不同时刻发生的错误C.并发进程执行结果与速度无关D.并发进程共享变量,其执行结果与速度有关13.下面关于进程的描述,________不正确。
A.进程是多道程序环境中的一个程序B.进程由程序、数据、栈和PCB组成C.线程是一种特殊的进程D.进程是程序在一个数据集合上的执行过程,它是系统进行资源分配的单位14.当一个进程处于________状态时,不属于等待状态。
第二章练习题
一、单项选择题
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.≤0B.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、若无进程处于运行状态,则就绪队列和等待队列均为空。
(错)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个进程,不考虑进程状态过渡
时的情况,也不考虑空转进程。
给出运行进程的个数;给出
就绪进程的个数;给出等待进程的个数。
解:运行进程的个数可能是0,也可能是1;
就绪的进程的个数可能是0,也可能是n-1
等待进程的个数可能是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>0S的值表示可继续进入售票厅的人数
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。