《操作系统》习题集:第2章 进程与线程(第1部分)
- 格式:pdf
- 大小:278.13 KB
- 文档页数:2
操作系统习题及答案一操作系统是管理计算机硬件与软件资源的程序,同时也是计算机系统的内核与基石。
以下是一些操作系统相关的习题及答案。
习题一:进程与线程的区别进程是操作系统进行资源分配的基本单位,而线程是操作系统进行调度的基本单位。
请简述进程和线程的主要区别。
答案:进程和线程存在以下几个主要区别:1、资源拥有:进程拥有独立的地址空间和资源,如内存、文件等;线程共享所属进程的资源,但有自己的栈和寄存器等少量私有资源。
2、调度:进程切换开销较大,因为需要切换整个地址空间;线程切换开销小,只需要切换少量的寄存器和栈。
3、并发性:进程之间并发度低,因为切换成本高;线程之间并发度高,可以在一个进程内并发执行多个线程。
4、系统开销:创建和销毁进程的系统开销大;创建和销毁线程的开销相对较小。
习题二:操作系统的存储管理简述操作系统中常见的存储管理方式及其特点。
答案:常见的存储管理方式有:1、连续分配:包括单一连续分配和分区分配(固定分区和动态分区)。
单一连续分配方式简单,但只能用于单用户、单任务的操作系统;固定分区分配缺乏灵活性,会产生内部碎片;动态分区分配会产生外部碎片。
2、分页存储管理:将内存空间划分为固定大小的页框,将进程空间划分为相同大小的页面,通过页表进行映射。
优点是没有外部碎片,缺点是存在一定的内部碎片。
3、分段存储管理:按照程序的逻辑分段,每个段有不同的长度和属性。
便于实现信息共享和保护,但会产生外部碎片。
4、段页式存储管理:结合了分段和分页的优点,先分段,再分页。
既便于实现分段共享和保护,又解决了外部碎片问题,但增加了系统开销。
习题三:死锁的产生条件及解决方法阐述死锁产生的必要条件,并说明预防死锁和避免死锁的方法。
答案:死锁产生的必要条件有四个:1、互斥条件:资源在某一时间内只能被一个进程使用。
2、请求和保持条件:进程在持有部分资源的同时,又请求新的资源。
3、不剥夺条件:进程已获得的资源在未使用完之前,不能被其他进程强行剥夺。
计算机操作系统(习题集)第二章答案计算机操作系统(习题集)第二章答案第二章进程管理一、单项选择题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、进程就是程序在mammalian环境中的继续执行过程,它就是系统展开资源分配和调度的一个基本单位。
进程具备[1a]、[2d]、调度性、异步性和结构性等基本特征。
进程就是一次继续执行过程,具备生命期彰显了进程的[1]特征。
进程由程序段、[3b]、[4c]共同组成,其中[4]就是进程在系统中存有的唯一标识。
供选择的答案:[1][2]:a、动态性b、静态性c、共行性d、并发性e、可执行性f、易用性[3]:a、过程b、数据c、进程标识符d、函数[4]:a、fcbb、fifoc、pcbd、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.进程控制块是描述进程状态和特性的数据结构,一个进程( 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.1C.n-1 D.n12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
A.-1 B.1 C.-n D.n13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
第二章作业第一次作业:1.进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?答:三种基本状态:就绪状态、执行状态、阻塞状态。
(1)就绪状态→执行状态:进程分配到CPU资源(进程调度);(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成2.在Linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。
main(){fork();fork();fork();}答:最多可以产生7个进程。
其家族树为:3.试从动态性、并发性和独立性上比较进程和程序。
答:1)动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的;2)并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身(没有建立PCB)是不能并发执行的;3)独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。
凡未建立PCB的程序,都不能作为一个独立的单位来运行。
4.分析下列代码的功能:答:sleep_on实现进程的睡眠过程;wake_up实现进程的唤醒过程。
第二次作业:1.同步机制应该遵循哪些基本准则?你认为整型信号量机制遵循了同步机制的哪些基本准则?答:同步机制应遵循四个基本准则:a. 空闲让进:当无进程处于临界区时,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
b. 忙则等待:当已有进程进入临界区时,其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
c. 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
d. 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。
第二章进程管理一、单项选择题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. 图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.死锁预防正确答案:A2、下面哪种死锁处理策略引入的不合理因素最严重?()A.死锁检测+恢复B.死锁忽略C.死锁预防D.死锁避免正确答案:C3、为什么进程切换的代价要比线程切换要大?()A.因为进程切换要切换控制块数据结构B.因为进程切换要切换PC指针C.因为进程切换要切换段表D.因为进程切换要切换栈正确答案:C4、初值为N的信号量,当前值为-1表示的含义是什么?()A.有1个资源B.有N-1个进程在等待C.有1个进程在等待D.有N-1个资源正确答案:C5、为什么PC机通常死锁忽略策略?()A.因为死锁检测算法在PC机器上不能执行B.因为PC机上的发生死锁造成的破坏小C.因为PC机上的死锁可以用重启来解决D.因为PC机上的发生死锁的可能性小正确答案:C6、下面哪种参数可以用来表征操作系统可以对用户输入快速处理?()A.响应时间B.等待时间C.吞吐量D.周转时间正确答案:A7、下面哪种调度算法可以保证用户的输入在一定的时间以后可以得到响应?()A.短作业优先B.时间片轮转调度C.剩余短作业优先D.先来先服务算法正确答案:B8、下面哪个系统调用不是用来操控进程的?()A.open()B.fork()C.wait()D.exec()正确答案:A9、下面哪种状态下的进程不存放在内存中?()A.运行态B.阻塞态C.挂起态D.就绪态正确答案:C10、关于进程和线程的主要区别,下面哪种论述是正确的?()A.线程之所以切换快是因为TCB比PCB尺寸小B.线程切换时可能会引起进程切换C.进程不能成为调度的单位D.线程可以没有栈正确答案:B11、在实际系统中实现进程调度算法需要考虑诸多因素,相比而言下面哪个因素最不需要考虑?()A.机器物理内存的大小B.机器的使用环境C.用户任务的特点D.算法的复杂性正确答案:A12、进程和程序的区别主要体现在哪里?()A.进程在内存中,程序在磁盘上。
第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.()必会引起进程切换。
【**,★,联考】
A. 一个进程创建后,进入就绪态
B. 一个进程从运行态变为就绪态
C. 一个进程从阻塞态变为就绪态
D. 都不对
13.以下()不会引起进程创建。
【**,联考,?】
A. 用户登录
B. 作业调度
C. 设备分配
D. 应用请求
14.下列选项中,导致创建新进程的操作是()。
【***,★,10考研】
Ⅰ. 用户登录成功Ⅱ. 设备分配Ⅲ. 启动程序执行
A. 仅Ⅰ和Ⅱ
B. 仅Ⅱ和Ⅲ
C. 仅Ⅰ和Ⅲ
D. Ⅰ、Ⅱ、Ⅲ
15.以下关于父进程和子进程的叙述中,正确的是()。
【**,★,联考】
A. 父进程创建了子进程,因此父进程运行完了,子进程才能运行
B. 父进程和子进程可以并发执行
C. 撤销子进程时,应该同时撤销父进程
D. 撤销父进程时,应该同时撤销子进程
16.在下面的叙述中,正确的是()。
【**,联考,?】
A. 引入线程后,处理机只在线程间切换
B. 引入线程后,处理机仍在进程间切换
C. 线程的切换,不会引起进程的切换
D. 线程的切换,可能引起进程的切换
17.在下面的叙述中,正确的是()。
【**,★,联考】
A. 线程是比进程更小的能独立运行的基本单位
B. 引入线程可提高程序并发执行的程序,可进一步提高系统效率
C. 线程的引入增加了程序执行坟的时空开销
D. 一个进程一定包含多个线程
18.在下面的叙述中,正确的是()。
【*,联考】
A. 同一进程内的线程可并发执行,不同进程的线程只能串行执行
B. 同一进程内的线程只能串行执行,不同进程的线程可并发执行
C. 同一进程或不同进程内的线程都只能串行执行
D. 同一进程或不同进程内的线程都只能并发执行
19.以下关于线程的叙述中,正确的是()。
【*,★,联考】
A. 内核支持线程的切换都需要内核的支持
B. 线程是资源的分配单位,线程都是拥有资源的独立单位
C. 不管系统中是否有线程,线程都是扔有资源的独立单位
D. 在引入线程的系统中,进程仍是资源分配和调度分派的基本单位
20.在支持多线程的系统中,进程P创建的若干线程不能共享的是()。
【**,★,11考研】
A. 进程P的代码段
B. 进程P中打开的文件
C. 进程P的全局变量
D.进程P中某线程的栈指针。