您的位置:首页 > 职场人生

操作系统笔试面试笔记总结

2016-04-25 18:25 387 查看
操作系统解答题
根据多方信息以及考研试题汇总,应该足够应付面试所需


一、解答题题型
1、多道程序设计;
2、CPU调度算法;
3、死锁避免银行家算法,死锁检测;
4、连续分配,分区分配:适配算法;
5、地址转换计算:分页管理方式;分段管理方式;
6、页面置换算法;
7、抖动现象;
8、磁盘调度算法;
9、文件系统的计算;(之后补充)
10、PV操作、管程。
二、解答题例题
2.1 题型1
多道程序设计;
1、有两个程序:程序A依次使用CPU 10秒,使用设备甲5秒,使用CPU计 5秒,使用设备乙计10秒,使用CPU 10计秒;程序B按依次使用设备甲10秒,使用CPU 10秒,使用设备乙计5秒,使用CPU计5秒,使用设备乙计10秒。在单道程序环境下,先执行程序A再执行程序B,CPU的利用率是多少?在多道程序设计环境下,CPU利用率是多少?
2、设某计算机系统有一个CPU、一台输入设备和一台打印机。现有两个进程同时进入就绪状态,且进程A先得到CPU运行,进程B后运行。进程A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。进程B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。
试在画出时序关系图的情况下,说明:

(1)开始运行后,CPU有无空闲等待?若有,在哪段时间内等待?计算CPU的利用率。

(2)进程A运行时有无等待现象?若有,在什么时候发生等待现象?

(3)进程B运行时有无等待现象?若有,在什么时候发生等待现象?

答案:
1、单道:50%;多道88.9%;
2、1)CPU在100-150ms的时间段内空闲等待,利用率83.3%;
2)进程A为无等待现象;
3)进程B为有等待现象,0-50ms,180-200ms。

2.2 题型2
CPU调度算法;
1、假定要在一台处理器上执行如下图所示的作业,它们在 0 时刻

以 1, 2, 3, 4, 5 的顺序到达。给出采用下列调度算法时的调度顺序、

平均周转时间(turnaround time)和平均响应时间(response time)

1) FCFS

2) RR(时间片为 1,不考虑优先级)
3) 非抢占式 SJF(shortest job first)

4) 非抢占式优先级调度(数字小的优先级大)

作业 执行时间 优先级
1 10 3
2 1 1
3 2 2
4 3 4
5 5 2

答案:
1、
1) FCFS:

P1 P2 P3 P4 P5

0 10 11 13 16 21

平均响应时间=( 0+10+11+13+16)/ 5 = 10

平均周转时间=( 10+11+13+16+21)/ 5 = 14.2

2) RR(TQ=1)

P1 P2 P3 P4 P5 P1 P3 P4 P5 P1 P4 P5 P1 P5 P1 P5 P1 P1 P1 P1 P1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

平均响应时间=( 0+1+2+3+4)/ 5 = 2

平均周转时间=( 21+2+7+11+16)/ 5 = 11.4

3) SJF

P2 P3 P4 P5 P1

0 1 3 6 11 21

平均响应时间=( 11+0+1+3+6)/ 5 = 4

平均周转时间=( 21+1+3+6+11)/ 5 = 8.4

4) Priority

P2 P3 P5 P1 P4

0 1 3 8 18 21

平均响应时间=( 8+0+1+18+3)/ 5 = 6

平均周转时间=( 18+1+3+21+8)/ 5 = 10.2


2、(南京大学 2007年 期末考试A卷)

某多道程序设计系统供用户使用的主存为100K,磁带机2台,打印机1台。采用可变分区内存管理,采用静态方式分配外围设备,忽略用户作业I/O时间。现有作业序列如下:

作业号
进入输入井时间
运行时间
主存需求量
磁带需求
打印机需求
1
8:00
25分钟
15K
1
1
2
8:20
10分钟
30K
0
1
3
8:20
20分钟
60K
1
0
4
8:30
20分钟
20K
1
0
5
8:35
15分钟
10K
1
1
作业调度采用FCFS策略,优先分配主存低地址区且不能移动已在主存的作业,在主存中的各作业平均使用CPU时间。问:1) 作业被调度的先后次序;2) 全部作业运行结束的时间; 3) 作业平均周转时间; 4) 最大作业周转时间。

答案:
2、 1)作业调度选择的作业次序为:1, 3, 4, 2, 5。

