1、 1 操作系统第一章复习题 一、选择题 1、下列选项中,( )不是操作系统关心的主要问题。 A 管理计算机裸机 B 设计、提供用户程序与计算机硬件系统的界面。 C 管理计算机系统资源 D 高级程序设计语言的编译器 2、多道批处理系统的主要缺点是( C )。 A CPU 利用率低 B 不能并发执行 C 缺少交互性 D 以上都不是。 3、在操作系统中,( D ) 部分属于微内核。 A 输入 /输出井的管理程序,及作业调度软件。 B 用户命令解释程序 C 磁盘文件目录管理软件 D 进程通信服务例程 4、通常在分时系统 中运行的作业称为( C )。 A 前台作业 B 后台作业 C 终端型作业 D 批量
2、型作业 5、在下面的选项中,( A )不属于操作系统提供给用户的可用资源。 A 中断机制 B 处理机 C 存储器 D I/O 设备 6、操作系统在计算机系统中处于( B )的位置。 A 计算机硬件和软件之间 B 计算机硬件和用户之间 C 处理机和用户程序之间 D 外部设备和处理机之间 7、操作系统是对( C )进行管理的软件。 A 软件 B 硬件 C 计算机资源 D 应用程序 8、操作系统中采用多道程序设计技 术提高了 CPU 和外部设备的( A )。 A 利用率 B 可靠性 C 稳定性 D 兼容性 9、操作系统提供给程序员的接口是( B )。 A 进程 B 系统调用 C 库函数 D B 和
3、C 10、所谓( B )是指将一个以上的作业放入内存,并且同时处于运行状态,这些作 业共享处理机的时间和外围设备等其他资源。 2 A 多重处理 B 多道程序设计 C 实时处理 D 共行执行 11、实时系统必须在( C )内处理完来自外部的事件。 A 响应时间 B 周转时间 C 规定时间 D 调度时间 12、在 操作系统中,并发性是指若干事件( C )发生。 A 在同一时刻 B 一定在不同时刻 C 在某一时间间隔 D 依次在不同时间间隔内 13、订购机票系统处理各个终端的服务请求,处理后通过终端回答用户,所以它是一个( D )。 A 分时系统 B 多道批处理系统 C 计算机网络 D 实时信息处理
4、系统 二、填空题 1、操作系统两个最基本的特征是(并发)和(共享),两者之间互为存在条件。 2、实时系统应具有的两个基本特征,它们是(及时性)和(高可靠性)。 3、允许多个用户以交互方式使用计算机的操作系统称为(分时操作系统 );允许多个用户将多个作业提交给计算机集中处理的操作系统称为(批处理操作系统);计算机系统能及时处理过程控制数据并作出响应的操作系统称为(实时操作系统)。 4、操作系统是计算机系统中的一个(系统软件),它管理和控制计算机系统中的(硬件和软件资源)。 5、操作的四大功能是(处理机管理)、(存储器管理)、(设备管理)、(文件管理)。 6、操作系统的基本特征是(并发性)、(共享
5、性)、(虚拟性)、(异步性)。 三、简答题 1、设计现代操作系统的主要目标是什么? 答;有效性方便性可扩展性开放性 2、 OS 的作 用表现在哪几个方面? 答: OS 作为用户与计算机硬件系统之间的接口。 OS 是系统资源的管理者。 OS 实现了对计算机资源的抽象。 3、 OS 有几大特征?其最基本的特征是什么? 答: OS 有四大基本特征:并发、共享、虚拟和异步;其中最基本的特征是并发和共享。 4、试描述什么是微内核 OS。 答:关于微内核,现在尚无一致的定义,但一般具有一下特征: 够小的内核给予客户 /服务器模式 应用”机制与策略分离原理” 采用面向对象技术 操作系统第二章复习题 3 一、
6、选择题 1、下列步骤中,( C )不是创建进程 所必须的。 A 建立一个进程控制块 B 为进程分配内存 C 为进程分配 CPU D 将其控制块放入就绪队列 2、在进程管理中,当( B )时,进程从运行状态变为就绪状态。 A 进程被调度程序选中 B 时间片用完 C 等待某一个事件发生 D 等待的事件发生 3、进程和程序的最根本区别在于( B )。 A 对资源的占有类型和数量。 B 进程是动态的,而程序是静态的。 C 看它们是否能够并发地在处理机上运行 D 进程规模较小,程序规模较大 4、一个进程被唤醒意味着( C )。 A 该进程的优先数变大 B 该进程获得了 CPU C 该进程从阻塞状态变为就
7、绪状态 D 该进程排在了就绪队列的队首 5、进程的 3 种状态之间,下列( C )转换是不能进行的。 A 就绪状态到运行状态 B 运行状态到阻塞状态 C 阻塞状态到运行状态 D 阻塞状态到就绪状态 6、下列情况下,在( A )时,进程从阻塞状态转换到就绪状态。 A 等待的某事件已经发生了。 B 时间片用完了 C 分配到必要的资源并获得了处理机 D 等待某事件 7、下面对父进程和子进程的叙述中,正确的是( BD )。 A 父进程创建子进程,因此父进程执行完了,子进程才能运行。 B 父进 程和子进程之间可以并发执行 C 撤消子进程时,应同时撤消其父进程 D 撤消父进程时,应同时撤消其子进程 8、某
8、进程所申请一次打印事件结束,则该进程的状态可能发生改变是( D ) 4 A 运行状态转变到就绪状态 B 阻塞状态转变到运行状态 C 就绪状态转变到运行状态 D 阻塞状态转变到就绪状态 9、下列哪一个体现了原语的主要特点 ?( D ) A 并发性 B 异步性 C 共享性 D 不可分割性 10、在具有挂起状态的系统中,若当前内存空间高度吃紧,系统将使请求 I/O 的一个执行状态的进程进入( D )状态。 A 活动就绪 B 静止就绪 C 活动阻塞 D 静止阻塞 11、如果单 CPU 系统中有 n 个进程,则就绪队列中进程的个数最多可达到( C )个。 A n+1 B n C n-1 D 1 12、在
9、分时系统中,下列描述中,( C )不属于响应时间的一部分。 A 处理机对请求信息进行处理的时间 B 从键盘输入的请求信息传送到处理机的时间 C 请求信息在外存队列上排队等待的时间 D 所形成的响应回送到终端显示器的时间 13、信箱通信是一种( B )通信方式。 A 直接 B 间接 C 低级 D 信号量 14、操作系统通过( B )对进程进行管 理。 A JCB B PCB C DCT D CHCT 15、临界区是( C )。 A 一个缓冲区 B 一段共享数据区 C 一段程序 D 一个互斥资源 二、判断题 1、 P、 V 操作都是原语操作。( ) 2、进程执行的相对速度不能由进程自己来控制。(
10、) 3、利用信号量的 P、 V 操作可以交换大量信息。( X ) 4、同步是指并发进程之间存在的一种制约关系。( ) 5、一般来说,用户进程的 PCB 存放在用户区,系统进程的 PCB 存放在操作系统系统区。( X ) 6、进程可以由程序、数据和进程控制块描述。( ) 7、进程是程序在一个数据集合上的过程,它是系统进行资源分配和调度的一个独立单位。( )。 三、填空题 5 1、在操作系统中引入线程概念的主要目的是 (缩短系统切换的时空开销,提高程序执行并发度 )。 2、引入了线程的操作系统中,资源分配的基本单位是( 进程), CPU 分配的基本单位是(线程)。 3、进程的基本状态由执行、(就绪
11、)、( 等待 )。 4、进程的基本特征是( 动态性)、(并发性)、(独立性)、(异步性)、(结构特征)。 5、信号量的物理意义是当信号量值大于 0 时表示(系统当前可用资源数目);当信 号量值小于 0 时,其绝对值为(因请求该资源而被阻塞的进程数目)。 6、进程由(程序段)、(数据段)、 (PCB)三部分组成。 7、进程是一个程序对某个数据集的(一次执行过程)。 8、若一个进程已进入临界区,其他欲进入临界区的进程必须(等待)。 9、程序并发执行与顺序执行时相比产生了一些新特征,分别是(间断性)、(失去封闭性)、(不可再性)。 10、采用用户级线程的系统中,处理器调度的对象是(进程);采用内核支
12、持的线程系统中,处理器调度的对象是(线程)。 11、高级通信方式分为三大类:(共享存储器系统)、(消息 传递系统)、(管道通信系统)。 12、在一个多道程序系统中,进程之间存在着不同关系可以划分为两大类:其中(同步)指进程间存在一定的逻辑关系,需要在执行次序上协调;(互斥)指进程间在使用共享资源方面的约束关系。解决上述两个问题的一种常用的方法是(信号量机制)。 四、简答题 1、在操作系统中为什么要引入进程概念? P37 答:因为在多道程序环境下,程序的执行属于并发执行。可是与此同时,他们将失去其封闭性,并具有间断性及不可再现性的特征。这决定了通常的程序是不能参与并发执行。为了使程序能并发执行,
13、且为了对并发执行的 程序加以描述和控制,人们引入了 “进程 “的概念。 2、试说明 PCB 的作用。 P41 答: OS 调度进程的主要数据 , 依据记录进程的有关信息,供系统对进程进行控制 , 标志进程的存在 3、试从调度性、并发性、拥有资源及系统开销 4 个方面对进程和线程进行比较。 P73 答: A.在引进线程的 OS 中,把线程作为独立跳读和分派的基本单位,而把进程作为资源拥有的基本单位。 B.在引进线程的 OS 中,不仅进程间可并发执行,而且同一进程的多个线程亦可并发执行,因而使 OS 具有更好的并发性。 C.进程始终是资源的一个独立单位,而 线程自己不拥有系统资源,但是它可以访问其
14、隶属进程的资源。 D.在创建、撤销和切换进程方面,进程开销远大于线程。 4、同步机构应遵循哪些基本准则? P50 答: A.空闲让进 B.忙着等待 C.有限等待 D.让权等待 6 5、线程具有哪些属性? P73-74 答: A.轻型实体 B.独立调度和分派的基本单位 C 可并发执行 D 共享进程资源 五、应用题 1、生产者与消费者问题(理解性记忆) 2、吃水果 第二章进程同步 一、选择最合适的答案 1. 用 P、 V 操作管理临界区时,信号量的初值一般应定义为( C )。 A. 1 B.0 C.1 D.任意值 2. 有 m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则
15、信号量的变化范围是( A )。 A.1 至 (m-1) B.1 至 m-1 C.1 至 m D.1 至 m 3. 在下面的叙述中,正确的是( C )。 A.临界资源是非共享资源 B.临界资源是任意共享资源 C.临界资源是互斥共享资源 D.临界资源是同时共享资源 4. 对进程间互斥地使用临界资源,进程可以( D ) A.互斥地进入临界区 B.互斥地进入各自的临界区 C.互斥地进入同一临界区 D.互斥地进入各自的同类资源的临 界区 5. 设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex 1 时表示( B )。 A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区
16、C.两个进程都进入了临界区 D.两个进程都在等待 6. 设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex -1 时表示( A )。 A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区 C.两个进程都进入了临界区 D.两个进程都在等待 7当一进程因在记录型信号量 S 上执行 P(S)操作而被阻塞后, S 的值为( B )。 A.0 B.0 B.2) ,且当前处理机没有执行进程调度程序,下述情况哪些可能发生( BCD )。 A.没有运行的进程,有 2 个进程处于就绪状态, n 个进程处于等待状态。 B.一个进程处于运行状态, n-1 个进程处于等待 状态。 C.
17、 一个进程处于运行状态, 1 个进程处于就绪状态, n-2 个进程处于等待状态。 D. 一个进程处于运行状态, n-1 个进程处于就绪状态,没有进程处于等待状态 三、判断正误,错误的简要说明理由 1一个临界资源可以对应多个临界区。 ( ) 2互斥地使用临界资源是通过互斥地进入临界区实现的。 (X) 表达不确切,应该是互斥的进入同类临界区。 3同步信号量的初值一般为 1。 (X) 互斥信号量的初值一般为 1;而同步信号量的初值应视具体情况而定。 4生产者消费者问题是一个既有同步又有互斥的问题。 ( ) 5进程 A、 B 共享变量 x,需要互斥执行;进程 B、 C 共享变量 y, B、 C 也需要
18、互斥执行,因此,进程 A、C 必须互斥执行。 (X)不具有传递性。 6.单道程序系统中程序的执行也需要同步和互斥。 (X) 单道程序系统不具有并发性,因此不需要同步和互斥。 四、解答题 1某车站售票厅,任何时刻最多可容纳 20 名购票者进入,当售票厅中少于 20 购票者时,则厅外的购票者可立即进入,否则需在外面等待。若把一个购票者看作一个进程,请回答下列问题: (1) 用 P、 V 操作管理这些并发进程时,应怎样定义信号量?写出信号量的初值以 及信号量各种取值的含义。 (2) 根据所定义的信号量,把应执行的 P、 V 操作填入下述程序中,以保证进程能够正确地并发执行。 COBEGIN PROC
19、ESS Pi(i=1,2, ) Begin 9 ; 进入售票厅; 购票; ; 退出; End; COEND ( 3)若欲购票者最多为 n 个人,写出信号量可能的变化范围(最大值和最小值)。 解:售票厅问题: (1)定义一信号量 S,初始值为 20。 S0 S 的值表示可继续进入售票厅的人数 S=0 表示售票厅中已有 20名顾客 S0 |S|的值为等待进入售票厅中的人数 (2)上线 为 P(S) 下 线 为 V(S) (3)S的最大值为 20, S的最小值为 20-N, N为某一时刻需要进入售票厅的最大人数。 2 进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?
20、 ( 1)若干同学去图书馆借书; ( 2)两队举行篮球比赛; ( 3)流水线生产的各道工序; ( 4)商品生产和社会消费。 解:进程间存在着 2种相互制约的关系:直接制约关系(即同步问题)和间 接制约关系(即互斥问题)。同步问题是存在逻辑关系的进程之间相互等待所产生的制约关系,互斥问题是相互无逻辑关系的进程间竞争使用相同资源所发生的制约关系。 (1)属于互斥关系,因为书的个数是有限的,一本书只能借给一个同学; (2)属于互斥关系,篮球只有一个,两队都要争夺; (3)属于同步关系,各道工序的开始都依赖前道工序的完成; (4)属于同步关系,商品没生产出来,消费无法进行,商品未消费完,生产也无须进行
21、。 3设有两个优先级相同的进程 P1 和 P2 如下。信号量 S1 和 S2 的初值均为 0,试问 P1、 P2 并发执 行结束后, x=?, y=?, z=? 进程 P1 进程 P2 y:=1; x:=1; 10 y:=y+2; x:=x+1; V(S1); P(S1); z:=y+1; x:=x+y; P(S2); V(S2); y:=z+y; z:=x+z; 解:因为 P1和 P2是两个并发进程,所以进程调度程序调度 P1和 P2的顺序是不确定的。 这里不妨假设 P1先执行。进程 P1执行到语句 P(S2)时, S2 -1,进程 P1 阻塞。此时, y=3, z=4。当进程调度程序调度到
22、进 程 P2 时,由于进程 P1 已执行了 V(S1),进程 P2 在执行 P(S1)时并未阻塞而继续执行,当执行到 V(S2)时,将 P1唤醒, 分成两种情况: ( 1) 然后执行 P2最后一个语句 z:=x+z,此时 x=5, z=9。当进程 P1再次被调度时,继续执行 P1 的最后一个语句,此时 y=12,最终结果是: x=5, y=12, z=9。 ( 2) 如果当 P2进程执行到 V(S2)时,将 P1 唤醒,然后 P2进程被中断,此时 x=5, y=3,z=4。 P1 进程开始执行然后执行最后一个语句 y:=z+y,此时 x=5, y=7,z=4。然后 P2 进程被调度,执行 z:
23、=x+z,此时 x=5,y=7, z=9。 如果 P2先执行,则执行结果与上面 相同。 4.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用 P、 V 原语实现爸爸、儿子、女儿三个并发进程的同步。 分析 -在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘中的是桔子,则允许儿子吃,女儿必须 等待。本题实际上是生产者 -消费者问题的一种变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。 解 -在本题中,应设置三个信号量 S、 So、 Sa,信号量 S 表示盘子是否为空,其初值为 1;信号量 So 表示盘中是否有桔子,其初值为 0;信号量 Sa 表示盘中是否有苹果,其初值为 0。 同步描述如下: int S=1; 盘子是为空 int Sa=0; 盘中无苹果 int So=0; 盘中无桔子 main( ) cobegin father(); son(); daughter(); coend father()