上篇博客对操作系统的知识框架有了一个大致的了解和回顾,本篇博客本着以考带学的思想,主要分析一下软考中操作系统部分的试题类型和解析。
利用PV操作实现进程的同步:通过P操作测试消息是否到达,调用V操作通知消息已经准备好。
例题:进程P1、P2、P3、P4的前趋图如下:
若用PV操作控制这几个进程并发执行的过程,则需要设置4个信号量S1、S2、S3、S4,且信号量初值都等于0.下面图中a和b应分别填写_____,c和d应分别填写______。
分析:如前趋图可知我们将信号量分别标志于前趋图上如下图:P1需要向P2和P3分别发送通知消息,所以a填__V(S1)V(S2)___.
同理P2要向P3发送通知消息V(S3)并且P2收到P1的测试消息是否到达所以b填__P(S1)__;P3要向P4发送通知消息V(S4),并且P3收到P1和P2发送的测试消息是否到达,所以c填__P(S2)P(S3)__;P4收到P3发送的测试消息是否到达,所以d填__P(S4)___。
求磁盘读取文件时间题。
假设某磁盘的每个磁道划分划分为9个物理块,每块存放1个逻辑记录。逻辑记录R0,R1,...,R8存放在同一个磁道上,记录的安排顺序如下表所示:
如果磁盘的旋转速度为27ms/周,磁头当前处在R0的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为3ms,则处理这9个记录的最长时间为_____。
分析:∵旋转一周需要27ms,一周有九个物理块。∴一个物理块的读取时间为27/9=3ms。
每个记录的处理时间为3ms,所以当R0被读完并没处理需要(3ms+3ms=6ms)6ms,此时磁头已转到R2处。要向处理R1就需要再转一圈,即需要经过R2-R3-R4-R5-R6-R7-R8_R1,加在一起的读取时间为3*8=24,再加上处理R1的时间3ms所以处理完R1的时间是(3*8+3=27)27ms,同理前八个都是这样处理即(27*8=216)216ms,再加上第九个(3ms+3ms=6ms)6ms,所以最后结果是(27*8+3+3=222ms)222ms。
进程死锁(银行家算法)
具体题型参看我的另一篇博客单击此处
下篇博客将详细分析一些操作系统中难点包括页面淘汰算法、PV操作相关知识及基础知识点总结。