2)全部作业运行结束的时间 9: 30。

3)周转时间:作业1为30分钟,作业2为55分钟,作业3为40分钟,作业4为40分钟,作业5为55分钟。

4)平均作业周转时间为44分钟。

5)最大作业周转时间为55分钟。

2.3 题型3
死锁避免银行家算法 ,死锁检测;
1、(南京大学 考研改编 1995年试题)
某系统有R1设备2台,R2设备2台,R3设备1台,当前时刻存在四个共享进程,分别为P1、P2、P3和P4,其资源分配和申请情况如下:P1获得了一个R2设备,申请一个R1设备;P2获得一个R1设备,申请一个R3设备;P3获得一个R1设备,申请一个R2设备;P4获得一个R2设备。

(1) 画出系统的进程-资源分配图;

(2) 使用“死锁检测”算法,判断该系统是否产生死锁?

答案:

1)略

2)没有发生死锁

2、(南京大学 2007年 期末考试B卷)
系统中有A、B、C、D共四种资源,在某时刻进程P0, P1, P2, P3和P4对资源的占有和需求情况如表,试解答下列问题:

Process
Allocation
Claim
Available
A B C D
A B C D
A B C D
P0
0 0 3 2
0 0 4 4
1 6 2 2
P1
1 0 0 0
2 7 5 0
P2
1 3 5 4
3 6 10 10
P3
0 3 3 2
0 9 8 4
P4
0 0 1 4
0 6 6 10
(1)系统此时处于安全状态吗?

(2)若此时P2发出请求(1, 2, 2, 2),系统能分配资源给它吗?为什么?

答案:

1) 系统处于安全状态,存在安全序列:P0, P3, P4, P1, P2。

2) 不能分配,否则系统会处于不安全的状态。

2.4 题型4
PV操作、管程;
1、生产者,消费者问题伪代码(基础)看书解决此题目

2、(南京大学 考研真题 2000年)
桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。
答案:
在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:

int S=1;

int Sa=0;

int So=0;


main(){

cobegin

father();

son();

daughter();

coend




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);

吃苹果;}

}



2.5 题型5
连续分配,分区分配:适配算法;
1、在一个分区存储管理系统中,按地址从低到高排列的空闲分区的长度分别是:10KB、4KB、 20KB、 18KB、 7KB、 9KB、 12KB、 15KB。对于下列顺序的段请求: 12KB、 10KB、 15KB、 18KB分别使用首次适应算法、最佳适应算法、最坏适应算法和下次适应算法,试说明空间的使用情况。

答案:
1、为描述方便起见,对空闲分区进行编号,其编号如表所示。
分区编号

分区号
分区长度
1
2
3
4
5
6
7
8
10KB
4 KB
20 KB
18 KB
7 KB
9 KB
12 KB
15 KB
1)采用首次适应算法进行内存分配时,无法满足所有的段请求。

2)满足要求。

3)最坏适应算法总是选择最大的空闲区分配给作业,无法满足所有的段请求。

4)下次适应算法是首次适应算法的变形,在为作业进行内存分配时,总是从上次找到的空闲分区的下一个空闲分区开始顺序查找, 直至找到第一个能满足大小要求的空闲分区为止。无法满足所有的段请求。

2、(2010年全国研究生入学考试真题)
某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最大空闲分区的大小是多少。

答案:
2、9MB

2.6 题型6
地址转换计算:分页管理方式;分段管理方式;
1、(2010年与2013年全国研究生入学考试)
某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节。请回答下列问题。

(1)若使用一级页表的分存储管理方式,逻辑地址结构为:

则页的大小是多少字节?页表最大占用多少字节?

(2)若使用二级页表的分存储管理方式,逻辑地址结构为:

设逻辑地址为 LA ,请分别给出其对应的页目录号和表索引达式。

(3)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为0000 8000H,其长度为8KB,被装载到从物理地址0090 0000H开始的连续主存空间中。页表从主存0020 0000H 0020 0000H开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项物理地址、这中框号以及计算出该代码段对应的两个页表项物理地址、这中框号以及计算出该代码段对应的两个页表项物理地址、这两个页表项中的框号以及代码页面2的起始物理地址。

答案:
1、页大小4KB,一级页表:4MB;
2、页目录号 ((unsigned int)(LA))>>22
页表索引号((unsigned int)(LA))>>12
3、物理地址1:0020 0020H
物理地址2:0020 0024H
物理地址3:0090 1000H

