操作系统试题Word文件下载.docx
《操作系统试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统试题Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
对临界资源应采取同时访问方式来实现共享。
对临界资源应采取互斥访问方式来实现共享。
只要是并发执行的程序,就可以共享临界资源。
2.在进程调度中,为了照顾短进程用户,应采取B调度算法;
为了使紧急任务能得到及时处理,应采取E调度算法;
为了使交互型进程具有合理的响应时间,应采取C调度算法;
能使长进程、短进程及交互型进程的用户都能接受,应采取D调度算法。
先来先服务B:
短进程优先C:
时间片轮转D:
多级反馈队列
E:
基于优先级剥夺
1.不能被多个进程同时访问的资源称为临界资源,为实现这种资源的共享,应采取互斥访问方式。
2.正在执行的进程因时间片用完而被暂停执行,此时应变为就绪状态;
正在执行的进程因等待某一事件而进入阻塞状态,当事件到时应变为就绪状态。
3.下列关于进程调度的叙述中正确的是D。
CPU繁忙型进程的优先级应高于I/O繁忙型进程的优先级。
资源要求多的进程,其优先级应高于资源要求少的进程。
在引入动态优先级的系统中,随着进程等待时间的增加,其优先级将随之降低。
在引入动态优先级的系统中,随着进程执行时间的增加,其优先级将随之降低。
4.死锁的四个必要条件是互斥、不剥夺、请求和保持和环路。
1.说明进程和程序的关系与差异。
2.说明PCB与进程的关系。
每个进程对应一个PCB。
在进程的整个生命周期,PCB是进程存在的唯一标志,OS借助PCB对进程进行管理与控制。
即
进程创建时,OS为其配置一个PCB;
进程调度时,OS依据PCB中的优先级等;
进程执行前后,OS利用PCB保护与恢复现场;
进程执行中,OS有时利用PCB实现与其它进程的同步及通信;
进程终止时,OS回收PCB。
3.为什么说多级反馈队列进程调度法能较好地满足用户需要?
4.在解决死锁问题的几种方法中,哪一种方法最容易实现?
哪一种方法使资源利用率最高?
5.UNIX系统V为什么把PCB分为进程表项和U区?
四、算法题
1.设进程A、B的执行代码如下:
进程A:
进程B:
for(i=0;
i<
3;
i++)for(i=0;
i++)
{{
P(&
S);
P(&
Q);
a;
b;
V(&
V(&
}}
其中,S、Q为信号量。
在下列每种条件下,进程A、B的并发执行是否会发生死锁?
若不会死锁,给出一种可能的执行序列。
1)S、Q的初值均为1。
不会死锁。
可能的一个执行序列:
Pa(&
S),a,Va(&
Q),A阻塞
Pb(&
Q),b,Vb(&
S),Pb(&
S),B阻塞
Q),Pa(&
Q),A结束
S),B结束
2)S、Q的初值均为0。
会死锁。
3)S的初值为0,Q的初值为1。
B先执行,而后交替。
S),B阻塞
S),B结束
2.设有三个进程:
输入进程Pi、计算进程Pc与输出进程Po,其功能如下:
Pi:
不断地从键盘读入字符,放入缓冲区Buf1。
Pc:
不断地从Buf1取字符,转换成大写字母后,放入缓冲区Buf2。
Po:
将Buf2中的字符输出。
设缓冲区Buf1、Buf2的长度分别为m、n,要求利用信号量写出进程Pi、Pc和Po的算法。
设置下列共享变量:
Mutex1=0;
//访问Buf1的互斥信号量
Mutex2=0;
//访问Buf2的互斥信号量
Avail1=m,Used1=0;
//表示Buf1中可用、占用缓冲的资源信号量
Avail2=n,Used2=0;
//表示Buf2中可用、占用缓冲的资源信号量
Pi:
While
(1)
{
P(Avail1);
P(Mutex1);
读入一个字符,放入Buf1;
V(Mutex1);
V(Used1);
}
Pc:
P(Used1);
从Buf1取一个字符,放入变量Ch1;
V(Avail1);
Ch1=Upper(Ch1);
//转换成大写
P(Avail2);
P(Mutex2);
将Ch1放入Buf2;
V(Mutex2);
V(Used2);
Po:
P(Used2);
从Buf2取一个字符,启动打印机输出;
V(Mutex2);
V(Avail2);
3.设某操作系统提供了进程间通信的共享内存机制,利用该机制实现应用进程间通信的消息队列。
4.假设有四道作业,它们的进入时刻与执行时间如下所示:
作业号
进入时刻(时)
执行时间(小时)
1
10.00
0.4
2
10.10
1.0
3
10.20
0.6
4
10.30
0.2
在单道程序环境下,分别采用先来先服务和最短作业优先调度算法,试说明它们的调度顺序及平均周转时间。
四道作业的运行时间表如下:
作业
运行时间
(小时)
FCFS
SJF
完成时刻(时)
周转时间(小时)
10.40
11.40
1.3
12.20
2.1
12.00
1.8
11.20
1.9
10.60
0.3
FCFS:
调度顺序:
作业1(10.00—10.40),作业2(10.40—11.40),作业3(11.40—12.00),作业4(12.00—12.20)
平均周转时间(小时)=(0.4+1.3+1.8+1.9)/4=1.35
SJF:
作业1(10.00—10.40),作业4(10.40—10.60),作业3(10.60—11.20),作业2(11.20—12.20)
平均周转时间(小时)=(0.4+2.1+1.0+0.3)/4=0.95
5.假定某多道程序设计系统,有供用户使用的内存空间100KB,磁带机2台,打印机1台,系统采用可变分区方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入输出操作的时间忽略不计。
现有5道作业的资源请求表如下所示:
进输入井时刻(HH:
MM)
要求计算时间(分钟)
要求内存空间(KB)
申请磁带机数(台)
申请打印机数(台)
8:
00
25
15
20
10
30
60
5
35
假设作业调度采用先来先服务算法,优先分配内存低地址区且不准移动已在内存中的作业,在内存中的作业平分CPU时间,以作业进入输入井到得到计算结果的时间定义为周转时间。
现要求给出:
1)作业被调度的次序。
2)最大的作业周转时间。
3)最小的作业周转时间。
4)作业的平均周转时间。
5)作业全部执行结束时刻。
5道作业的运行情况如下:
时刻作业调度/完成情况空闲磁带机数空闲打印机数内存情况
00调度作业110高85KB空闲
20作业2等待(资源不满足),调度作业300高25KB空闲
30作业1完成11高25KB、低15K空闲
8:
30作业2等待(资源不满足),调度作业401高5KB、低15K空闲
9:
00作业3完成11高5KB、中60K、低15K空
00调度作业210
10作业4完成20
15作业2完成21
15调度作业5
40作业5完成
5道作业的运行时间表如下:
进入时刻(HH:
(分钟)
开始时刻(HH:
结束时刻(HH:
周转时间(分钟)
8.20
9:
40
55
65
1)作业被调度的次序:
1,3,4,2,5
2)最大的作业周转时间:
65分钟
3)最小的作业周转时间:
30分钟
4)作业的平均周转时间:
(30+40+40+55+65)/5=46分钟
5)作业全部执行结束时刻:
第3部分内存管理
1.静态重定位是在程序的B过程中进行的;
动态重定位是在程序的C过程中进行的。
编译B:
装入C:
执行D:
修改
2.在可变分区内存管理中,首次适应算法、最佳适应算法及最差适应算法分别要求空闲区链最好以空闲区A、C和D顺序链接。
首址递增B:
首址递减C:
大小递增D:
大小递增
3.对重定位内存管理方式,重定位寄存器应A。
整个系统设置1个B:
每个进程设置1个C:
每个执行进程设置1个
为代码段与数据段各设置1个
4.在请求调页系统中,页表的状态位用于D,访问位与修改位用于B,外存起始地址用于C。
页面分配B:
页面置换C:
页面调入D:
页面访问E:
页面修改
5.在请求调页