操作系统例题分析.docx
《操作系统例题分析.docx》由会员分享,可在线阅读,更多相关《操作系统例题分析.docx(11页珍藏版)》请在冰豆网上搜索。
操作系统例题分析
一、选择题
1.当()时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中B。
时间片到
C.等待某一事件D。
等待的事件发生
2.操作系统中,wait、signal操作是一种()
A.机器指令B.系统调用命令
C.作业控制命令D.低级进程通信原语
3.下面对进程的描述中,错误的是()。
A.进程是动态的概念B.进程执行需要处理机
C.进程是有生命期的D.进程是指令的集合
4.下列各项工作步骤中,()不是创建进程所必需的步骤。
A.建立一个PCBB.作业调度程序为进程分配CPU
C.为进程分配内存等资源D.将PCB链入进程就绪队列
5.下列关于进程的叙述中,正确的是()。
A.进程通过进程调度程序而获得CPU。
B.优先级是进行进程调度的重要依据,一旦确定不能改变。
C.在单CPU系统中,任一时刻都有1个进程处于运行状态。
D.进程申请CPU得不到满足时,其状态变为等待状态。
6.有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是()。
A.1至–(m-1)B.1至m-1C.1至–mD.1至m
7.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示()。
A.一个进程进入了临界区,另一个进程等待进入
B.没有一个进程进入临界区
C.两个进程都进入了临界区
D.两个进程都在等待
8.如果系统中有n个进程,则就绪队列中进程的个数最多为()。
A.n+1B.nC.n-1D.1
9.一个进程释放一种资源将有可能导致一个或几个进程()。
A.由就绪变运行B.由运行变就绪
C.由阻塞变运行D.由阻塞变就绪
10.在下面的叙述中,不正确的是()。
A.一个进程可创建一个或多个线程
B.一个线程可创建一个或多个线程
C.一个线程可创建一个或多个进程
D.一个进程可创建一个或多个进程
11.下述哪一个选项体现了原语的主要特点()。
A.并发性B.异步性C.共享性D.不可分割性
12.若系统中只有用户级线程,则处理机调度单位是()。
A.线程B.进程C.程序D.作业
13.下面关于线程的叙述中,正确的是()。
A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。
B.线程是资源的分配单位,进程是调度和分配的单位。
C.不管系统中是否有线程,进程都是拥有资源的独立单位。
D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。
14当一进程因在记录型信号量S上执行wait(S)操作而被阻塞后,S的值为()。
A.>0B.<0C.≥0D.≤0
15.只作用于一个进程一次的原语是()。
A.创建B.解除挂起C.阻塞D.挂起
16.进程依靠()从阻塞状态过渡到就绪状态。
A.程序员的命令B.系统服务
C.等待下一个时间片到来D.“合作”进程的唤醒
17.若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是()。
A.3,2,1,0B.3,2,1,0,-1
C.4,3,2,1,0D.2,1,0,-1,-2
19.信箱通信是一种()通信方式。
A.直接B.间接C.低级D.信号量
20.()操作不是wait操作可完成的。
A.为进程分配处理机B.使信号量的值变小
C.可用于进程的同步D.使进程进入阻塞状态
21.下述哪个选项不是管程的组成部分()。
A.局部于管程的共享数据结构B.对管程内数据结构进行操作的一组过程
C.管程外过程调用管程内数据结构的说明
D.对局部于管程的数据结构设置初始值的语句
22.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为()。
A.3B.1C.2D.0
23.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
A.互斥条件B.请求和保持条件
C.不可剥夺条件D.环路等待条件
24.某系统中有3个并发进程,都需要同类资源4个,问该系统不会发生死锁的最少资源数是()。
A.9B.11C.10D.12
25.若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许()个进程参于竞争,而不会发生死锁。
A.5B.2C.3D.4
26.在作业调度算法中,()兼顾了短作业与长作业。
A.先来先服务B.最高响应比优先
C.短作业优先D.优先级调度
27.设文件F1的当前引用计数值位1,先建立F1的符号链接(软连接)文件F2,再建立F1的硬链接文件F3,人后删除F1,此时F2和F3的引用计数值分别是
A.0、1B.1、1C.1、2D.2、1
28.对文件的存取时必须按指针进行,效率较低,采用这种物理结构的是().
A.顺序文件 B.链接文件
C.索引文件 D.多重索引文件
29.若用户总是要求用随机存取方式查找文件记录,则采用索引结构比采用链接结构().
A.麻烦 B.方便
C.一样 D.有时方便有时麻烦
30.下列文件的物理结构中,不利于文件长度动态增长的文件物理结构是().
A.顺序文件B.链接文件C.索引文件D.系统文件
综合题:
信号量问题
1.三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区,P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中,P2每次用getodd()从缓冲区中取出一个奇数并用countodd()统计奇数个数,P3每次用geteven()从缓冲区中取出一个偶数并用counteven()统计偶数个数,用信号量实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。
2.一售票厅只能容纳300人,当少于300人时,可以进入;否则,需在外等候。
若将每一个购票者作为一个进程,请用P、V操作编程,并写出信号量的初值。
3.有一个空笼子,一次只能放入一只动物,有农民、猎人、饭店人员、动物园人员,农民负责向笼中放入羊,猎人负责向笼中放老虎,饭店人员取笼中羊,动物园人员取笼中老虎,用waitsignal原语写出这四种人员并发执行的过程。
4.读者-写者问题哲学家问题
5.用信号量描述前驱图
作业(进程)调度算法
1.先来先服务、短作业优先、高响应比优先,时间片轮转
例如:
有三个作业A(到达时间8:
50,执行时间1.5小时)、B(到达时间9:
00,执行时间0.4小时)、C(到达时间9:
30,执行时间1小时)。
当作业全部到达后,单道批处理系统按照先来先服务、短作业优先、响应比高者优先算法进行调度,每种算法作业被选中的次序是什么,平均周转时间和平均带权周转时间是多少。
进程
到达时间
运行时间
A
8:
50
1.5
B
9:
00
0.4
C
9:
30
1
银行家算法问题:
最大需求矩阵,已分配矩阵、还需要矩阵、可用资源向量,资源总数之间关系
例如:
设系统中有三种类型的资源(A、B、C)和五个进程(P1、P2、P3、P4、P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。
在T0时刻系统状态如表1和表2所示。
系统采用银行家算法实施死锁避免策略。
(1)T0时刻是否为安全状态?
若是,请给出安全序列。
(2)在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?
为什么?
(3)在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?
为什么?
(4)在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?
为什么?
表4.1T0时刻系统状态
进程
最大资源需求量
已分配资源数量
A
B
C
A
B
C
P1
5
5
9
2
1
2
P2
5
3
6
4
0
2
P3
4
0
11
4
0
5
P4
4
2
5
2
0
4
P5
4
2
4
3
1
4
表4.2T0时刻系统状态
ABC
剩余资源数
233
资源分配图的画法及化简问题(判断是否死锁)
如:
系统共有R1类资源3个,R2类资源4个,P1占有R1类2个,P2占有R2类资源3个,P1请求R2类资源2个,P2请求R1类资源2个,画资源分配图,化简
存储管理问题
1、页式管理地址转换
(1)若在一分页存储管理系统中,某作业的页表如下所示。
已知页面大小为1024字节,试将逻辑地址1011(D),2148(D),3000(D),5012(D),03A6(H),06B7(H)转化为相应的物理地址(注:
此处块号即为页面号)。
页号
块号
0
1
2
3
2
3
1
6
(2)某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。
试问:
(1)逻辑地址的有效位是多少?
(2)物理地址需要多少位?
(3)假定某时刻系统用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5C和093C变换为物理地址。
2、段式管理地址转换
如:
在某段式存储管理系统中,有一作业的段表如下表所示,求逻辑地址[0,50],[1,60],[2,90],[3,20]对应的主存地址(按十进制)(其中方括号中的第一个元素为段号,第二个元素为段内位移)
段号
段长
主存起始地址
状态
0
150
500
1
1
50
850
1
2
120
900
1
3
100
0
3、页面置换算法
若某进程分得4个内存块(初始时为空),现对1、2、3、4、5、3、4、1、6、7、8、7、8、9、7、8、9、5、4、5、4、2,分别按照最佳置换算法、先进先出、最近最久未使用算法计算缺页次数.
磁盘调度算法
先来先服务、最短寻道时间优先、扫描算法、循环扫描
如:
书上194-197页
文件管理
1.在UNIX中,假定盘块的大小为1KB,每个盘块号占4字节,索引节点中磁盘地址信息如下表所示,将下列文件的字节偏移量转换为物理地址:
(1)9000
(2)14000(3)350000
解答:
计算字节偏移量9000的逻辑块号和块内偏移量:
逻辑块号为:
INT[9000/1024]=8
块内偏移量为:
9000-8*1024=808
逻辑块号小于8,因此该块为直接块,由图知物理块号为367,块内偏移量为808;
计算字节偏移量14000的逻辑块号和块内偏移量:
逻辑块号为:
INT[14000/1024]=13
块内偏移量为:
14000-13*1024=688
因10≤13<266,该块为一次间接块。
其物理块号为952,块内偏移量为688;
计算字节偏移量350000的逻辑块号和块内偏移量:
逻辑块号为:
INT[350000/1024]=341
块内偏移量为:
35000-341*1024=816
因266≤341<65802,该块为二次间接块。
其物理块号为3333,块内偏移量为816;
2.某系统的文件物理结构采用混合索引分配方式,如果每个盘块的大小为1KB,每个盘块号占4个字节,在文件的索引结点中,共设12个地址项,前十个是直接地址,第十一个存放一次间接地址,第十二个存放二次间接地址,计算此系统允许的文件最大长度可达多大?
3.某系统的文件物理结构采用混合索引分配方式,如果每个盘块的大小为1KB,每个盘块号占4个字节,在文件的索引结点中,共设13个地址项,前十个是直接地址,第十一个存放一次间接地址,第十二个存放二次间接地址,第十三个存放三次间接地址,若一个进程要访问偏移量为263168字节处的数据时,需要经过几次间址?
如书上第六章课后练习10、12、24题
解答:
定义三个资源信号量:
empty代表空单元个数,初值为N;
S1代表奇数个数,初值为0;
S2代表偶数个数,初值为0
定义一个互斥信号量:
mutex用于对缓冲区互斥访问,初值为1
Cobegin
{P1;
P2;
P3;
}
Coend
P1()
While
(1)
{x=produce();
Wait(empty);
Wait(mutex);
Put();
If(x%2==0)
Signal(s2);
Else
Signal(s1);
Signal(mutex)
}
P2()
While
(1)
{
Wait(S1);
Wait(mutex);
Getodd();
countodd();
signal(empty);
signal(mutex);
}
P3()
While
(1)
{
Wait(S2);
Wait(mutex);
Getevev();
counteven();
signal(empty);
signal(mutex);
}
6.有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。
其优先级分别为3,5,2,1和4,这里5为最高优先级。
对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。
(1)先来先服务(按A,B,C,D,E)算法。
(2)优先级调度算法。
(3)时间片轮转算法。
分析与解答
(1)采用先来先服务(FCFS)调度算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示:
执行次序
运行时间
优先数
等待时间
周转时间
A
10
3
0
10
B
6
5
10
16
C
2
2
16
18
D
4
1
18
22
E
8
4
22
30
根据表中的计算结果,5个进程的平均周转时间T为:
T=(10+16+18+22+30)/5=19.2min
(2)采用最高优先级调度(HPF)算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示:
执行次序
运行时间
优先数
等待时间
周转时间
B
6
5
0
6
E
8
4
6
14
A
10
3
14
24
C
2
2
24
26
D
1
1
26
27
它们的平均周转时间为:
T=(6+14+24+26+27)/5=19.4min
(3)如果系统采用时间片轮转(RR)算法,令时间片为2分钟,5个任务轮流执行的情况为:
第1轮:
(A,B,C,D,E)
第2轮:
(A,B,D,E)
第3轮:
(A,B,E)
第4轮:
(A,E)
第5轮:
(A)
显然,5个进程的周转时间为:
T1=30min、T2=22min、T3=6min、T4=16min、T5=28min。
它们的平均周转时间T为:
T=(30+22+6+16+28)/5=20.4min