2、页式存储管理,允许用户编程空间为32个页面(每页1KB),主存为16KB,如有一用户程序有10页长,且某时刻该用户程序页表见表
如表:
如果分别遇有以下三个逻辑地址:0AC5H、1AC5H、3AC5H处的操作,试计算并说明存储管理系统将如何处理。

答案:
1、12C5H
2、缺页中断
3、越界中断

2.7 题型7
页面置换算法;
1、(综合考察,南京大学 期末 2007年)
一个页式存储管理系统使用LRU(最近最少使用)页面替换算法,页面大小为1024字节,如果一个作业的页面走向为:1、1、2、3、4、2、1、5、6、1、2、5,分配给该作业的物理块数分别为4,分别为20,31,2,5号页框。试计算访问过程中发生的缺页中断次数和缺页中断率,并分别画出页框中内容的变化过程。如果接下来要访问逻辑地址为3320,试求其对应的物理地址是多少?
答案:
共6次缺页中断,缺页中断率为6/12 = 1/2。
1
1
1,2
1,2,3
1,2,3,4
1,3,4,2
3,4,2,1
4,2,1,5
2,1,5,6
2,5,6,1
5,6,1,2
6,1,2,5
3320/1024 分解逻辑地址:为第3个页面,第248单元。
由于3号页面不再内存中,需要淘汰6号页面,并将3号页面装入。6号页面替换的是4号页面,而4号页面原来在5号页框中,所以3号页面被装入5号页框中。
所以转换成物理地址为 5×1024+248 = 5368。

2、一个页式存储管理系统使用LRU(最近最少使用)页面替换算法,页面大小为100字节,如果一个作业的逻辑地址访问序列是:11、52、421、325、122、452、98、100、110、220、151、501,当分配给该作业的物理块数分别为3和4时,分别为20,31,2,5号页框。试计算访问过程中发生的缺页中断次数和缺页中断率,并分别画出页框中内容的变化过程。
答案:
对应的页面访问序列为0, 0, 4, 3, 1, 4, 0, 1, 1, 2, 1, 5
3个物理块的情况下,共7次缺页中断,缺页中断率为7/12。
4个物理块的情况下,共5次缺页中断,缺页中断率为5/12。
0 0
0 0
0,4 0,4
0,4,3 0,4,3
4,3,1 0,4,3,1
3,1,4 0,3,1,4
1,4,0 3,1,4,0
4,0,1 3,4,0,1
4,0,1 3,4,0,1
0,1,2 4,0,1,2
0,2,1 4,0,2,1
2,1,5 0,2,1,5

3、(中科院软件所1999年研究生试题)
在一个请求分页系统中,假如系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。

答案:
采用先进先出(FIFO)淘汰算法产生的缺页为9次。采用最近最少使用(LRU)淘汰算法产生的缺页次数为7次。
FIFO
走向

3
2
1








块1
块2
块3
缺页







1
3
2











5缺












LRU
走向

3
2
1








块1
块2
块3
缺页











































2.8 题型8
抖动现象的解释:在计算机操作系统的虚拟存储管理中,抖动是指刚被调出的页又立即被调入所形成的频繁调入调出的现象。

2.9 题型9
磁盘调度算法;
1、有一具有40个磁道的盘面,编号为0~39,当磁头位于第11号磁道时,顺序来到如下磁道请求:磁道号:1、36、16、34、9、12、13;试用1)先来先服务算法FCFS、2)最短查找时间优先算法SSTF、3)扫描算法SCAN、4)电梯调度算法等三种磁盘驱动调度算法,给出其访问磁道的顺序,并计算出它们各自要来回穿越多少磁道?

答案:
FIFS为112 11-1-36-16-34-9-12-13,(10+35+20+18+25+3+1), 112
SSTF为55 11-12-13-16-9-1-34-36,(1+1+3+7+8+33+2),55
SCAN为66(由小到大) 11-12-13-16-34-36-39-9-1,(1+1+3+18+2+3+30+8), 66
SCAN为47(由大到小) 11-9-1-0-12-13-16-34-36,(2+8+1+12+1+3+18+2), 47电梯调度算法为60(由小到大)11-12-13-16-34-36-9-1,(1+1+3+18+2+27+8), 60
电梯调度算法为45(由大到小)11-9-1-12-13-16-34-36,(2+8+11+1+3+18+2), 45
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: