操作系统常见问题集锦和答案|S10

2021年3月13日16:37:35 发表评论 842 次浏览

GATE 2008 CS考试中提出了以下问题。

1)使用以下命令分配Unix文件系统中非常大文件的数据块

(一)连续分配

(二)链接分配

(三)索引分配

(D)索引分配的扩展

答案(D)

Unix文件系统使用索引分配的扩展。它使用直接块, 单个间接块, 双重间接块和三重间接块。下图显示了Unix文件系统的实现。

操作系统|套装101

2)计数信号量的P和V操作(其中s是计数信号量)定义如下:

P(s) : s =  s - 1;
  if (s  < 0) then wait;
V(s) : s = s + 1;
  if (s <= 0) then wakeup a process waiting on s;

假定提供了Pb和Vb对二进制信号量的等待和信号操作。两个二进制信号量Xb和Yb用于实现信号量操作P(s)和V(s), 如下所示:

P(s) : Pb(Xb);
  s = s - 1;
  if (s < 0) {
   Vb(Xb) ;
   Pb(Yb) ;
  }
  else Vb(Xb); 


V(s) : Pb(Xb) ;
  s = s + 1;
  if (s <= 0) Vb(Yb) ;
  Vb(Xb) ;

Xb和Yb的初始值分别是

(A)0和0

(B)0和1

(C)1和0

(D)1和1

答案(C)

P(s)和V(s)操作都作为第一步执行Pb(xb)。如果Xb为0, 则将阻止所有执行这些操作的进程。因此, Xb必须为1。

如果Yb为1, 则两个进程可以一个接一个地执行P(s)(在关键部分中包含2个进程)可能成为可能。考虑当s = 1, y = 1的情况。因此Yb必须为0。

3)以下关于同步和异步I / O的哪些陈述不正确?

(A)在同步I / O中完成I / O时调用ISR, 但在异步I / O中不调用ISR

(B)在同步和异步I / O中, 在I / O完成后调用ISR(中断服务程序)

(C)进行同步I / O调用的进程等待, 直到I / O完成, 但是进行异步I / O调用的进程不等待I / O的完成。

(D)在同步I / O的情况下, 等待I / O完成的过程被ISR唤醒, 该ISR在I / O完成之后被调用

答案(B)

I / O操作完成后, 将调用中断服务例程, 并将例程从块状态转换为就绪状态,

因为

执行I / O操作的进程处于阻塞状态, 直到I / O操作完成

同步I / O

.

但是, 执行I / O的进程不会处于块状态, 并且进程会继续执行剩余的指令。异步I / O, 因为当使用I / O操作完成信号机制通知进程数据可用时, 在执行I / O操作时将注册处理程序功能。

因此, 选项(B)为假。

请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。

如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: