一. 单选题(共12题,12分)
1.(单选题, 1分) 下面对进程的描述中,错误的是 ( )。
A、进程是动态的概念
B、进程执行需要处理机
C、进程是有生命期的
D、进程是指令的集合
答:D
2.(单选题, 1分) 一个作业被调度进入内存后其进程被调度进入CPU运行,在执行一段指令后,进程请求打印输出,整个过程中,该进程的状态变化是( ) 。
A、运行态-就绪态-阻塞态
B、阻塞态-就绪态-运行态
C、就绪态-运行态-阻塞态
D、就绪态-阻塞态-运行态
解析:对进程状态的考察。作业进入内存后,创建进程,进程处于就绪态,当进程被调度执行时 则由就绪态转换为运行态,后请求打印输出,则由运行态转换为阻塞态。故本题答案为 C。
3.(单选题, 1分) 一个进程的基本状态可以从其它两种基本状态转变过去,这个基本状态一定是( )。
A、运行状态
B、阻塞状态
C、就绪状态
D、完成状态
解析:只有就绪状态可以既由运行状态转变过去也能由阻塞状态转变过去,故本题答案为 C。
4.(单选题, 1分) 在一个单处理机系统中,若有10个用户进程,则处于就绪状态的用户进程最多有( )个。
A、1
B、8
C、9
D、10
答:C
5.(单选题, 1分) 在分时系统中,导致进程创建的典型事件是( )。
A、用户注册
B、用户登录
C、用户记帐
D、用户通信
答:B
6.(单选题, 1分) 一个进程被唤醒意味着( )。
A、该进程的优先数变大
B、该进程获得了 CPU
C、该进程从阻塞状态变为就绪状态
D、该进程排在了就绪队列的队首
答:C
7.(单选题, 1分) 进程控制块是描述进程状态和特性的数据结构,一个进程( )。
A、可以有多个进程控制块
B、可以和其它进程共用一个进程控制块
C、可以没有进程控制块
D、只能有唯一的进程控制块
答:D
8.(单选题, 1分) 下面的叙述中正确的是( )。
A、线程是比进程更小的能独立运行的基本单位,可以脱离进程独立运行。
B、引入线程可以提高程序并发执行的程度,可进一步提高系统效率。
C、线程的引入增加了程序执行时的时空开销。
D、一个进程一定包含多个线程。
解析:引入线程是为了减少程序执行时的时空开销,虽然它是一个独立运行的基本单位,但是不 能脱离进程单独运行。一个进程可包含一个或多个线程。故本题答案为 B。
9.(单选题, 1分) 一个计算机系统中,进程的最大数目主要受( )限制。
A、内存大小
B、用户数目
C、打开的文件数
D、外部设备数量
答:A
10.(单选题, 1分) 下面叙述中,不正确的是( )。
A、一个进程可以创建一个或多个线程
B、一个线程可以创建一个或多个线程
C、一个线程可以创建一个或多个进程
D、一个进程可以创建一个或多个进程
答:C
11.(单选题, 1分) 在多对一的线程模型中,当一个多线程进程中的某个线程被阻塞后,( )。
A、该进程的其他线程仍可继续运行
B、整个进程都将阻塞
C、该阻塞线程将被撤销
D、该阻塞线程将永远不可能再被执行
答:B
12.(单选题, 1分) 用信箱实现进程间通信的机制中有两个通信原语,它们分别是( )。
A、发送原语和执行原语
B、就绪原语和执行原语
C、发送原语和接收原语
D、就绪原语和接收原语
答:C
二. 填空题(共5题,10分)
13. (填空题, 1分) 进程存在的标志是____。
PCB(进程控制块)
14.(填空题, 3分) 并发进程之间的相互制约,是由它们____和____而产生的,因而导致程序在并发执行时具有 ____特征。
共享资源;相互合作;间断性(或异步性)
15.(填空题, 2分) 进程最基本的特征是____、____,除此之外,它还有独立和异步特征。
动态性;并发性
16.(填空题, 2分) 引入了线程的操作系统中,资源分配的基本单位是____,CPU分配的基本单位是____。
进程;线程
17.(填空题, 2分) 引入进程的目的是____,而引进线程的目的是____。
使程序能够正确的并发执行。提高资源利用率和系统吞吐量;减少并发执行的开销,提高并发执行的程度
三. 简答题(共6题,38分)
18. (简答题, 3分) 程序并发执行的特征是什么?
答:程序并发执行的特征是间断性、失去封闭性和不可再现性。
间断性:程序在并发执行时,由于它们共享资源或为了完成同一项任务而相互合作,导致并发程序之间形成相互制约的关系。这种相互制约关系将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。
失去封闭性:由于程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的执行失去了封闭性。
不可在现性:多个程序在并发执行时,由于失去了了封闭性,程序的运行结果就失去了不可再现性。
19. (简答题, 6分) 什么是进程?它具有什么特征?
答:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
进程具有动态性、并发性,独立性,异步性和结构性。
20. (简答题, 8分) 进程与程序的区别与联系是什么?
进程的区别:
进程是动态的,程序是静态的。程序是一组指令的有序集合,它定义了要执行的操作及顺序。进程是程序在某个数据集上的一次执行过程。
进程的暂时性和程序的永久性。进程是在程序进入内存开始被创建,在运行期间一直存在,当运行结束是由系统撤销,所以它的生命周期是有限的。程序作为一个静态文件,却可以一直存储在存储介质上。
进程的并发性和程序的顺序性。进程可以并发执行,是一个独立调度的单位,而程序不能作为独立调度的单位,它只代表一组语句的集合,通常程序中的语句是顺序执行的。
结构特征。进程是由程序段,数据段,堆栈和进程控制块4部分组成的,而程序不是。
进程和程序的联系:
同一个程序运行在若干个数据集合上,它将属于不同的进程。也就是说同一程序可以对应多个进程,一个进程可以涉及一个或多个程序的执行。
21. (简答题, 7分) 什么是线程?它具有什么属性?
答:线程是进程中能够并发执行的实体,是被独立调度和分派的基本单位,一个进程包含多个可并发执行的线程,这些线程共享进程所获得的主存空间和资源,可以为完成某一个任务而协同工作。线程表示进程中的一个控制点,执行一系列指令。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。线程有时被称为轻量级进程,是程序执行流中的最小单元。
线程具有轻型实体、独立调度和分派的基本单位、可并发执行、共享进程资源等属性。
22. (简答题, 8分) 请从调度、并发性、拥有资源和系统开销四个方面来比较线程与进程。
调度:在引入线程的OS中,则把线程作为调度和分派的基本单位。而把进程作为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装运行,从而显著提高系统的并发程度。在传统的OS中,拥有资源的基本单位和独立调度,分派的基本单位都是进程。
并发性:在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间也可以并发执行,因而使OS具有更好的并发性,从而能更有效地使用系统资源和提高系统吞吐量。在传统的OS中,只有进程与进程之间可以并发执行。
拥有资源:不论是传统的OS,还是设有线程的OS,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。一般来说,线程自己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源。
系统开销:创建或撤销进程时,系统都要为之分配或回收资源。因此,OS所付出的开销显著的大于在创建或撤销 线程的开销。进程切换时,这几整个当前进程CPU换将的保存及新被调度运行的进程CPU环境的设置。而线程切换只需要保存和设置少量寄存器的内容,并不设计存储器管理方面的操作。可见,进程切换的开销也远大于线程切换的开销。
23. (简答题, 6分) 进程有哪3种基本状态?请画出3种基本状态转换图,并标注出状态转换的原因。
答:进程有就绪状态、运行状态和阻塞状态3种基本状态。
四.论述题(共2题,14分)
24.(论述题, 6分) 1.回答下列问题:
(1)若系统中没有运行进程,是否一定没有就绪进程?为什么?
(2)若系统中既没有运行进程,又没有就绪进程,系统中是否就没有进程?为什么?
(3)在采用优先级进程调度时,运行进程是否一定是系统中优先级最高的进程?
答:(1)是。因为若系统中没有运行进程,那么系统很快会选择一个就绪进程运 行。至到当就绪队列中无进程时,CPU才允许空闲。
(2)否。因为系统中的所有进程都可能处于阻塞状态,当某一进程阻塞状态结束时,进程就会进入就绪状态,而一旦获得处理机资源,就进入运行状态。也可能处于死锁状态。
(3)否。系统中优先级最高的进程可能处于阻塞状态,这时,进程调度就会从就绪队列中选一个优先级次之的进程占用处理机资源。
25.(论述题, 8分)
2.现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
(2)为了支持进程状态的变迁,操作系统要提供哪些进程控制原语?
答:(1)为支持多进程的并发执行,系统必须建立的数据结构是PCB(进程控制块),和不同状态的PCB用链表组织起来,形成就绪队列和阻塞队列。
(2)为了支持进程状态的变迁,操作系统要提供阻塞原语、唤醒原语、挂起原语和激活原语。
五. 计算题(共2题,26分)
26. (计算题, 14分) 在单CPU和两台I/O设备(I1、I2)的多道程序设计环境下,同时投入3个作业运行。其执行轨迹如下:
Job1: I2(30ms),CPU(10ms),I1(30ms),CPU(10ms),I2(20ms)
Job2: I1(20ms),CPU(20ms),I2(40ms)
Job3: CPU(30ms),I1(20ms),CPU(10ms),I1(10ms)
如果CPU、I1和I2都能并行工作,优先级从高到低依次为Job1、Job2和Job3,优先级高的作业可以抢占优先级低的作业的CPU,但不可抢占I1和I2。试求:
①每个作业从投入到完成分别所需要的时间。
②从作业的投入到完成,CPU的利用率。
③I/O设备的利用率。
27. (计算题, 12分)
若主存中有3道程序A、B、C,它们按照A、B、C的优先次序运行。各程序的计算轨迹为:
A:计算(20ms),I/O(30ms),计算(10ms)
B:计算(40ms),I/O(20ms),计算(10ms)
C:计算(10ms),1/O(30ms),计算(20ms)
如果3道程序都使用相同的设备进行1/O操作(即程序以串行方式使用设备,调度开销忽略不计),试分别画出单道和多道运行的时间关系图。在两种情况下,CPU的平均利用率各是多少?