操作系统期末考试试卷
班级:学号:姓名:成绩:
一、单项选择题(本题满分20分,每题1分,共含20道小题)
1. 一个作业第一次执行时用了5分钟,而第二次执行时用了6分钟,这说明了操作系统的
A> 共享性B> 不确定性C> 并发性 D> 机器有问题
2. 操作系统对进程进行管理与控制的基本数据结构是
A> JCB B> DCB C> PCB D> FCB
3. 在分区存储管理方式中,如果在按地址升序排列的未分配分区表中顺序登记了下列未分配分区:1>起始地址:17K,,分区长度9K;2>起始地址54K,分区长度13K,现有一个分区被释放,其起始地址为39K,分区长度为15K,则系统要
A> 合并第一个未分配分区B> 合并第二个未分配分区
C> 合并第一个及第二个未分配分区D> 不合并任何分区
4. 一个进程当前处于等待状态,则
A> 它可以被调度而获得处理机B>它可能变成就绪状态,也可能直接获得处理机
C>它永远不会被执行D> 当I/O 完成后,它将变成就绪状态
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. 通道又被称为I/O处理器,它用于实现下面什么之间的信息传输。
A> 主存与外设B> CPU与外设
C> 外设与外设D> CPU与辅存
13. 设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理
时信号量S的可能取值是
A> 1,0,-1,-2 B> 2,0,-1,-2
C> 1,0,-1 D> 3,2,1,0
14. 设有
目前剩余资源数为2。当进程P1,P2,P3,P4又都相继提出申请要求,为使系统不致死锁,应先满足哪个进程的要求。
A> P1 B> P2 C> P3 D> P4
15. 下述操作系统类型中,哪个操作系统一定是由多台计算机组成的系统。
A>实时B>批处理C>分时D>分布式
16.固定分区存储管理中,处理器需设置下面什么寄存器以保证作业在所在分区内运行。
A>变址B>上、下限C>段长D>基址
17.产生系统死锁的原因可能是
A> 进程释放资源B> 一个进程进入死循环
C> 多个进程竞争资源出现了循环等待D> 多个进程竞争共享型设备
18. 文件系统采用多级目录结构可以
A> 节省存储空间B> 解决命名冲突
C> 缩短文件传送时间D> 减少系统开销
19.对于记录型信号量,在执行一次P操作时,信号量的值应当
A> 不变B> 加1 C> 减1 D> 加指定数值
20.设主存的容量为128MB,辅存的容量为256MB,计算机的地址线24位,则虚存的最大容量是
A> 128MB B> 8MB+128MB C> 16MB D> 24MB
二、判断题(本题满分20分,每题1分,共含20道小题。)
1.多道程序设计就是多个程序在某一时刻同时运行。
2.系统调用是操作系统给程序员的接口。
3.动态重定位就是动态链接。
4.SPOOLing技术将一台物理上的I/O设备虚拟为多台逻辑上的I/O设备。
5.创建原语用来创建一个新进程,并将此新进程投入就绪队列。
6.信号灯只能描述进程之间的互斥关系。
7.可变分区就是分区的大小和分区的数目在操作系统运行期间是变化的。
8.死锁的发生只与资源分配策略有关,与并发进程的执行速度无关。
9.顺序执行的程序具有可再现性。
10. 并发执行的程序具有可再现性。
11.中断屏蔽是通过中断源设置一个中断屏蔽触发器来屏蔽它们的中断请求。
12. 原语在执行时能被中断的。
13.内核级线程是用户通过建立线程库来实现的。
14.银行家算法可用于检测系统中是否发生了死锁。
15.解除死锁的方法之一是杀死系统中任何一个进程。
16.多级反馈队列算法是一种分配设备的算法。
17.将程序的逻辑地址转换成物理地址的过程叫做重定位。
18.快表是为了实现虚拟存储器而引入的。
19.位示图是一种文件的物理组织方法。
20.热修复重定向和写后读校验用于对磁盘的坏块进行管理。
三、填空题(本题满分20分,每空1分,共含10道小题)
(填答案处,答案不填在此处不给分)
1.操作系统的四个特征是[1] 、[2] 、[3] 和不确定性。
2.产生死锁的原因可归结为两点:[4] 和[5] 。
3.使用RAID技术通过数据冗余来提高系统的可靠性,通过并行交叉访问来提高磁盘的访问速度。其中RAID0能够实现[6] ;而[7] 采用镜像盘技术来提高系统的可靠性。4.进程存在的唯一标志是[8] 。
5.Bernstein条件用于判断进程能否[9] 。
6.分页与分段的区别是,页是信息的物理单位,而段是信息的[10] ;页的大小是[11] 的,而段的大小是不固定的;分页的逻辑地址空间是一维的,而分段的逻辑地址空间是
[12] 的。
7.I/O控制方式有四种,它们是程序控制方式,[13] 控制方式,[14] 控制方式和[15] 控制方式。
8.在磁盘调度算法中,[16] 算法磁头的移动距离最短,[17] 算法被成为电梯算法。
9.存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有10个地址项,Addr[0]~Addr[7]地址项为直接地址,Addr[8]地址项为一次间接地址,Addr[9]地址项为二次间接地址。如果每个盘块的大小为512字节,将文件的字节偏移量4000转换得到的物理块,它存在第[18] _号地址项中,块内偏移量是[19] 。
10.假设系统中有9个资源,N个进程。每个进程需要资源数最多为3,问若使系统不发生死锁,N最大为[20] 。
四、应用题(本题满分40分,每题8分,共含5小题)
1.有5个进程按A、B、C、D、E次序,它们几乎同时到达,预计它们的运行时间为10ms,6ms,2ms,4ms,8ms,其优先级分别为3,5,2,1,4。
(1)采用优先级算法(5为最高优先级),进程的执行顺序是什么?其平均周转时间为多少?其平均带权周转时间为多少?
(2)假定时间片为2ms,采用时间片轮转法,进程的执行顺序是什么?其平均周转时间为多少?其平均带权周转时间为多少?
解答:
(1)采用优先级算法,5个进程的执行顺序为B、E、A、C、D
平均周转时间T=(6+14+24+26+30)/5=100/5=20
平均带权周转时间W=(1+1.75+2.4+13+7.5)/5=6.6/5=5.13
(2)采用时间片轮转法,5个进程的执行顺序为A、B、C、D、E
时间片轮转(q=2):
平均周转时间T=(6+16+22+24+26)/5=94/5=18.8
平均带权周转时间W= (3+4+7.33+3+2.6)/5=9.4/5=3.986
2.UNIX 系统空闲块管理采用成组链接法。如果要创建一个新文件F1,该文件占用4个磁盘块,试问系统将会分配哪4块给该文件,画出该文件创建后上图的变化情况。(S.free 为空闲盘块栈的指针)
解答:
创建一个新文件F1,系统将会分配空闲块N099,N100,N101,N102这4块给该文件,文件创建后上图的变化情况如下:
N101
N4801N4901
…
…
…
3.在实现文件系统时,为了加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块的大小为512B 。文件控制块占用64B ,其中文件名占8B 。通常将文件控制块分解成两部分,第一部分占10B (包括文件名和文件号),第二部分占56B (包括文件号和其他文件属性信息)。假设某一目录共有256个文件控制块,试分别给出分解前和分解后,查找该目录文件的某一文件控制块平均访问磁盘的次数。
解答:
(1)分解前查找该目录文件的某一文件控制块平均访问磁盘的次数=(64*256/512)/2=16
(2)分解后查找该目录文件的某一文件控制块平均访问磁盘的次数=(10*256/512)/2+1=4
4.某请页式系统,主存容量为1MB ,被分成256页,页面大小为4KB ,先有一进程的页表如下:
(1)若给定逻辑地址为9016(十进制),其物理地址为多少? (1)若给定逻辑地址为12300(十进制),其物理地址为多少?
N201
N4801
N4901
…
…
…
解答:
(1)逻辑地址9016=2*4KB+824,页号为2,查页表知,块号为32,
物理地址=32*4KB+824=131896B。
(2)逻辑地址12300=3*4KB+12,页号为3,查页表知,缺页,产生缺页中断。
5.有一只笼子,每次只能放一只动物,猎手向笼子中放猴子,农民向笼子中放猪,动物园等待买笼中的猴子,饭店等待买笼中的猪,试用PV操作写出它们能同步执行的程序。
解答:
设信号灯S1=1,S2=S3=0;
猎手:农民:动物园:饭店:
P(S1); P(S1); P(S2) P(S3)
向笼中放猴子; 向笼中放猪; 卖笼中猴子; 卖笼中猪;
V(S2); V(S3); V(S1); V(S1);
五、附加题(本题满分10分)(本题供同学选做)
现有一按行连续存放的二维数组a:
int a[100][100];
将这个100×100的整型数组初始化为0的程序描述如下:
for(j=0; j<100; j++)
for(i=0; i<100; i++)
a[i][j]=0;
假设每页大小为200字,每个整数占一个字,该程序执行时数组a可使用2个页面,程序本身另外占有其他页面。假定缺页时采用LRU算法。问:
(1)该程序执行时,产生的缺页中断次数是多少?
(2)程序执行完毕时,数组a的哪些元素在内存中?
解答:
(1)该程序执行时,产生的缺页中断次数是5000次
(2)程序执行完毕时,数组a的以下元素在内存
A[0,96],A[0,97],A[0,98],A[0,99]
……
A[99,96],A[99,97],A[99,98],A[99,99]