操作系统第二章练习

操作系统第二章练习
操作系统第二章练习

1.P、V 操作是 A 。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语 2.设系统中有 n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4 种情况, 不可能发生的情况是 A 。 A.没有运行进程,有2个就绪进程,n 个进程处于等待状态。 B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。 C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。 D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。 3.若 P、V 操作的信号量 S 初值为2,当前值为-1,则表示有 B 等待进程。 A. 0个 B. 1个 C. 2个 D. 3个 4.用 V 操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。 A.等待 B.就绪 C.运行 D.完成 5.用 P、V 操作可以解决 A 互斥问题。 A.一切 B.某些 C.正确 D.错误 6.多道程序环境下,操作系统分配资源以 C 为基本单位。 A.程序 B.指令 C.进程 D.作业 7.从下面对临界区的论述中,选出一条正确的论述。 (1)临界区是指进程中用于实现进程互斥的那段代码。 (2)临界区是指进程中用于实现进程同步的那段代码。 (3)临界区是指进程中用于实现进程通信的那段代码。 (4)临界区是指进程中用于访问共享资源的那段代码。 (5)临界区是指进程中访问临界资源的那段代码。 8.(A)是一种只能由 wait 和 signal 操作所改变的整型变量, (A)可用于实现 进程的(B)和(C) , (B)是排他性访问临界资源。 A: (1)控制变量; (2)锁; (3)整型信号量; (4)记录型信号量。 B: (1)同步; (2)通信; (3)调度; (4)互斥。 C: (1)同步; (2)通信; (3)调度; (4)互斥。 9.对于记录型信号量,在执行一次 wait 操作时,信号量的值应当(A) ,当其值 为(B)时,进程阻塞。在执行 signal 操作时,信号量的值应当为(C) ,当其 值为(D)时,应唤醒阻塞队列中的进程。 A: (1)不变; (2)加1; (3)减1; (4)加指定数值; (5)减指定数值。 B: (1)大于0; (2)小于0; (3)大于等于0; (4)小于等于0. C: (1)不变; (2)加1; (3)减1; (4)加指定数值; (5)减指定数值。 D: (1)大于0; (2)小于0; (3)大于等于0; (4)小于等于0. 10.用信号量 S 实现对系统中4台打印机的互斥使用,S.value 的初值应设置为 (A) ,若 S.value 的初值为-1,则表示 S.L 队列中有(B)个等待进程。 A: (1)1; (2)0; (3)-1; (4)4; (5)-4 B: (1)1; (2)2; (3)3; (4)4; (5)5; (6)6; (7)0。 11.试选择(A)~(D) ,以便能正确地描述图2.12所示的前趋关系。
1

Var a,b,c: semaphore:=0,0,0; Begin Parbegin Begin S1; (A); end; Begin S2; (B); end; Begin Wait(a); wait(b); S3; (C); S S2 1 End b a Begin (D); S4 end S3 Parend c End S4 A: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 B: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 C: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 D: (1)signal(a); (2)signal(b); (3)wait(c); (4)signal(c)。 12.设有10个进程共享一个互斥段,如果最多允许有1个进程进入互斥段,则所 采用的互斥信号量初值应设置为(A) ,而该信号量的取值范围为(B) ;如果最 多允许有3个进程同时进入互斥段,则所采用的互斥信号量初值应设置为(C) 。 A: (1)10; (2) ; 3; (3)1; (4)0。 B: (1)0~1; (2)-1~0; (3)1~-9; (4)0~-9。 C: (1)10; (2) ; 3; (3)1; (4)0。 1.信号量的物理意义是当信号量值大于零时表示 可用资源的数目 ;当信号量 值小于零时,其绝对值为 因请求该资源而被阻塞的进程数目 。 2.临界资源的概念是 一次仅允许一个进程访问的资源 ,而临界区是指 进程 中访问临界资源的那段程序代码 。 3.进程在运行过程中有三种基本状态,它们是 运行、就绪、等待。 4.进程主要由 程序段、数据段、PCB 三部分内容组成,其中 PCB 是进程存在 的唯一标志。而 程序段 部分也可以为其他进程共享。 5.系统中各进程之间逻辑上的相互制约关系称为 进程同步 。 6.若一个进程已进入临界区,其他欲进入临界区的进程必须 等待。 7.将进程的 PCB 链接在一起就形成了进程队列。 8.用 P、V 操作管理临界区时,任何一个进程在进入临界区之前应调用 P 操作, 退出临界区时应调用 V 操作。 9.在多道程序系统中,进程之间存在着的不同制约关系可以划分为两类:同步 与 互斥 。 同步 指进程间具有的一定逻辑关系; 互斥 是指进程间在使用共 享资源方面的约束关系。 10.程序顺序执行时有顺序性、封闭性 和可再现性的特点。 11.有 m 个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥 访问,则信号量值的变化范围是 1~ -(m-1) 。 24、同步机制应遵循的准则: 、 、 和 。空闲让进、忙则等待、有限 等待、让权等待 25、在记录型信号量机制中,S.value>0时的值表示 ;每次 wait 操作意味 着 ,因此应将 S.value ,当 S.value 时,进程应阻塞。可用的临界
2

资源数量;申请一个临界资源;减1;小于0 26、 在记录型信号量机制中, 每次 signal 操作意味着 , 因此应将 S.value , 当 S.value<=0时,表示 ,此时应 。释放一个临界资源,加1,仍有请求 该资源的进程被阻塞;唤醒相应阻塞队列中的首进程 27、在利用信号量实现进程互斥时,应将 置于 和 之间。临界区,wait 操作,signal 操作 28、在每个进程中访问 的那段代码称为临界区。为实现对它的共享,应保证 进程 进入自己的临界区,为此,在每个进程的临界区前应设置 ,临界区后 应设置 。临界资源,互斥,进入区,退出区 42、P\V 操作必须成对 出现,有一个 P 操作就一定有一个 V 操作 。 43、临界资源是指 系统中一次只允许一个进程使用的资源 ,而临界区是指 涉及到临界资源的代码段 。 36、如果 P(S1)和 P(S2)两个操作在一起,那么 P 操作的顺序至关重要,一个同 步 P 操作与一个互斥 P 操作在一起时同步 P 操作在互斥 P 操作前。而两个 V 操作的次序无关紧要 。 37、P(S):表示申请一个资源 ; V(S)表示释放一个资源 。信号量的初值 应该大于等于0 。 38、P、V 操作当为互斥 操作时,它们同处于同一进程;当为同步 操作时, 则不在同一进程中出现。
29.在生产者-消费者问题中,应设置互斥信号量 mutex、资源信号量 full 和 empty。它们的初值应分别为(A) 、 (B) 、 (C) 。 A: (1)0; (2)1; (3)-1; (4)-n; (5)+n。 B: (1)0; (2)1; (3)-1; (4)-n; (5)+n。 C: (1)0; (2)1; (3)-1; (4)-n; (5)+n。 30.对生产者-消费者问题的算法描述如下,请选择正确的答案编号填入方框中。
3

