GATE 2008 CS考试中提出了以下问题。
1)使用以下命令分配Unix文件系统中非常大文件的数据块
(一)连续分配
(二)链接分配
(三)索引分配
(D)索引分配的扩展
答案(D)
Unix文件系统使用索引分配的扩展。它使用直接块, 单个间接块, 双重间接块和三重间接块。下图显示了Unix文件系统的实现。
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)为假。
请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。
如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。