2024年6月12日发(作者:)
操作系统模拟试题
一、单项选择题
1、从用户的观点看,操作系统是(A )
A、用户与计算机之间的接口
B、控制和管理计算机资源的软件
C、合理的组织计算机工作流程的软件
D、由若干层次的程序按一定的结构组成的有机体
2、实时操作系统必须在(C )内处理完来自外部的事件
A、响应时间
C、规定时间
B、周转时间
D、调度时间
3、在操作系统中,P、V操作是一种(D )
A、机器指令
B、系统调用命令
D、低级进程通信原语 C、作业控制命令
4、下面对进程的描述中,错误的是( D )
A、进程是动态概念
C、进程是有生命期的
B、进程执行需要处理机
D、进程是指令的集合
5、下面所述步骤中,( A )不是创建进程所必需的。
A、由调度程序为进程分配CPU
C、为进程分配内存
B、建立一个进程控制块
D、将进程控制块链入就绪队列
6、对于两个并发进程,设互斥信号量为mutex,若mutex=0,则( B )
A、表示没有进程进入临界区
B、表示有一个进程进入临界区
C、表示有一个进程进入临界区,另一个进程等待进入
D、表示有两个进程进入临界区
7、系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下列4种情况,不可能发生的情况
是( A )
A、没有运行进程,有2个就绪进程,n-2个进程处于等待状态
B、有1个运行进程,没有就绪进程,n-1个进程处于等待状态
C、有1个运行进程,有1个就绪进程,n-2个进程处于等待状态
D、有1个运行进程,有n-1就绪进程,没有进程处于等待状态
8、为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的(C )也可能产生死锁。
A、进程优先权
B、资源的线性分配
1
C、进程推进顺序 D、分配队列优先权
9、发生死锁的必要条件有4个,要防止死锁发生,可以通过破坏这4个必要条件之一来实现,但破坏( A )
条件是不太实际的。
A、互斥
B、不可抢占
C、部分分配 D、循环等待
10、支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中( D )
不是引起操作系统选择新进程的直接原因。
A、运行进程的时间片用完 B、运行进程出错
C、运行进程要等待某一事件发生 D、有新进程进入就绪队列
11、虚拟存储器的最大容量( B )
A、为内外存容量之和
C、是任意的
B、由计算机的地址结构决定
D、由作业的地址空间决定
12、把作业地址空间使用的逻辑地址变成内存物理地址称为(B )
A、加载
B、重定位
D、逻辑化 C、物理化
13、如果I/O所花费的时间比CPU处理时间短得多,则缓冲区( B )
A、最有效
C、均衡
B、几乎失效
D、以上都不是
14、( A )是操作系统中采用空间换取时间的技术。
A、Spooling技术 B、虚拟存储技术
D、通道技术 C、覆盖与交换技术
15、将系统中的每一台设备按某种原则进行统一的编号,这些编号作为区分硬件和识别设备的代号,该编
号称为设备的(A )
A、绝对号
C、类型号
B、相对号
D、符号名
16、为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用( B)
A、约定的方法
C、路径
B、多级目录
D、索引
17、用磁带作文件存储介质时,文件只能组织成(A )
A、顺序文件
C、索引文件
B、链接文件
D、目录文件
2
18、在文件系统中,文件的不同物理结构有不同的优缺点。在下列文件的物理结构中,( A )不利于文件
长度动态增长。
A、顺序结构
C、索引结构
B、链接结构
D、Hash结构
19、Linux操作系统的shell是负责( A )的模块
A、解释并执行来自终端的命令
B、解释并执行来自终端的内部命令
C、解释并执行来自终端的外部命令
D、进行功能调用
20、Linux操作系统中使用的全屏幕的编辑程序是(A )
A、vi
C、edlin
B、edit
D、ed
21、下列选择中,( D )不是操作系统关心的主要问题。
A、管理计算机裸机
B、设计、提供用户程序与计算机硬件系统的界面
C、管理计算机系统资源
D、高级程序设计语言的编译器
22、下面关于操作系统的叙述中正确的是( A )
A、批处理作业必须具有作业控制信息
B、分时系统不一定都具有人机交互功能
C、从响应时间的角度看,实时系统与分时系统差不多
D、由于采用了分时技术,用户可以独占计算机的资源
23、若信号量S的初值为2,当前值为-1,则表示有(B )等待进程。
A、0个 B、1个 C、2个 D、3个
24、临界区是( C )
A、一个缓冲区
C、一段程序
B、一段共享数据区
D、一个互斥资源
25、下列哪一个选项体现了原语的主要特点( D )
A、并发性
C、共享性
B、异步性
D、不可分割性
26、一个进程被唤醒意味着( D )
3
A、该进程重新占有了CPU
B、它的优先权变得最大
D、进程变为就绪状态 C、其PCB移到等待队列队首
27、关于下列进程的叙述中,不正确的是( C )
A、进程申请CPU得不到满足时,其状态变为等待状态
B、在单CPU系统中,任一时刻有一个进程处于运行状态。
C、优先级是进程调度的重要依据,一旦确定不能改变
D、进程获得处理机而运行是通过调度实现的。
28、资源的按序分配策略可以破坏( D )条件
A、互斥使用资源
C、非抢占资源
B、占有且等待资源
D、循环等待资源
29、在分时操作系统中,进程调度经常采用( C )算法
A、先来先服务
C、时间片轮转
B、最高优先权
D、随机算法
30、在存储管理中,采用覆盖与交换技术的目的是( A )
A、节省内存空间
C、提高CPU效率
B、物理上扩充内存容量
D、实现内存共享
31、最佳适应算法的空闲区是( B )
A、按大小递减顺序连在一起
C、按地址由小到大排列
B、按大小递增顺序连在一起
D、按地址由大到小排列
32、在一些存储管理方案中,不适用于多道程序设计系统的是( A )
A、单用户连续分配
C、可变式分区分配
B、固定式分区分配
D、页式存储管理
33、在采用Spooling技术的系统中,用户的打印结果首先被送到( A )
A、磁盘固定区域
C、终端
B、内存固定区域
D、打印机
34、在操作系统中,用户程序申请使用I/O设备时,通常采用( B )
A、物理设备名
C、虚拟设备名
B、逻辑设备名
D、独占设备名
35、为了对文件系统中的文件进行安全管理,任何一个用户在进入系统时都必须进行注册,这一级安全管
理是( A )
A、系统级 B、目录级
4
C、用户级 D、文件级
36、存放在磁盘上的文件( A )
A、既可随机访问,又可顺序访问 B、只能随机访问
C、只能顺序访问 D、不能随机访问
37、在文件系统中,文件的不同物理结构有不同的优缺点。在下列文件的物理结构中,( B )不具有直接
读写文件任意一个记录的能力。
A、顺序结构
C、索引结构
B、链接结构
D、Hash结构
38、对一个文件的访问,常由( A )共同限制。
A、用户访问权限和文件属性
C、优先级和文件属性
B、用户访问权限和用户优先级
D、文件属性和口令
39、Linux是( A )操作系统。
A、分时
C、单道
B、批处理
D、实时
40、在Linux系统中,把输入/输出设备看作是( D )
A、普通文件
C、索引文件
二、简答题
41、多道程序设计的硬件基础是什么?实现多道程序必须解决哪些主要问题?
硬件基础:中断系统、通道技术、CPU与通道的通信。
必须解决的问题:存储保护与程序浮动(地址重定位)、处理器的管理与分配、资源的管理与调度。
42、用户程序中采用“设备类、相对号”的方式用来使用设备有什么优点?
答:用户程序中采用“设备类、相对号”的方式,使设备分配的适应性好,灵活性强:
1)系统只要从指定的设备类中找出一台“好的且未分配的”设备来进行分配即可。
2)如果分配给用户的设备在使用中出故障,则系统可以从同类设备中找出“好的且未分配”的另一台设备
来替换。
43、设计文件系统需要考虑和解决那些基本问题?
文件系统的主要目标是提高存储空间的利用率,它要解决的主要问题有:完成文件存储空间的管理,
实现文件名到物理地址的转换,实现文件和目录的操作,提供文件共享能力和安全措施,提供友好的用户
接口。文件系统向用户提供了有关文件和目录操作的各种功能接口和系统调用,如命令接口、程序接口和
交互接口等。
5
B、目录文件
D、特殊文件
44、何谓多道程序设计技术?多道程序设计技术的特点有哪些?
多道程序设计技术是指同时把多个作业放入内存并允许它交替执行,共享系统中的各类资源,当一道
程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。
特点:多道、宏观上并行、微观上串行。
45、实现虚拟设备的主要条件有哪些?
答:输入型虚拟设备的实现:
(1)申请:分配一台虚设备(一个盘区域),分配一台实设备(读卡机),将信息从实设备连续传送
到虚设备,释放实设备。
(2)使用:将信息由虚设备传输到进程空间
(3)释放:回收虚设备。
输出型虚拟设备的实现:
(1)申请:分配一台虚设备(一个盘区域)
(2)使用:将信息由进程空间传输到虚设备
(3)释放:申请一台实设备(打印机),将信息从虚设备连续传送到实设备,回收虚设备,回收实
设备。
46、什么是文件目录?文件目录中包含哪些信息?
为了加快文件的查找速度,通常把FCB(文件控制块)集中起来进行管理,组成文件目录。文件目录包
含许多目录项,目录项又分为两种,分别用于描述子目录和文件的FCB。
三、分析题
47、在下列选项中既有时分复用,又有空分复用,或者兼而有之,请归类,并对兼而有之
的情况进行简要分析。
a、个人计算机 b、教室里的黑板
c、UNIX中的单用户文件
e、住宅区的土地
d、分时系统中的打印机
f、公共汽车上的椅子
g、C/C++运行时系统的堆栈
i、某公共小汽车停车场
h、商品公寓房
j、宾馆住房
48、对某系统进行监测后表明,每个进程在I/O阻塞之前的运行时间为T。一次进程切换的系统开销时间为
S。若采用时间片长度为Q的时间片轮转法,对下列情况计算出CPU利用率。
(1)Q=∞ (2)S P156 49、有两个优先级相同的进行P1和P2(如下所示),各自执行的操作如下,信号量S1和S2初值均为0。 分析P1、P2并发执行后,x、y、z的值各为多少? P1( ){ y=1; y=y+3; V(S1); z=y+1; 6 (4)Q接近于0 P2( ){ x=1; x=x+5; P(S1); x=x + y; P(S2); y=z + y; } 答:现对进程语句进行编号,以方便描述. P1 : P2 : begin begin y : = 1;① x :=1 ;⑤ y :=y+3;② x:x+5 ;⑥ V(S1); P(S1); V(S2); z=z + x; } Z:Y+1;③ x:X+Y ;⑦ P(s2); V(S2); Y:=z+y; ④ z:=Z+X;⑧ End end ① 、② 、⑤ 和⑥ 是不相交语句,可以任何次序交错执行,而结果是唯一的。接着无论系统如何调度进 程并发执行,当执行到语句⑦ 时,可以得到x = 10 , y = 4。按Bernstein条件,语句③ 的执行结果不 受语句⑦ 的影响,故语句③ 执行后得到z = 5。最后,语句④ 和⑧ 并发执行,这时得到了两种结果为: 语句④ 先执行:x =10 , y =9 , z= 150 语句⑧ 先执行:x =10 , y =19 , z =15 此外,还有第三种情况,语句③ 被推迟,直至语句⑧ 后再执行,于是依次执行以下三个语句: 7:二z + X : z : = y + 1 ; y :=Z十y ; 这时z的值只可能是y+1=5,故y =Z+Y=5 + 4=9,而x = 10。 第三种情况为:x = 10,Y=9 , Z = 5。 50、有一矩阵:int a[100][100];按先行后列次序存储。在一虚拟存储器系统中,采用LRU淘汰算法,一 个进程有3页内存空间,每页可以存放200个整数。其中第一页存放程序,且假定程序已在内存。 程序A: for (i=1;i<=100;i++) for (j=1;j<=100;j++) A[i,j]=0; 程序B: for (j=1;j<=100;j++) for (i=1;i<=100;i++) A[i,j]=0; 7 分别就程序A和B的执行过程计算缺页的次数。 答:100 * 100 = 10000个数据,每页可以存放200个整数,故一共存放在50个第99行、第100行缺页中断为 5000次。由于元素按行存储,第1行、第2行放在第1页,…第99行、第100行放在第50页。故对于程序A,缺 页中断为50次。对于程序B,缺页中断为5000次。 51、多道批处理系统中配有一台处理器和两台外设(I1和I2),用户存储空间为100MB。已知系统的作业调 度及进程调度采用可抢占式的高优先数调度算法,主存采用不允许移动的可变分区分配策略,设备分配按 照动态分配原则。现有4各作业同时提交给系统,如下表所示。求作业的平均周转时间。 作业名 A B C D 52、假定某磁盘的旋转速度是每圈20ms,格式化时每个盘面被分成10个扇区,现有10个逻辑记录存放在 同一磁道上。处理程序要顺序处理这些记录,每读出一个记录后处理程序要花4ms的时间进行处理,然后 再顺序读下一个记录并处理,直到处理完这些记录,回答: (1)顺序处理完这10个记录总共花费了多少时间? (2)请给出一种记录优化分布的方案,使处理程序能在最短时间内处理完成这10个记录,并计算优化分 布时需要花费的时间。 优先数 7 3 9 4 运行时间与顺序(分钟) CPU(1分钟)→I1(2分钟)→I2(2分钟) CPU(3分钟)→I1(1分钟) CPU(2分钟)→I1(3分钟)→CPU(2分钟) CPU(4分钟)→I1(1分钟) 主存需求 50MB 10MB 60MB 20MB (1)顺序处理完这10个记录所费时间: 读一个记录的时间是20/10=2ms 每条记录处理时间为4ms.计算如下: A记录:2+4=6ms B记录:因为6ms后已转到第4扇区,因此还要转过8个扇区方能到达第2扇区取B记录。 所需时间为:2×8+2+4=22ms. 同样的,C…J记录和B记录访问一样,会有8个扇区的空转时间。 8 总的时间为:6+22×9=204ms (2)要使处理程序在最短时间内处理完毕,则根据上面的计算,把B记录安排在第扇区4上,把C记录存 放在扇区7上... 按照这个办法,可以得到记录的优化分布如下 A 1 B 4 C 7 D 10 E 3 F 6 G 9 H 2 I 5 J 8 ∵每处理一个记录后刚好转入下一记录扇区 ∴处理时间总和为:10×(2+4)=60ms 53、设有n各进程共享一个互斥段,如果(1)每次只允许一个进程进入互斥段;(2)每次最多允许m个进 程(m≤n)同时进入互斥段。请分析信号量的初值及信号量值的变化范围。 54、AND型信号量机制是记录型信号量的扩充,在P、V操作中增加了与条件“AND”,故称“同时”P操作 和V操作,记为SP和SV,其定义为如下的原语操作: void SP(semaphore s1,s2,…,sn){ if(s1>=1 && …&& sn>=1) { for(int i=1;i<=n;i++) si=si-1; } else {进程进入第一个遇到的满足Si<1条件的si 信号量队列等待,同时将该进程的程序计数 器地址回退,置为SP操作处。}; } void SV(semaphore s1,s2,…,sn){ for(int i=1;i<=n;i++) si=si+1; {从所有si信号量等待队列中移出进程并置 入就绪队列。}; } 试归纳AND信号量机制的主要特点,并分析AND信号量机制适用于什么场合? 答:记录型信号量仅适用于进程之间共享一个临界资源的场合,在更多应用中,一个进程需要先获得两个 或多个共享资源后,才能执行其任务。AND型信号量的基本思想是:把进程在整个运行其间所要的临界资源, 一次性全部分配给进程,待该进程使用完临界资源后再全部释放。只要有一个资源未能分配给该进程,其 他可以分配的资源,也不分配给他。亦即要么全部分配,要么一个也不分配,这样做可以消除由于部分分 配而导致的进程死锁。 55、在一个请求分页存储系统中,一个作业共有5页,执行时其访问页面次序为: 1、4、3、1、2、5、1、4、2、1、4、5 若分配给作业三个内存页框,分别采用FIFO和LRU页面替换算法,求各自的缺页中断次数和缺页中断率。 9 56、下表中给出进程的到达时间、执行时间和优先级,请给出三种调度算法的进程执行次序和三种调度算 法的平均周转时间。这三种调度算法是:短作业优先调度算法、优先级高者优先调度算法和简单轮转法(简 单轮转法中的时间片为2个单位)。(抢占式调度策略) 57、在单CPU和两台I/O(I1,I2)设备的多道程序设计环境下,同时投入三个作业运行。它们的执行轨迹 如下: Job1:I2(30ms)、CPU(10ms)、I1(30ms)、CPU(10ms) Job2:I1(20ms)、CPU(20ms)、I2(40ms) Job3:CPU(30ms)、I1(20ms) 如果CPU、I1和I2都能并行工作,优先级从高到低为Job1、Job2和Job3,优先级高的作业可以抢占 优先级低的作业的CPU。求: (1)每个作业从投入到完成分别所需的时间。 (2)作业从投入到完成CPU的利用率。 (3)I/O设备利用率 58、假定某磁盘共有200个柱面,编号为0-199,当前存取臂的位置在143号柱面上,并刚刚完成了125 号柱面的服务请求,如果请求队列的先后顺序是: 90,120,170,100,150,40,180,130 试问:为完成上述请求,下列算法存取臂移动的总量是多少?并给出存取臂移动的顺序。 (1)FCFS (2)SSTF (3)SCAN (柱面号递增顺序访问) (4)CSCAN (柱面号递增顺序访问) 四、编程题 59、有3个并发进程R、M、P,它们共享一个缓冲器B;进程R负责从输入设备读入信息,每读一个记录后 把它存放在缓冲器B中;进程M在缓冲器B中加工进程R存入的记录;进程P把加工后的记录打印输出。 缓冲器B中每次只能存放一个记录,当记录被加工输出后,缓冲器B中又可以存放一个新记录。请用PV操 作为同步机制写出它们并发执行时能正确工作的程序(用类C语言描述)。 答: 1 ) var B : array [ 0 , k-1 ] of item ; 10 sread : semaPhore : = 1 ; smanage : semaPhore : = 0 ; swrite : semaphore : = 0 ; rptr : integer : = O ; mptr : integer : = O ; wptr:integer : = 0 ; x : item cobegin process reader ; process manager ; process writer ; begin begin begin LI : read a message intox ; L2 : P ( smanage ) ; L3 : P ( swnte ) ; P ( sread ) ; x:=B[mptr]; x:=B[swrite]; B[rptr]:=x; mptr:=(mptr+1) mod k; wptr:=(wptr+1) mod k; Rptr:=(rptr+1) mod k; manage the message in x; V(sread); V(smanage); B[mptr]:=x; print the message in x; Goto L1; V(swrite); goto L3; End; goto L2; end; End; coend 60、某大型银行办理人民币储蓄业务,由n个储蓄员负责。每个顾客进入银行后先到取号机处取一个号, 并且在等待区找到空闲沙发坐下等待叫号。取号机给出的号码依次递增,并假定有足够多的空闲沙发容纳 顾客。当一个储蓄员空闲下来,就叫下一个号。请用信号量和P、V操作正确编写储蓄员进程和顾客进程的 程序。 11
发布评论