中国MOOC 苏州大学 操作系统考试

中国MOOC 苏州大学 操作系统考试答案解析

主观题
  1. 有四个进程S1、S2、S3和R1,其中S1、S2、S3向缓冲区BUFF发送消息,R1从缓冲区中接收消息。发送和接收的规则如下:
    (1) 缓冲区BUFF任何时候只能存放由不同发送进程发送的3个消息;
    (2) 当缓冲区满后,R1才能取消息;
    (3)3个存放在缓冲区中的消息必须被R1一次接收,接收后才能清除。
    请用信号量机制来实现这4个进程间的同步。
S1, S2两列分别先执行各自的P操作,缓冲区也进行P操作,缓冲区得到S1,S2的消息,然后分别对应R1,R2进行V操作

R1,R2两列进行各自的p操作,然后从缓冲区接收消息,对缓冲区进行V操作,最后各自对应S1,S2进行V操作
  1. 某个请求分页管理系统,具体信息如下:
    (1)页面大小为4KB,读写一次内存数据的时间是100ns,访问一次快表(TLB)的时间是10ns;
    (2)缺页处理的平均时间是20000ns(已含更新TLB和页表等的所有时间);
    (3)进程的工作集大小固定为2个帧,采用最近最少使用置换算法(LRU)和局部淘汰策略。
    (4)TLB初始为空;地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);
    (5)有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。
    假设某进程的页表内容如下表所示。设有虚地址访问序列2362H、1565H、25A5H,请问:
    (1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
    (2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。
    在这里插入图片描述
(1) 根据页式管理工作原理,应先考虑页面大小,以便将页号和页内位移分解出来。页面大小为4KB,即212,则得到页内位移占虚地址12位,页号占剩余高位。可得三个虚地址的页号P如下:
2362H: P=2,访问块表10ns,因初始为空,访问页表100ns得到页框号,合成物理地址后访问主存100ns,共计10ns+100ns+100ns=210ns。

1565H:P=1,访问块表10ns,落空,访问页表100ns,落空,进行缺页中断处理108ns,合成物理地址后访问主存100ns,共计10ns+100ns+108ns+100ns=318n。

25A5H:P=2,访问块表,因第一次访问已将该页号放入块表,因此花费10ns便可合成物理地址,访主存100ns,共计10ns+100ns=110ns。

(2)当访问虚地址1565H时,产生缺页中断,合法驻留集为2,必须从页表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H的对应页框号为101H。由此可得1565H物理地址为101565H。
  1. ‌一个文件有20个磁盘块,假设该文件的文件控制块在内存(如果文件采用索引分配,索引表不在内存)。在下列情况下,请计算在连续分配、隐式链接分配、单级索引分配这三种分配方式下,下列操作分别需要多少次磁盘I/O操作?(每读入或写出一个磁盘块均需要一次磁盘I/O操作。另外,假设在连续分配下,目前的状况是该文件尾部有空闲磁盘块。)

‌(1)在文件开始处添加一个磁盘块并写入内容;
‌(2)在文件结尾处删除一个磁盘块。

(1)连续分配:11次; 隐式链接分配:隐式17次,显式1次; 单级索引分配:3次

(2)连续分配:0次; 隐式链接分配:隐式20次,显式0次; 单级索引分配:2次
  1. 请举例说明在文件系统中引入当前目录的好处。
当一个文件系统含有许多级时,每访问一个文件,都要使用从树根开始直到树叶(数据文件)为止的、包括各中间节点(目录)名的全路径名。这是相当麻烦的事,同时由于一个进程运行时所访问的文件大多仅局限于某个范围,因而非常不便。基于这一点,可为每个进程设置一个“当前目录” ,又称为“工作目录” 。进程对各文件的访问都相对于“当前目录”而进行。此时各文件所使用的路径名,只需从当前目录开始,逐级经过中间的目录文件,最后到达要访问的数据文件。
  1. 假设系统中共有3种资源,并且同时有5个进程在执行,T0时刻的状态如下图,请问:
    在这里插入图片描述(1) 当前状态是安全状态吗?如果是,请给出安全序列。
    (2) 如果P5对资源的请求量是Requests(1,2,1),这个请求可以被满足吗?为什么?
(1) 是安全状态, 安全序列: (P2, P3, P1, P4, P5)
(2) 可以    ​
    ​当执行到P4时,R1:13, R2: 8, R3: 9,    ​(13, 8, 9) > (1, 2, 1)



6. 什么是缓冲?请简述为什么要在核心I/O子系统中引入缓冲机制。

缓冲是两种不同速度设备之间的传输信息时平滑传输过程的常用手段。

引入缓冲技术的原因:
1、  为了进一步缓和CPU和I/O设备之间速度不匹配的矛盾。
2、  提高CPU与I/O设备之间的并行性。
3、  为了减少中断次数和CPU的中断处理时间。如果没有缓冲,慢速I/O设备每传一个字节就要产生一个中断,CPU必须处理该中断。如果用了缓冲技术,则慢速的I/O设备将缓冲区填满时,才向CPU发出中断,从而减少了中断次数和CPU的中断处理时间。
4、  为了解决DMA或通道方式下数据传输的瓶颈问题。DMA或通道方式都适用于成批数据传输,在无缓冲的情况下,慢速I/O设备只能一个字节一个字节的传输信息,这造成DMA方式或通道方式数据传输的瓶颈。缓冲区的设置适应了DMA或通道方式的成批数据传输方式,解决了数据传输的瓶颈问题。


  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值