📑前言
本文主要是【操作系统】——软件设计师——操作系统的文章,如果有什么需要改进的地方还请大佬指出⛺️
🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见
目录
- 📑前言
- 1.采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5( );S2、S4的初值分别为( )
- 2.采用单缓冲区需要花费的时间为( )μs;采用双缓冲区需要花费的时间为( )μs。
- 3.在如下所示的进程资源图中,( )。
- 4.进程P创建了若干个线程,那么( )是不能被这些线程共享的。
- 5.当访问前页面1不在内存时,淘汰表中页号为( )的页面代价最小。
- 📑文章末尾
1.采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5( );S2、S4的初值分别为( )
1.某企业的生产流水线上有2名工人P1和P2,1名检验员P3。P1将初步加工的半成品放入半成品箱B1; P2从半成品箱B1取出继续加工,加工好的产品放入成品箱B2;P3从成品箱B2去除产品校验。假设B1可存放n件半成品,B2可存放m件产品,并设置6个信号量S1、S2、S3、S4、S5和S6,且S3和S6的初值都为0。采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5( );S2、S4的初值分别为( )。
(A) 分别为同步信号量和互斥信号量,初值分别为0和1
(B) 都是同步信号量,其初值分别为0和0
© 都是互斥信号量,其初值分别为1和1
(D) 都是互斥信号量,其初值分别为0和1
(A) n、0
(B) m、0
© m、n
(D) n、m
答案与解析
- 试题难度:一般
- 知识点:操作系统>信号量与PV操作
- 试题答案:[[‘C’],[‘D’]]
- 试题解析:在本题中涉及到的信号量较多,所以先要分析应用场景中哪些地方可能涉及到互斥和同步,这样才能把问题分析清楚。从题目的描述可以了解到整个流程由3名不同的工人协作完成,先进行P1的处理,然后是P2,最后P3,这样要达到协作关系,要使用同步信号量。同时由于P1处理结果会存到B1中,P2再从B1取内容,在此B1不能同时既进行存操作,也进行取操作,这就涉及到互斥。结合配图可以看出:S1信号量是互斥信号量,它确保B1的使用是互斥使用;S5信号量针对B2起到同样的作用。
S2与S4是同步信号量,S2在P1开始放入半成品时执行P操作,代表资源占用,而在P2取出产品时执行V操作,代表资源释放,这说明S2对应的资源是B1的容量n。同理S4对应m。
2.采用单缓冲区需要花费的时间为( )μs;采用双缓冲区需要花费的时间为( )μs。
2.假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为15μs,由缓冲区送至用户区的时间是5μs,在用户区内系统对每块数据的处理时间为1μs,若用户需要将大小为10个磁盘块的Doc1文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为( )μs;采用双缓冲区需要花费的时间为( )μs。
(A) 150
(B) 151
© 156
(D) 201
(A) 150
(B) 151
© 156
(D) 201
答案与解析
- 试题难度:一般
- 知识点:操作系统>磁盘管理
- 试题答案:[[‘D’],[‘C’]]
- 试题解析:
单缓冲区:(15+5)×10+1=201
双缓冲区:15×10+5+1=156
3.在如下所示的进程资源图中,( )。
- (A) P1、P2、P3都是非阻塞节点,该图可以化简,所以是非死锁的
- (B) P1、P2、P3都是阻塞节点,该图不可以化简,所以是死锁的
- © P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,所以是死锁的
- (D) P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的
答案与解析
- 试题难度:一般
- 知识点:操作系统>进程资源图
- 试题答案:[[‘D’]]
- 试题解析:解答本题首先需要了解图所代表的含义。在图中R1与R2代表的是资源,P1-P3代表进程。从资源指向进程的箭头代表有资源分配给了进程,而从进程指向资源的箭头代表进程要申请这个资源(注:每个箭头只代表一个资源或资源请求)。例如:R1一共有2个资源,并将这2个资源中的1个分给了P1,另1个分给了P3,P2此时向R1申请1个资源。
下面开始分析阻塞点,所谓阻塞点就是从这个进程开始执行,会让程序陷入死锁,执行不了。
1、尝试先执行P1:P1向R2申请1个资源, R2一共3个资源,已分配了2个,还剩余1个,所以他能满足P1的申请,给P1分配资源。P1分配到资源之后可以执行完毕,并释放自己占用的所有资源。接下来的P2与P3都能执行完毕,所以P1是非阻塞点。
2、尝试先执行P2:P2向R1申请1个资源,R1一共2个资源,并全部分配出去了,所以目前P2的资源申请无法被满足,既然无法被满足,自然不能执行,也就是阻塞点了。
3、尝试先执行P3:P3向R2申请1个资源, R2一共3个资源,已分配了2个,还剩余1个,所以他能满足P3的申请,给P3分配资源。P3分配到资源之后可以执行完毕,并释放自己占用的所有资源。接下来的P1与P2都能执行完毕,所以P3是非阻塞点。
4.进程P创建了若干个线程,那么( )是不能被这些线程共享的。
4.在支持多线程的操作系统中,假设进程P创建了若干个线程,那么( )是不能被这些线程共享的。
- (A) 该进程中打开的文件
- (B) 该进程的代码段
- © 该进程中某线程的栈指针
- (D) 该进程的全局变量
答案与解析
- 试题难度:容易
- 知识点:操作系统>线程的概念
- 试题答案:[[‘C’]]
- 试题解析:在多线程运行环境中,每个线程自己独有资源很少,只有:程序计数器,寄存器和栈,其他的资源均是共享进程的,所以也只有这些独有资源是不共享的。
5.当访问前页面1不在内存时,淘汰表中页号为( )的页面代价最小。
5.某进程有4个页面,页号为0~3,页面变换表及状态位、访问位和修改位的含义如下图所示。若系统给该进程分配了3个存储块,当访问前页面1不在内存时,淘汰表中页号为( )的页面代价最小。
- (A) 0
- (B) 1
- © 2
- (D) 3
答案与解析
- 试题难度:一般
- 知识点:操作系统>页式存储与页面置换
- 试题答案:[[‘D’]]
- 试题解析:在本题中,内存中的3个页面,都是刚刚被访问过的。所以在此,不能以访问位作为判断标准。只能看修改位,修改位中,只有3号页未被修改,如果淘汰3号页,直接淘汰即可,没有附属的工作要做,而淘汰0号或2号,则需要把修改的内容进行更新,这样会有额外的开销。因此本题选择D选项。