本文章来源地址为:
1.操作系统的发展过程是(
C )
A、原始操作系统,管理程序,操作系统
B、原始操作系统,操作系统,管理程序
C、管理程序,原始操作系统,操作系统
D、管理程序,操作系统,原始操作系统
2.用户程序中的输入、输出操作实际上是由( B )完成。
A、程序设计语言 B、操作系统
C、编译系统 D、标准库程序
3.进程调度的对象和任务分别是( C )。
A、作业,从就绪队列中按一定的调度策略选择一个进程占用CPU
B、进程,从后备作业队列中按调度策略选择一个作业占用CPU
C、进程,从就绪队列中按一定的调度策略选择一个进程占用CPU
D、作业,从后备作业队列中调度策略选择一个作业占用CPU
4.支持程序浮动的地址转换机制是(A)
A、动态重定位 B、段式地址转换
C、页式地址转换 D、静态重定位
5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( C )进行排列。
A、地址从大到小 B、地址从小到大
C、尺寸从小到大 D、尺寸从大到小
6.设计批处理多道系统时,首先要考虑的是(B)。
A、灵活性和可适应性 B、系统效率和吞吐量
C、交互性和响应时间 D、实时性和可靠性
7.当进程因时间片用完而让出处理机时,该进程应转变为( B )状态。
A、等待 B、就绪 C、运行 D、完成
8.文件的保密是指防止文件被( C )。
A、篡改 B、破坏 C、窃取 D、删除
9.若系统中有五个并发进程涉及某个相同的变量A,则变量A的相关临界区是由( D )临界区构成。
A、2个 B、3个 C、4个 D、5个
10.按逻辑结构划分,文件主要有两类:(A)和流式文件。
A、记录式文件 B、网状文件 C、索引文件 D、流式文件
11.UNIX中的文件系统采用(D)。
A、网状文件 B、记录式文件 C、索引文件 D、流式文件
12.文件系统的主要目的是( A )。
A、实现对文件的按名存取 B、实现虚拟存贮器
C、提高外围设备的输入输出速度 D、用于存贮系统文档
13.文件系统中用( D )管理文件。
A、堆栈结构 B、指针 C、页表 D、目录
14.为了允许不同用户的文件具有相同的文件名,通常在文件系统中采用( B )。
A、重名翻译 B、多级目录 C、约定 D、文件名
15.在多进程的并发系统中,肯定不会因竞争( C )而产生死锁。
A、打印机 B、磁带机 C、CPU D、 磁盘
16.一种既有利于短小作业又兼顾到长作业的作业调度算法是( C )。
A、先来先服务 B、轮转 C、最高响应比优先 D、均衡调度
17.两个进程合作完成一个任务。在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的( B )。
A、互斥 B、同步 C、调度 D、伙伴
18.当每类资源只有一个个体时,下列说法中不正确的是( C )。
A、有环必死锁 B、死锁必有环
C、有环不一定死锁 D、被锁者一定全在环中
19.数据文件存放在到存储介质上时,采用的逻辑组织形式是与( A )有关的。
A、文件逻辑结构 B、存储介质特性 C、主存储器管理方式 D、分配外设方式
20.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于( B )。
A、进程相应的程序段的长度 B、进程自身和进程调度策略
C、进程总共需要运行时间多少 D、进程完成什么功能
二、填空题(每空2分,共20分)
1.若信号量S的初值定义为10,则在S上调用了16次P操作和15次V操作后S的值应该为(9)。
2.进程调度的方式通常有(抢占 )和(非抢占)两种方式。
3.每个索引文件都必须有一张( 索引结点 )表,其中的地址登记项用来指出文件在外存上的位置信息。
4.在一请求分页系统中,假如一个作业的页面走向为:4.3.2.1.4.3.5.4.3.2.1.5,
当分配给该作业的物理块数为4时(开始时没有装入页面),采用LRU页面淘汰算法将产生( 8 )次缺页中断。
5.信号量被广泛用于三个目的是( 同步 )、( 互斥 )和描述前趋关系。
6.程序并发执行时的特征是( 间断性 )、( 失去了封闭性 )、( 不可再现性 )和独立性。
三、判断题(每题1分,共10分)
//T:表示对 F:表示错
( T )
1.文件系统中分配存储空间的基本单位不是记录。
(
F )2.具有多道功能的操作系统一定是多用户操作系统。
(
T )3.虚拟存储器是由操作系统提供的一个假想的特大存储器,它并不是实际的内存,其大小可比内存空间大得多。
(
T )4.批处理系统的(主要优点)是系统的吞吐量大、资源利用率高、系统的开销较小。
(
F )5.文件系统中源程序是有结构的记录式文件。
(
F )6.即使在多道程序环境下,普通用户也能设计用内存物理地址直接访问内存的程序。
(
F )7.顺序文件适合建立在顺序存储设备上,而不适合建立在磁盘上。
(
T )8.SPOOLing系统实现设备管理的虚拟技术,即:将独占设备改造为共享设备。它由专门负责I/O的常驻内存进程以及输入、输出井组成。
(
F )9.系统调用是操作系统与外界程序之间的接口,它属于核心程序。在层次结构设计中,它最靠近硬件。
(
F )10.若系统中存在一个循环等待的进程集合,则必定会死锁。
四、程序与算法(共10分)
设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,
另有一个输出进程将P中数据取出并输出。若进程每次操作均以一个缓冲区为单位,
试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。
解:
semaphore mutex=1; //互斥信号量,表示是否有进程正在访问缓冲池
semaphore empty=20; //缓冲池数目
semaphore full=0; //表示缓冲池是否已满
int in,out = 0; //缓冲池输入、输出,数组p[ ]元素的下标
item p [20]; //用数组来存储生产者生产出来的产品
void Producer(){ //描述生产者活动过程的函数
while(ture){ //一直循环着,生产者要天天干活
producer an item in nextp; //生产者生产出一个产品
wait(empty); //判断缓冲池是否有空位置
wait(mutex); //缓冲池有空的位置时,再判断有没有人在用缓冲池
p[in] := nextp; //缓冲池有空位置且没人在用缓冲池时,就将生产出来的产品放入缓冲池中
in := (in+1) mod 20; //数组p[in]的下标加一,为下一次往缓冲池中放入产品做准备
signal(mutex); //释放信号量mutex,表明现在没有人在用缓冲池了
signal(full); //释放信号量full,表明已经将一个产品放入缓冲池中了
}
}
void Consumer(){ //描述消费者活动过程的函数
while(ture){ //一直循环着,消费者的嘴巴是不会停止的
wait(full); //判断缓冲池中是否有产品可以拿来用
wait(mutex); //判断有没有人在用缓冲池
nextc := p[out]; //缓冲池中有产品且没人在用缓冲池时,就从缓冲池中拿走一个产品
out := (out+1) mod 20; //数组p[out]的下标加一,为下一次从缓冲池中拿走产品做准备
signal(mutex); //释放信号量mutex,表明现在没有人在用缓冲池了
signal(empty); //释放信号量empty,表明已经将一个产品从放入缓冲池拿走了
}
}
五、问答题(共16分)
某系统有
A、B、C、D四类资源可供五个进程P1 .P2 P3. P4. P5共享。
系统对这四类资源的拥有量为:A类3个、B类14个、C类12个、D类12个。
进程对资源的需求和分配情况如下:
进程
|
已占有资源
|
最大需求数
|
A
B C D
|
A
B C D
| |
P1
|
0
0 1 2
|
0
0 1 2
|
P2
|
1
0 0 0
|
1
7 5 0
|
P3
|
1
3 5 4
|
2
3 5 6
|
P4
|
0
6 3 2
|
0
6 5 2
|
P5
|
0
0 1 4
|
0
6 5 6
|
按银行家算法回答下列问题:
(
1)现在系统中的各类资源还剩余多少?(4分)
(
2)现在系统是否处于安全状态?为什么?(6分)
(
3)如果现在进程P2提出需要A类资源0个、B类资源4个、C类资源2个和D类资源0个,系统能否去满足它的请求?请说明原因。
答:
(
1)A:1;B:5;C:2;D:0
(
2)need矩阵为:
P1 0 0 0 0
P2 0 7 5 0
P3 1 0 0 2
P4 0 0 2 0
P5 0 6 4 2
存在安全序列,如P1,P3,P4,P5,P2,所以安全
(
3)能,因为试探分配后,可用资源为1,1,0,0。可找到安全序列,所以可分配。
六、计算题(第1题6分;第2题10分;第3题8分;共24分)
1.某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。
假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:
页号
|
物理块号
|
0
|
5
|
1
|
10
|
2
|
4
|
3
|
7
|
则逻辑地址0A5D(H)所对应的物理地址是什么?(6分)
答:
0A5D(
H)=0000 1010 0101 1101
2号页对应4号块,所以物理地址是0001 0010 0101 1101
即
125D(H)。
2.设有三道作业,它们的提交时间及执行时间由下表给出:
作业号 提交时间 执行时间
1 8.5 2.0
2 9.2 1.6
3 9.4 0.5
试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间(时间单位:小时,以十进制进行计算;要求写出计算过程)(
10分)
FCFS: 作业号 提交时间 执行时间 开始时间 完成时间 周转时间
1 8.5 2.0 8.5 10.5 2.0
2 9.2 1.6 10.5 12.1 2.9
3 9.4 0.5 12.1 12.6 3.2
平均周转时间
=(2.0+2.9+3.2)/3=2.7(小时)
SJF: 作业号 提交时间 执行时间 开始时间 完成时间 周转时间
1 8.5 2.0 8.5 10.5 2.0
2 9.2 1.6 11.0 12.6 3.4
3 9.4 0.5 10.5 11.0 1.6
平均周转时间
=(2.0+3.4+1.6)/3=2.3(小时)
3.假定当前磁头位于100号磁道,进程对磁道的请求序列依次为55,58,39,18,90,160,150,38,180。
当采用先来先服务和最短寻道时间优先算法时,总的移动的磁道数分别是多少?(请给出寻道次序和每步移动磁道数)(8分)
FCFS:
服务序列依次为:55,58,39,18,90,160,150,38,180
移动的磁道数分别是:
45, 3, 19, 21, 72, 70, 10, 112,142
总的移动的磁道数是:
494
SSTF:
服务序列依次为:90,58,55,39,38,18,150,160,180
移动的磁道数分别是:
10, 32, 3, 16, 1, 20, 132, 10, 20
总的移动的磁道数是:
244