Producer: begin Repeat (A); (B); Buffer(in):=m; In:=(in+1)mod n; (C); (D); Until false End Consumer: begin Repeat (E); (B); M:=buffer(out); Out:=(out+1)mod n; (C); (F); Until false end A: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 B: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 C: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 D: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 E: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 F: (1)wait(mutex); (2)signal(mutex); (3)wait(empty); (4)signal(full); (5)wait(full); (6)signal(empty)。 3 32. 有两个程序:A 程序按顺序使用 CPU10秒、设备甲5秒、CPU5秒、设备乙10 秒、CPU10秒;B 程序按顺序使用设备甲10秒、CPU10秒、设备乙5秒、CPU5秒、 设备乙10秒。在顺序环境下,执行上述程序,CPU 的利用率约为(A) 。若允许它 们采用非抢占方式并发执行, 并且不考虑切换等开销, 则 CPU 的利用率约为 (B ) 。 A(1)30%; (2)40%; (3)50%; (4)60%; (5)70%; (6)80%; (7)90%。 B(1)30%; (2)40%; (3)50%; (4)60%; (5)70%; (6)80%; (7)90%。 33.从下面的叙述中选出一条正确的叙述: (1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。 (2)操作系统通过 PCB 来控制和管理进程,用户进程可从 PCB 中读出与本身运 行状态相关的信息。 (3)当进程由执行状态变为就绪状态时,CPU 现场信息必须被保存在 PCB 中。
4

(4)当进程申请 CPU 得不到满足时,它将处于阻塞状态。 (5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以 程序段是进程存在的唯一标志。 34.从下面的叙述中选出4条正确的叙述: (1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。 (2)进程被挂起(suspend)后,状态变为阻塞状态。 (3)信号量的初值不能为负数。 (4)线程是 CPU 调度的基本单位,但不是资源分配的基本单位。 (5)在进程对应的代码中使用 wait、signal 操作后,可以防止系统发生死锁。 (6)管程每次只允许一个进程进入。 (7)wait、signal 操作可以解决一切互斥问题。 (8)程序的顺序执行具有不可再现性。 35.在引入线程的操作系统中,资源分配和调度的基本单位是(A) ,CPU 调度和 分配的基本单位是(B) 。 A: (1)程序; (2)进程; (3)线程; (4)作业。 B: (1)程序; (2)进程; (3)线程; (4)作业。 36.在三种基本类型的操作系统中, 都设置了 (A) , 在批处理系统中还应设置 (B) ; 在分时系统中除了(A)以外,通常还设置了(C) ,在多处理机系统中则还需设 置(D) 。 A: (1)剥夺调度; (2)作业调度; (3)进程调度; (4)中级调度; (5)多处理 机调度。 B: (1)剥夺调度; (2)作业调度; (3)进程调度; (4)中级调度; (5)多处理 机调度。 C: (1)剥夺调度; (2)作业调度; (3)进程调度; (4)中级调度; (5)多处理 机调度。 D: (1)剥夺调度; (2)作业调度; (3)进程调度; (4)中级调度; (5)多处理 机调度。 37.在面向用户的调度准则中, (A)是选择实时调度算法的重要准则, (B)是选 择分时系统中进程调度算法的重要准则, (C)是批处理系统中选择作业调度算 法的重要准则,而(D)准则则是为了照顾紧急作业用户的要求而设置的。 A: (1)响应时间快; (2)平均周转时间短; (3)截止时间的保证; (4)优先权 高的作业能获得优先服务; (5)服务费低。 B: (1)响应时间快; (2)平均周转时间短; (3)截止时间的保证; (4)优先权 高的作业能获得优先服务; (5)服务费低。 C: (1)响应时间快; (2)平均周转时间短; (3)截止时间的保证; (4)优先权 高的作业能获得优先服务; (5)服务费低。 D: (1)响应时间快; (2)平均周转时间短; (3)截止时间的保证; (4)优先权 高的作业能获得优先服务; (5)服务费低。 38.支持多道程序设计的操作系统,在运行过程中不断地选择新进程运行来实现 CPU 的共享,但其中(A)不是引起操作系统选择新进程的直接原因。 A: (1)执行进程的时间片用完; (2)执行进程出错; (3)执行进程要等待某一 事件发生; (4)有新进程进入就绪队列。 39、一般情况下,互斥信号量的初值为 B 。
5

A. 0
C. 2 D. 4 第三部分 是非题 1.进程是动态的概念 (对) 2.进程执行需要处理机 (对) 3.进程是有生命期的 (对) 4.进程是指令的集合 (错) 5.操作系统的一重要概念是进程,因此不同进程所执行的代码也一定不同(错) 7.操作系统用 PCB 管理进程,用户进程可以从 PCB 中读出与本身运行状况有关 的信息 (错) 8. 进程同步是指某些进程之间在逻辑上的相互制约关系 (对) 9.在一个只有单个 CPU 的计算机中,进程不能并行操作。 错。一个进程在利用 CPU 运行,另一个进程可以同时进行 I/O 操作,它们是并 行的。 10.线程可以分为内核级(Kernel Thread)和用户级(User Thread)两种,操 作系统不可以直接调度用户级的线程。对。 第四部分 填空题 12.在一个单处理机系统中,若有5个用户进程,且假设当前时刻为用户态,则 处于就绪状态的用户进程最多有 4个,最少有0 个。 23、系统中共有5个用户进程,且当前 CPU 在用户态下执行,则最多可有 个 用户进程处于就绪状态,最多可有 个用户进程处于阻塞状态;若当前在核心 态下执行,则最多可有 个用户进程处于就绪状态,最多可有 个用户进 程处于阻塞状态。4,4,5,5 29、进程通信的类型有 、 、 三类,其中 利用共享文件进行通信。共享 存储器、消息系统、管道通信、管道通信 30、为实现消息缓冲队列通信,应在 PCB 中增加 、 、 三个数据项。消息 队列首指针 mq;消息队列互斥信号量 mutex;消息队列资源信号量 sm 31.在直接通信方式中,系统通常提供的两条通信原语如下,请选择适当的参数 填入。 Send((A),(B)); Receive((C),(B)); A: (1)sender; (2)receiver; (3)text; (4)message; (5)mailbox。 B: (1)sender; (2)receiver; (3)text; (4)message; (5)mailbox。 C: (1)sender; (2)receiver; (3)text; (4)message; (5)mailbox。 32.使用 mail 命令的信箱通信属于(A) ,因为信息是被发送到接收方的(B)中; 使用 write 命令,实现的是(C)通信,因为信息是被发送到接收方的(D)中; 使用共享文件进行通信的方式属于(E)通信。 A: (1)共享存储器; (2)实时通信; (3)消息缓冲通信; (4)非实时通信; (5) 管道通信。 B: (1)消息缓冲队列; (2)内存; (3)信箱; (4)消息缓冲区; (5)屏幕; (6 ) 共享存储器。 C: (1)共享存储器; (2)实时通信; (3)消息缓冲通信; (4)非实时通信; (5) 管道通信。 D: (1)消息缓冲队列; (2)内存; (3)信箱; (4)消息缓冲区; (5)屏幕; (6) 共享存储器。
6
B. 1

E: (1)共享存储器; (2)实时通信; (3)消息缓冲通信; (4)非实时通信; (5) 管道通信。 33、在采用用户级线程的系统中,OS 进行 CPU 调度的对象是 ;在采用内核支 持线程的系统中,CPU 调度的对象是 。进程,线程 34、线程之所以能减少并发执行的开销是因为 。线程基本不拥有资源 35、进程通信的常用方式有 直接通信 和 间接通信 等。 40、I/O 型进程是指 花费 I/O 时间多于计算的进程 ,而 CPU 型进程是指 花费计算多于 I/O 时间的进程 。 41、当时间片轮转算法的时间片足够大时,这个算法就等同于 FIFO 算法。
7

第五部分 解析题
1.进程的定义是什么?它最少有哪几种状态? 2.进程与线程的主要区别是什么? 3、什么是进程的互斥与同步?同步和互斥这两个概念有什么联系和区别? 解: (1) 同步:两个事件的发生有着某种时序上的关系,进程间的同步关系是指 系统中往往有几个进程共同完成一个任务; (2) 互斥是进程间的另外一种关系。由于各进程要共享资源。而有些资源往 往要求排他性地使用; (3) 互斥是一种特殊的同步关系。 4. 图给出了4个进程合作完成某一任务的前驱图,试说明这4个进程间的同步关 系,并用 P、V 操作描述它。
S1 S2 S3 S4 解:图说明任务启动后 S1先执行。当 S1结束后,S2、S3可以开始执行。S2、S3 完成后,S4才能开始执行。为了确保这一执行顺序,设3个同步信号量 b2、b3、 b4分别表示进程 S2、S3、S4是否可以开始执行,其初值均为0。进程同步描述如 下: //可用两种方法来解决 //S1不必判断能否开始 //b2、b3、b4起初全部为0,表示都不可开始 int b2=0;//表示进程 S2是否可以开始执行 int b3=0;//表示进程 S3是否可以开始执行 int b4=0;//表示进程 S4是否可以开始执行 //也可分为 b42、b43 main() { cobegin S1(); S2(); S3(); S4(); Coend }
8

S1() { … v(b2); v(b3); } S2() { p(b2); … v(b4); //v(b42) } S3() { p(b3); … v(b4); //v(b43) } S4() {//因为在 S2及 S3完成时均对 b4做了 v 操作,因此这里要用两个 p 操作 p(b4);//p(b42) p(b4);//p(b43) … } 5.桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔 子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能 放一只水果供吃者取用,请用 P、V 原语实现爸爸、儿子、女儿三个并发进程的 同步。 解:设置3个信号量 S、SO、SA,信号量 S 表示盘子是否为空,其初值为1;信号 量 SO 表示盘中是否有桔子,其初值为0;信号量 SA 表示盘中是否有苹果,其初 值为0。 同步描述: int S=1; int SA=0; int SO=0; main() { cobegin father(); son(); daughter(); coend }
9

father() { while(1) { p(S);//盘子是否空 将水果放入盘中; if(放入的是桔子)v(SO);//变形 else v(Sa) //很少有学生如此做!而这却是本题的关键 } } son() { while(1) { p(SO);//盘子中有无桔子 从盘中取出桔子; v(S); 吃桔子; } } daughter() { while(1) { p(SA);//盘子中有无苹果 从盘中取出苹果; v(S); 吃苹果; } } 6.在单处理机的分时系统中,分配给进程 P 的时间片用完后,系统进行切换, 结果调度到的仍然是进程 P。有可能出现上述情形吗?如果可能请说明理由。 解:有可能出现上述情况。例如,若在进程 P 时间片用完后,被迫回到就 绪队列时,就绪队列为空,这样进程 P 就是就绪队列中唯一的一个进程,于是 调度程序选中的进程必然是进程 P;又如在按优先级调度的系统中,就绪队列按 进程优先级排列,在进程 P 时间片用完之后回到就绪队列时,若其优先级高于 当前队列中的其他进程,则它将排在就绪队列之首,从而再次被调度程序选中 并投入运行。
10

7.哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论问 题;在讨论的间隙4位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上 的布置如图。请用信号量及 P、V 操作说明这4位哲学家的同步、互斥过程。 解:在本题中,应设置4个信号量 fork1、fork2、knife1、knife2,其初值均为 1,分别表示资源叉1、叉2、刀1、刀2是否可用。同步描述如下: int fork1=1; int fork2=1; int knife1=1; int knife2=1; main() { cobegin Pa(); Pb(); Pc(); Pd(); Coend } Pa() { while(1) { p(knife1); p(fork1); 进餐; v(knife1); v(fork1); 讨论问题; } } Pb() { while(1) { p(knife2); p(fork1); 进餐; v(knife2); v(fork1); 讨论问题; } } Pc() {
11

while(1) { p(knife2); p(fork2); 进餐; v(knife2); v(fork2); 讨论问题; } } Pd() { while(1) { p(knife1); p(fork2); 进餐; v(knife1); v(fork2); 讨论问题; } } 8. 请用信号量实现对某数据库的读者-写者互斥。 要求: (1)读者与写者之间互斥,写者与写者之间互斥。 (2)读者之间不互斥。 解:本题是读者-写者问题。在本题中,允许读进程同时读数据库,但写进程 正在写数据库时不允许其他进程读该数据库,也不允许其他进程写该数据库。 为了解决读、写进程之间的同步,应该设置2个信号量和一个共享变量:读互斥 信号量 rmutex,用于使读进程互斥地访问共享变量 count,其初值为1;写互斥 信号量 wmutex,用于实现写进程与读进程的互斥及写进程与写进程的互斥,其 初值为1; 共享变量 count, 用于记录当前正在读数据库的读进程数目, 初值为0。 其工作过程描述如下: Semaphore rmutex=1; Semaphore wmutex=1; Int count=0; Main() { Cobegin Reader(); Writer(); Coend } Reader()
12

{ While(true) { P(rmutex); If(count==0) p(wmutex); Count ++; V(rmutex); 读数据库; P(rmutex); Count --; If (count==0) v(wmutex); V(rmutex); } } Writer() { While(true) { P(wmutex); 写数据库; V(wmutex); } } 注意:正确理解信号量 rmutex 的意义是理解读者-写者问题的关键。Rmutex 是 一个互斥信号量,用于使读进程互斥地访问共享变量 count。信号量 rmutex 并 不表示读进程的数目,表示读进程数目的是共享变量 count。当一个读进程要读 数据库时,应将读进程计数 count 增加1;如果此前(count 加1以前)数据库中 无读进程,还应对写互斥信号量 wmutex 做 p 操作,这样,若数据库中无写进程 则通过 p 操作阻止后续写进程写,若数据库中有写进程,则通过 p 操作让读进 程等待。同理,当一个读进程完成读数据库操作时,应将读进程计数 count 减 少1;如果此时(count 减1以后)数据库中已无读进程,还应对写互斥信号量 wmutex 做 v 操作,以允许写进程写。 9.就绪队列中有10个进程,系统将时间片设为200ms,CPU 进行进程切换要花费 10ms,试问系统开销所占的比率约为多少? 解:因就绪队列中有10个进程,它们以时间片轮转的方式使用 CPU,时间片长度 为200ms。当一个时间片用完时,调度进程将当前运行进程设置为就绪状态并放 入就绪队列尾,再从就绪队列首选择进程投入运行,这一过程(进程切换)要 花费时间10ms。因此系统开销所占比率为:10/(200+10)=4.8% 10.在单 CPU 和两台输入/输出设备(I1,I2)的多道程序设计环境下,同时投 入三个作业 Job1、Job2、Job3运行。这三个作业对 CPU 和输入/输出设备的使用 顺序和时间如下所示: Job1:I2(30ms);CPU(10ms);I1(30ms);CPU(10ms);I2(20ms)
13

Job2:I2(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 设备利用率。 解:三个作业并发执行时的工作情况如图4.2所示。 (1)由上图可以看出 Job1从投入到运行完成需要110ms,Job2从投入到运行完 成需要90ms,Job3从投入到运行完成需要110ms. (2)CPU 在时间段60ms 到70ms,80ms 至90ms,100ms 至110ms 期间空闲,所以 CPU 的利用率为: (110-30)/110=72.7% (1) 设备 I1在时间段20ms 到40ms,90ms 至100ms 期间空闲,所以设备 I1的 利用率为: (110-30)/110=72.7%;设备 I2在时间段30ms 至50ms 期间空 闲,所以设备 I2的利用率为: (110-20)/110=81.8%。 11.试利用 Bernstein 条件证明上题中的 S2和 S3语句是可以并发执行的,而 S3和 S4语句是不能并发执行的? 【解】 (1) ∵R(S2) ∩ W( S3)={}; W(S2) ∩ R(S3)={}; W(S2) ∩ W(S3)={}; ∴R(S2) ∩ W( S3)∪ W(S2) ∩ R(S3)∪ W(S2) ∩ W(S3)={} ∴S2、S3可以并发执行 (2)∵R(S3) ∩ W( S4)={}; W(S3) ∩ R(S4)={c}; W(S3) ∩ W(S4)={}; ∴R(S3) ∩ W( S4)∪ W(S3) ∩ R(S4)∪ W(S3) ∩ W(S4)={c}不是空集 ∴S3,S4不能并发执行 12.什么是临界资源(P16)和临界区(P50)? 【解】那些多个进程必须互斥访问的方式来实现资源共享的硬件资源和软件资 源叫临界资源。 我们把在每个进程中访问临界资源的那段代码称为临界区。 13、在 OS 中引起进程调度的主要因素有哪些? 【解】 在 OS 中引起进程调度的主要因素有: (1)缺乏资源。正在运行的进程因为某个条件不能满足,不得不进入阻塞状态, 此时,运行进程被撤下,引起调度使另一个进程进入运行 (2)时间片到。如果是分时系统或者以时间片作为激励调度的系统,时间片是 引起硬件激励的主要因素,每当时间片到,正在运行的进程被暂时停止,将它 再次排入就绪队列,引起调度使另一就绪进程进入运行。 (3)外部中断。外部中断信号也将引起调度,如打印机打印完成,通过打印通 道或者信号线路传送一激励信号,将原等待进程唤醒重新进入运行,或引起调
14

度使另一进程运行。 (4)进程结束。进程正常执行完毕,退出并终止,此时将激励系统调度另一进 程进入运行。 14.有两个进程 P1和 P2,它们执行的过程如下: P1: 10秒 CPU 操作、20秒 I/O 操作(设备1) 、5秒 CPU 操作、10秒 I/O 操作 (设备2) 、5秒 CPU 操作、结束 P2: 15秒 I/O 操作(设备1) 、10秒 CPU 操作、15秒 I/O 操作(设备2) 、10秒 CPU 操作、结束 (1) 如果进程 P1和 P2顺序执行,请画出进程 P1和 P2执行情况图; (2) 如果进程 P1和 P2并发执行,请画出进程 P1和 P2执行情况图; (3) 分别计算在(1)和(2)情况下,CPU 的利用率、设备1和设备2的利 用率。 解: (1) P1: CPU I/O(DEV2) CPU I/O(DEV1) CPU 0 P2: 10 CPU 65 75 30 35 45 CPU 90 P1 CPU(P1) CPU(P2) CPU CPU(P2) 100 P1 CPU 50
I/O(DEV1) 50 (2)
I/O(DEV2)
I/O(DEV1)(P2) I/O(DEV1)(P1) I/O(DEV2)(P2) I/O(DEV2) 0 10 15 25 (3) 在情况(1)下, CPU 的利用率=40/100=40% 设备1的利用率=35/100=35% 设备2的利用率=25/100=25% 在情况(2)下, 35 40 50 55
15

CPU 的利用率=40/55=73% 设备1的利用率=35/55=64% 设备2的利用率=25/55=45% 15.在五状态图中,假如计算机只有一个 CPU,如果系统中有 N 个进程: (1)运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程 最多几个,最少几个? (2)有没有这样的状态转换,为什么? 等待—>运行 ; 就绪—>等待 (3)一个进程状态的转换是否会导致另一个进程的状态转换,请列出所有的可 能。 解: (1)如果系统中有 N 个进程, 运行的进程最多1个,最少0个;就绪进程最多 N-1 个最少0个;等待进程最多 N 个,最少0个。 (2)没有这样的状态转换。 (3) 新建 到 就绪 导致 运行 到 就绪 就绪 到 运行 导致 无 运行 到 就绪 导致 就绪 到 运行 运行 到 等待 导致 就绪 到 运行 等待 到 就绪 导致 就绪 到 等待 运行 到 结束 导致 就绪 到 运行
14、我们把进程中与 有关的程序段称为临界区。 15、任一个进入临界区的进程必须在 时间内 临界区。 16、PV 操作由 和 组成,是对 进行操作。 17、P 操作将信号量的值 ,若结果小于0,则该进程置为 状态,V 操作将信号量的值 ,若 结果 ,则释放一个等待信号量的进程。 18、当并发进程存在竞争关系时必须 地使用资源,当并发进程存在协作关系时必须必须 , 分别称为 和 19、利用信号量实现进程 ,应为临界区设置一个信号量 Mutex,初值为 ,表示该资源尚未 使用,临界区应置于 和 原语之间。 20、进程的同步是指并发进程之间的一种 关系,一个进程的执行依赖另一个进程的 ,当一个进程没有得到它时应 ,直到被 。 21、形成死锁的起因是 和 。 22、死锁的四个必要条件是 、 、 、 。 23、检测到死锁后可采用 、 或 等办法来解除死锁 1、每个进程都包刮(进程控制块)、(程序段)和(数据段)3个组成部分。 2、一个程序运行在不同的数据集上就构成了不同的(进程),分别得到不同的结果。 3、进程在执行过程中不同时刻的3中基本状态是(运行状态)、 (就绪状态)和(等待状态)。 4、进程是一个(独立存在)的实体,它有自己的生命周期。它因(创建 )而产生,因(调度 )而 16

运行,因(等待某件事 )而被阻塞(进入等待态),因( 得不到资源)而被撤销。 5、进程在执行过程中状态不断(变化 ),但在某一时刻,进程当且仅当处于3种基本状态之 一。 6、进程在运行中申请资源得不到满意,则它从(运行 )态变成(阻塞 )态。 7、处于等待态的进程,其他外围设备工作结束,则它变成(就绪 )态。 8、 进程从运行态变成就绪态, 主要原因是(时间片到 )和(出现优先级更高的进程进行中断 )。 9、有多个进程等待分配 CPU 时,系统按一定的(优先级 ),从处于就绪态的进程中选择( 第 一)个进程,让他占有 CPU,并使它状态变成(运行 )态。 10、进程刚被创建是它的状态是 新建? 11、操作系统依据 (系统内核)对进程进行控制和管理 12、进程有两种基本队列 和 13、时间片是指允许进程一次占用处理器的 。时间片轮转调度算法常用于 (分时)操作系统 中。 14、我们把进程中与(临界资源进行操作)有关的程序段称为临界区。 15、任一个进入临界区的进程必须在 有限时间内进入 临界区。 16、 PV 操作由 p 操作即申请资源 和 v 操作即释放一个资源 组成, 是对信号量? 进行操作。 17、P 操作将信号量的值减1 ,若结果小于0,则该进程置为(阻塞) 状态,V 操作将信号量 的值加 ,若结果 大于0,则释放一个等待信号量的进程。 18、当并发进程存在竞争关系时必须 地使用资源,当并发进程存在协作关系时必须必须 , 分别称为 和 19、利用信号量实现进程 ,应为临界区设置一个信号量 Mutex,初值为1 ,表示该资源尚 未使用,临界区应置于 和 原语之间。 20、进程的同步是指并发进程之间的一种协同合作 关系,一个进程的执行依赖另一个进程 的 某些操作 ,当一个进程没有得到它时应 ,直到被 。 21、形成死锁的起因是 多个进程抢占资源和资源不能被分配各进程都进入等待 。 22、死锁的四个必要条件是 1互斥条件2请求和保持条件3不剥夺条件4循环等待条件 。 23、检测到死锁后可采用 、 或 等办法来解除死锁(破坏4个条件的任意一个即可,可通过 不同算法实现
17

操作系统第二章习题答案

第2章操作系统用户界面 Page 36 2.1 什么是作业?什么是作业步? 答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。作业由不同的顺序相连的作业步组成。 作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。 2.2 作业由哪几部分组成?各有什么功能? 答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。 2.3 作业的输入方式有哪几种?各有什么特点? 答:作业的输入方式有5种: (1)联机输入方式:用户和系统通过交互式会话来输入作业。

(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储 器连接到高速外围设备上和主机相连,从而在较短的时 间内完成作业的输入工作。 (3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱 机输入中那种依靠人工干预来传递后援存储器的过程。(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。在SPOOLING系统中,多台外围设备通过通道或DMA 器件和主机与外存连接起来。作业的输入输出过程由主 机中的操作系统控制。 (5)网络输入方式:网络输入方式以上述几种输入方式为基础。当用户需要把在计算机网络中某一台主机上输入的 信息传送到同一网中另一台主机上进行操作或执行时, 就构成了网络输入方式 2.4 试述 SPOOLING 系统的工作原理。 答:在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个是写过程, 负责把缓冲区的信息送到外存输入井中。

现代操作系统(第三版)答案

MODERN OPERATING SYSTEMS SECOND EDITION PROBLEM SOLUTIONS ANDREW S.TANENBAUM Vrije Universiteit Amsterdam,The Netherlands PRENTICE HALL UPPER SADDLE RIVER,NJ 07458课后答案网 w w w .k h d a w .c o m

SOLUTIONS TO CHAPTER 1PROBLEMS 1.An operating system must provide the users with an extended (i.e.,virtual)machine,and it must manage the I/O devices and other system resources. 2.Multiprogramming is the rapid switching of the CPU between multiple processes in memory.It is commonly used to keep the CPU busy while one or more processes are doing I/O. 3.Input spooling is the technique of reading in jobs,for example,from cards,onto the disk,so that when the currently executing processes are ?nished,there will be work waiting for the CPU.Output spooling consists of ?rst copying printable ?les to disk before printing them,rather than printing directly as the output is generated.Input spooling on a personal computer is not very likely,but output spooling is. 4.The prime reason for multiprogramming is to give the CPU something to do while waiting for I/O to complete.If there is no DMA,the CPU is fully occu-pied doing I/O,so there is nothing to be gained (at least in terms of CPU utili-zation)by multiprogramming.No matter how much I/O a program does,the CPU will be 100percent busy.This of course assumes the major delay is the wait while data are copied.A CPU could do other work if the I/O were slow for other reasons (arriving on a serial line,for instance). 5.Second generation computers did not have the necessary hardware to protect the operating system from malicious user programs. 6.It is still alive.For example,Intel makes Pentium I,II,and III,and 4CPUs with a variety of different properties including speed and power consumption.All of these machines are architecturally compatible.They differ only in price and performance,which is the essence of the family idea. 7.A 25×80character monochrome text screen requires a 2000-byte buffer.The 1024×768pixel 24-bit color bitmap requires 2,359,296bytes.In 1980these two options would have cost $10and $11,520,respectively.For current prices,check on how much RAM currently costs,probably less than $1/MB. 8.Choices (a),(c),and (d)should be restricted to kernel mode. 9.Personal computer systems are always interactive,often with only a single user.Mainframe systems nearly always emphasize batch or timesharing with many users.Protection is much more of an issue on mainframe systems,as is ef?cient use of all resources. 10.Every nanosecond one instruction emerges from the pipeline.This means the machine is executing 1billion instructions per second.It does not matter at all how many stages the pipeline has.A 10-stage pipeline with 1nsec per 课后答案网 w w w .k h d a w .c o m

操作系统 第二章 习题

第二章练习题及参考答案 一、单项选择题 1.用户作业可以通过()方式由用户自己按照作业来进行操作。 A.脱机 B.自动控制 C.在线处理 D.联机处理 2.()是操作系统提供的一种专门语言,它由操作系统的专门机制解释处理。 A.C语言 B.JCL语言 C.Ada语言 D.Pascal语言 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.既考虑作业等待时间,又考虑作业执行时间的调度算法是()。 A. 先来先服务 B.优先数 C.响应比最高优先 D.均衡 12.()是指从作业提交给系统到作业完成的时间间隔。 A.周转时间 B.响应时间 C.等待时间 D.执行时间 13.作业从进入后备队列到被调度程序选中的时间间隔称为()。 A.周转时间 B.响应时间 C.等待时间 D.触发时间 二、多项选择题 1.响应比最高者优先调度算法是()调度算法的折衷。 A.先来先服务 B.优先数 C.电梯调度 D.单向扫描 E.计算时间短的作业优先 2.()调度算法在作业调度中需要作业计算时间。

(完整版)操作系统第二章作业答案

第二章作业 1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作? 答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。 为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。对进程进行创建、撤销以及在某些进程状态之间的转换控制。 2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。答:分为两种情况: (1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。 (2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。 3.现代操作系统一般都提供多任务的环境,是回答以下问题。 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构? 答:系统必须建立PCB。 为支持进程的状态变迁,系统至少应该供哪些进程控制原语? 答:阻塞、唤醒、挂起和激活原语。 当进程的状态变迁时,相应的数据结构发生变化吗? 答:会根据状态的变迁发生相应的变化。例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。 4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。 答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。 进程控制块所包含的内容: ①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。 5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少? 解:P=(10*10)/[(300+10)*10]=3.2% 6.试述线程的特点及其与进程之间的关系。 答:线程的特点:是被独立分派和调度的基本单位。线程与进程的关系:线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。

操作系统第二章复习题-答案

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

《现代操作系统第四版》 第六章 答案

第四章文件系统习题 Q1: 给出文件/etc/passwd的五种不同的路径名。(提示:考虑目录项”.”和”…”。) A: /etc/passwd /./etc/passwd /././etc/passwd /./././etc/passwd /etc/…/etc/passwd /etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/…/etc/passwd Q2:在Windows中,当用户双击资源管理器中列出的一个文件时,就会运行一个程序,并以这个文件作为参数。操作系统要知道运行的是哪个程序,请给出两种不同的方法。 A:Windows使用文件扩展名。每种文件扩展名对应一种文件类型和某些能处理这种类型的程序。另一种方式时记住哪个程序创建了该文件,并运行那个程序。Macintosh以这种方式工作。

Q3:在早期的UNIX系统中,可执行文件(a.out)以一个非常特別的魔数开始,这个数不是随机选择的。这些文件都有文件头,后面是正文段和数据段。为什么要为可执行文件挑选一个非常特别的魔数,而其他类型文件的第一个字反而有一个或多或少是随机选择的魔数? A:这些系统直接把程序载入内存,并且从word0(魔数)开始执行。为了避免将header作为代码执行,魔数是一条branch指令,其目标地址正好在header之上。按这种方法,就可能把二进制文件直接读取到新的进程地址空间,并且从0 开始运行。 Q4: 在UNIX中open系统调用绝对需要吗?如果没有会产生什么结果? A: open调用的目的是:把文件属性和磁盘地址表装入内存,便与后续调用的快速访问。 首先,如果没有open系统调用,每次读取文件都需要指定要打开的文件的名称。系统将必须获取其i节点,虽然可以缓存它,但面临一个问题是何时将i节点写回磁盘。可以在超时后写回磁盘,虽然这有点笨拙,但它可能起作用。 Q5:在支持顺序文件的系统中总有一个文件回绕操作,支持随机存取

第二章-操作系统进程(练习题答案)

第二章进程管理 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. 实时 答案:CBBDD 2.操作系统是对计算机资源进行的 (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. CDROM D. 寄存器 答案:CDADB 3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。 A. Spodling技术 B. 虚拟存储技术 C. 缓冲技术 D. 多道程序设计技术 4.分时系统追求的目标是 C。 A. 高吞吐率 B. 充分利用内存 C. 快速响应 D. 减少系统开销 5.引入多道程序的目的是 D。

现代操作系统试卷及其答案

1.一般用户更喜欢使用的系统是()。 A.手工操作 B.单道批处理 C.多道批处理 D.多用户分时系统 2. 与计算机硬件关系最密切的软件是()。 A.编译程序 B.数据库管理系统 C.游戏程序 D.OS 3. 现代OS具有并发性和共享性,是()的引入导致的。 A.单道程序 B. 磁盘 C. 对象 D.多道程序 4. 早期的OS主要追求的是()。 A.系统的效率 B.用户的方便性 C.可移植 D.可扩充性 5.()不是多道程序系统 A.单用户单任务 B.多道批处理系统 C.单用户多任务 D.多用户分时系统 6.()是多道操作系统不可缺少的硬件支持。 A.打印机 B.中断机构 C.软盘 D.鼠标 7. 特权指令可以在()执行。 A.目态 B.浏览器中 C.任意的时间 D.进程调度中 8. 没有了()计算机系统就启动不起来。 A.编译器 B.DBMS C.OS D.浏览器 9. 通道能够完成()之间的数据传输。 A.CPU与外设 B.内存与外设 C.CPU与主存 D.外设与外设 10. 操作系统的主要功能有()。 A.进程管理、存储器管理、设备管理、处理机管理 B.虚拟存储管理、处理机管理、进程调度、文件系统 C.处理机管理、存储器管理、设备管理、文件系统 D.进程管理、中断管理、设备管理、文件系统 11. 单处理机计算机系统中,()是并行操作的。 A.处理机的操作与通道的操作是并行的 B.程序与程序 C.主程序与子程序 D.用户程序与操作系统程序 12. 处理机的所有指令可以在()执行。 A.目态 B.浏览器中

C.任意的时间 D.系统态 13.()功能不是操作系统直接完成的功能。 A.管理计算机硬盘 B.对程序进行编译 C.实现虚拟存储器 D.删除文件 14. 要求在规定的时间内对外界的请求必须给予及时响应的OS是()。 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. Windows98是()操作系统。 A.多用户分时 B.批处理系统 C.单用户多任务 D.单用单任务 20. 分布式系统与网络系统的主要区别是() A.并行性 B.透明性 C.共享性 D.复杂性 21. ( )操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。 A.网络 B.分布式 C.分时 D.实时 22. 如果分时操作系统的时间片一定,那么(),则响应时间越长。 A.用户数越少 B.用户数越多 C.内存越小 D.内存越大 23. 下面6个系统中,必须是实时操作系统的有()个。 ·航空订票系统 ·过程控制系统 ·机器口语翻译系统 ·计算机辅助系统

操作系统第二章课后答案

第二章进程管理 2、试画出下面4条语句的前趋图: S2: b:=z+1; S3: c:=a-b; S4: w:=c+1; 3、 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使 在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。 4、程序并发执行时为什么会失去封闭性与可再现性? 因为程序并发执行时,就是多个程序共享系统中的各种资源,因而这些资源的状态就 是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 5、在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制与描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。 6、试从动态性,并发性与独立性上比较进程与程序? a、动态性就是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只就是一组有序指令的集合,就是静态实体。 b、并发性就是进程的重要特征,同时也就是OS的重要特征。引入进程的目的正就是为 了使其程序能与其它建立了进程的程序并发执行,而程序本身就是不能并发执行的。 c、独立性就是指进程实体就是一个能独立运行的基本单位,同时也就是系统中独立获得 资源与独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。 7、试说明PCB的作用?为什么说PCB就是进程存在的唯一标志? a、PCB就是进程实体的一部分,就是操作系统中最重要的记录型数据结构。PCB中记 录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用就是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。 b、在进程的整个生命周期中,系统总就是通过其PCB对进程进行控制,系统就是根据进 程的PCB而不就是任何别的什么而感知到该进程的存在的,所以说,PCB就是进程存在的唯一标志。 8、试说明进程在三个基本状态之间转换的典型原因、 a、处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变 为执行状态。 b、当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行 状态转变为阻塞状态。 c、当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 9、为什么要引入挂起状态?该状态有哪些性质? a、引入挂起状态主要就是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程 请求,负荷调节的需要,操作系统的需要。

操作系统第二章

第二章 一、问答题 1. 配置在终端上的终端处理程序主要用于实现人机交互,应具有哪些功能? 2、什么是系统调用?系统调用与一般过程调用的区别是什么? 3、有I/O频繁、I/O与计算机均衡和计算量大的三个作业,它们同时进入内存并行工作,请给每个作业赋于运行优先数,并说明理由。 4、脱机命令接口和联机命令接口有什么不同? 5、简述作业的状态有哪些?作业调度是把什么状态的作业调入到内存? 6、系统调用的执行过程大体上分成哪三步? 7、命令解释程序有哪两种处理方法? 8、解释作业和作业调度,作业调度选择作业的必要条件是什么? 9、操作系统提供哪些便于用户控制交互式作业的使用接口? 10、一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?为什么? 二、计算题和证明 1、某系统采用不能移动已在内存储器中作业的可变分区方式管理内存储器,现有供用户使用的内存空间100K,系统配有4台磁带机,有一批作业见表。 表 该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用优先数算法(数字越小优先级别越高),响应比高者优先算法、短作业优先算法、先来先服务算法选中作业执行的次序。 2、试证明短作业优先调度算法能达到最短平均周转时间。 3、有一个多道程序设计系统,采用不允许移动的可变分区方式管理内存中的用户空间,设用户空间为100K,内存空间的分配算法为最先适应分配算法,进程

调度算法采用先来先服务算法,今有如表所示作业序列: 假定所有作业都是计算型作业且忽略系统调度时间,请写出采用"计算时间短的作业优先算法"时作业的装入内存时间、开始执行时间、完成时间、周转时间以及它们的平均周转时间。 4、系统采用不能移动已在内存储器中作业的可变分区方式管理内存储器,现有供用户使用的内存空间200K,内存空间的分配算法为最先适应分配算法,进程调度算法采用先来先服务算法,有一批作业见表。 该系统采用多道程序设计技术,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用“响应比高者优先算法”选中作业执行的次序以及各个作业的装入内存时间、开始执行时间、完成时间。 6、有一个具有两道作业的批处理系统,有如下表所示的作业序列(表中所列作业优先级即为进程优先级,数值越小优先级越高)。列出下面情况下所有作业进入内存时刻及结束时刻,并计算其平均周转时间。 假设采用短作业优先的调度算法,进程调度采用优先级为基础的剥夺式算法。 5、在一个单道批处理系统中,采用响应比高者优先的作业调度算法。当一个作

现代操作系统第四版 第二章 答案

现代操作系统第二章进程与线程习题 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的空闲状态。请问CPU时间浪费的比例是多少 A:^5 =%

第2章(windowsxp操作系统)习题及参考答案 (1)

第2章 Windows XP操作系统 1、填空题 (1).要重新将桌面上的图标按名称排列,可以用鼠标在上右击,在出现的快捷菜单中,选择中的“名称”命令。 (2).在Windows XP中,鼠标的单击、双击、拖曳均是用鼠标键进选择操作。 (3).在Windows XP中,任务栏通常处于屏幕的。 (4).在Windows XP中,单击上相应在的应用程序按钮,可以在不同的窗口之间进行切换 (5).通过“任务栏”右侧的目标,可以切换以中文输入法状态。 (6).将鼠标指向窗口的,拖动鼠标,即可将窗口移动到新的作罢。 (7).在Windows XP中,文件或文件夹的管理可以使用或。 (8).当选定文件或文件夹后,欲改变其属性设置,可以单击鼠标键。 (9).若要取消已经选定的文件,只需单击即可。 (10).在“资源管理器”中,若要选定连续的多个文件时,可先单击要选定的第一个文件, 然后按下键,再单击最后一个文件,则这个连续区域中的所有文件都被选中。 (11).选取多个不连续的文件,应该按住键不放,再依次单击要选取的文件。 (12).“回收站”是用来暂时存放盘上被删除的文件。 (13).在“我的电脑”或“资源管理器”窗口中,改变文件或文件夹的显示方式,是通过窗 口中的菜单。 (14).要安装或删除一个应用程序,可以打开“控制面板”窗口,执行其中的命 令。 (15).瑞星杀毒软件有手动杀毒、、、四种杀毒方 式。 (16).WinRAR的功能可以自动将文件进行解压。 (17).Windows XP的功能可能保护数据免受意外损失。 (18).任务栏主要由、、、和组成。 (19).任务栏缩为一条白线时,表示用户在“任务栏和[开始]菜单属性”中选择了。 (20).桌面上的图标实际就是某个应用程序的快捷方式,如果要启动该程序,只需该 图标即可。 (21).在下拉菜单中,凡是选择了后面带有省略号(...)的命令,都会出现一个。 (22).为了添加某个输入法,应选择窗口中的“区域和语言选项”或在语言 栏中单击按钮中的设置。 (23).在Windows XP中,若要打开“显示属性”对话框,可右击空白处,然后 在弹出的快捷菜单中选择项。 (24).Windows XP语言栏中提供了软键盘功能,以方便用户输入各种特殊符号,而要弹出软 键盘,应先,然后在弹出的菜单中选择合适的软键盘。 2、选择题 (1).WindwosXP系统中的“桌面”是指() A.整个屏幕 B.某个窗口 C.当前窗口 D.全部窗口 (2).下列对图标错误的描述是() A.图标只能代表某类程序的程序组 B.图标可以代表快捷方式

操作系统第二章练习 答案

1.P、V 操作是 A 。
A.两条低级进程通信原语
B.两组不同的机器指令
C.两条系统调用命令
D.两条高级进程通信原语
2.设系统中有 n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4
种情况,
不可能发生的情况是 A 。
A.没有运行进程,有2个就绪进程,n 个进程处于等待状态。
B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。
C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。
D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
3.若 P、V 操作的信号量 S 初值为2,当前值为-1,则表示有 B 等待进程。
A. 0个
B. 1个
C. 2个
D. 3个
4.用 V 操作唤醒一个等待进程时,被唤醒进程的状态变为 B 。
A.等待
B.就绪
C.运行
D.完成
5.用 P、V 操作可以解决 A 互斥问题。
A.一切
B.某些
C.正确
D.错误
6.多道程序环境下,操作系统分配资源以 C 为基本单位。
A.程序
B.指令
C.进程
D.作业
7.从下面对临界区的论述中,选出一条正确的论述。
(1)临界区是指进程中用于实现进程互斥的那段代码。
(2)临界区是指进程中用于实现进程同步的那段代码。
(3)临界区是指进程中用于实现进程通信的那段代码。
(4)临界区是指进程中用于访问共享资源的那段代码。
(5)临界区是指进程中访问临界资源的那段代码。
8.(A)是一种只能由 wait 和 signal 操作所改变的整型变量,(A)可用于实现
进程的(B)和(C),(B)是排他性访问临界资源。
A:(1)控制变量;(2)锁;(3)整型信号量;(4)记录型信号量。
B:(1)同步;(2)通信;(3)调度;(4)互斥。
C:(1)同步;(2)通信;(3)调度;(4)互斥。
9.对于记录型信号量,在执行一次 wait 操作时,信号量的值应当(A),当其值
为(B)时,进程阻塞。在执行 signal 操作时,信号量的值应当为(C),当其
值为(D)时,应唤醒阻塞队列中的进程。
A:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
B:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.
C:(1)不变;(2)加1;(3)减1;(4)加指定数值;(5)减指定数值。
D:(1)大于0;(2)小于0;(3)大于等于0;(4)小于等于0.
10.用信号量 S 实现对系统中4台打印机的互斥使用,S.value 的初值应设置为
(A),若 S.value 的初值为-1,则表示 S.L 队列中有(B)个等待进程。
A:(1)1;(2)0;(3)-1;(4)4;(5)-4
B:(1)1;(2)2;(3)3;(4)4;(5)5;(6)6;(7)0。
11.试选择(A)~(D),以便能正确地描述图2.12所示的前趋关系。
最新范本,供参考!

操作系统第二章课后答案汇编

第二章进程管理2. S1: a:=x+y; S2: b:=z+1; S3: c:=a-b; S4: w:=c+1; 3. 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。 4. 程序并发执行时为什么会失去封闭性和可再现性? 因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。 6. 试从动态性,并发性和独立性上比较进程和程序? a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其 程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和 独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志? a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操 作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程 的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 8. 试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变 为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行 状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 9. 为什么要引入挂起状态?该状态有哪些性质?

《现代操作系统》学习笔记.docx

《现代操作系统》看了两个多月才看了前面200页,很多都似懂非懂,权且将自己认为重要的概念抄下来,以备后续查看。 0. 概述 (1)操作系统的概念 对操作系统的定义,有两种说法,一种声称操作系统是计算机的扩展器,一种声称操作系统是计算机资源集的抽象。 所谓操作系统是计算机的扩展,是将操作系统当做计算机对外的接口。对外包括对应用程序,对程序员,对用户。操作系统对计算机进行“化妆”,将计算机“丑陋晦涩”的硬件对外隐藏,而向外呈现界面友好清晰,更易理解的操作系统。如下图所示:

所谓操作系统是计算机资源集的抽象,是指操作系统将计算机资源(处理器,存储器以及I/O设备等)进行抽象以及管理。将CPU处理抽象为进程,将内存抽象为地址空间,磁盘抽象成文件。而这一切抽象都是为了实现多道程序设计,即可以在一个计算机上同时运行多个互不干扰程序。 (2)操作系统的作用 操作系统的主要任务是在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配。其主要任务包括管理资源分配,评估使用代价和调节资源分配的冲突,记录哪个程序在用什么资源,用多少,用多久。资源管理包括用以下两种不同方式实现多路复用:在时间上复用(进程调度:CPU 时间片轮转)和在空间上复用(内存管理:虚拟内存,页面置换;磁盘管理:文件系统)。在时间上分配CPU资源需要考虑该进程在上面运行多久,下一次切换到哪一个进程。在空间上分配存储空间需要考虑给每个进程分配多少内存,如果内存不足的时候,将哪个页面置换到磁盘以腾出空间。 操作系统的主要功能:为用户程序提供抽象和管理计算机资源。用户程序和操作系统之间的交互处理是前者。用户程序和操作系统之间的交互主要是处理抽象。对于管理计算机资源系统(进程调度,内存置换等)一般自动完成。所以主要是用户程序与操作系统的交互。用户程序通过操作系统提供的接口来访问底层的系统。操作系统提供一种特殊的过程调用——系统调用,该种过程调用可以由用户态陷入

现代操作系统(中文第三版)习题答案

现代操作系统(第三版)习题答案 cztqwan 2017-06-19 (部分内容来源于网络,转载请注明出处)

目录 第一章绪论 (1) 第二章进程与线程 (8) 第三章存储管理 (21) 第四章文件系统 (32) 第五章输入/输出 (42) 第六章死锁 (55) 第七章多媒体操作系统 (65) 第八章多处理机系统 (76) 第九章安全 (88) 第十章实例研究1:Linux (100) 第十一章实例研究2:Windows Vista (110) 第十二章实例研究3:Symbian操作系统 (110) 第十三章操作系统设计 (110)

第一章绪论 1、什么是多道程序设计? 答:多道程序设计技术是指在内存同时放若于道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。 2、什么是SPOOLing? 读者是否认为将来的高级个人计算机会把SPOOLing作为标准功能? 答:(假脱机技术)输入SPOOLing是作业中的读入技术,例如,从卡片在磁盘,这样当当前执行的进程完成时,将等候CPU。输出SPOOLing在打印之前首先复制打印文件,而非直接打印。在个人计算机上的输入SPOOLing很少,但是输出SPOOLing非常普遍。 3、在早期计算机中,每个字节的读写直接由CPU处理(即没有DMA),对于多道程序而言这种组织方式有什么含义? 答:多道程序的主要原因是当等候I/O完成时CPU有事可做。如果没有DMA。I/O操作时CPU被完全占有,因此,多道程序无利可图(至少在CPU利用方面)。无论程序作多少I/O操作,CPU都是100%的忙碌。当然,这里假定主要的延迟是数据复制时的等待。如果I/O很慢的话,CPU可以做其它工作。 4、系列计算机的思想在20世纪60年代由IBM引入进System/360大型机。现在这种思想已经消亡了还是继续活跃着? 答:它依然存在。例如,Intel以各种各样的不同的属性包括速度和能力消耗来生产Pentium I,II,III和4。所有这些机器的体系结构都是兼容的,仅仅是价格上的不同,这些都是家族思想的本质。 5、缓慢采用GUI的一个原因是支持它的硬件的成本(高昂)。为了支持25行80列字符的单色文本屏幕应该需要多少视颊RAM? 对于1024x768像素24位色彩位图需要多少视频RAM? 在1980年($5/KB)这些RAM的成本是多少?现在它的成本是多少? 答:25*80字符的单色文本屏幕需要2000字节的缓冲器。1024*768像素24位颜色的位图需要2359296字节。1980年这两种选择将分别地耗费$10和$11520。而对于当前的价格,将少于$1/MB。 6、在建立一个操作系统时有几个设计目的,例如资源利用、及时性、健壮性等。请列举两个可能互相矛盾的设计目的。 答:考虑公平和实时。公平要求每一个进程都以公平的方式分配资源,没有进程能得到超过公平份额的资源。另一方面,实时要求使进程在规定的时间内执行完毕的基础上分配资源。一个实时的进程可能会得到一个不成比例的资源份额。(非

相关文档
最新文档