华文慕课北大操作系统陈向群第六章课后习题解析

  • 1、(5分)

    下列关于管程的描述中,哪一个是不正确的?

     

     A、 

    管程中需要提供互斥量以保证管程的互斥性 

     B、 

    管程有自己的名字 

     C、 

    管程的主要作用是管理共享资源(数据结构) 

     D、 

    进程只能调用管程提供的过程对管程中的数据结构进行处理 

答案:A

管程的互斥性由编译器实现,无需使用互斥量保证互斥性

  • 2、(5分)

    下列哪一个操作不会唤醒或通知等在条件变量上的进程?

     

     A、 

    broadcast() 

     B、 

    notify() 

     C、 

    signal() 

     D、 

    wait() 

答案:D

华文慕课北大操作系统陈向群第六章课后习题解析_第1张图片

  • 3、(5分)

    应用消息缓冲机制完成进程间通信的过程中,下列哪一项不是所必需的?

     

     A、 

    同步互斥信号量 

     B、 

    消息缓冲区 

     C、 

    send/receive原语 

     D、 

    消息队列(指针) 

答案:A

华文慕课北大操作系统陈向群第六章课后习题解析_第2张图片

  • 4、(5分)

    采用共享内存进行进程间通信的方法需要程序员解决的问题是

     

     A、 

    设计共享内存空间的访问原语 

     B、 

    处理进程在使用共享内存过程中的互斥关系 

     C、 

    分配共享内存空间的大小 

     D、 

    保证共享内存空间不被破坏 

答案:B

共享内存的读写涉及到了读者写者问题,需要处理互斥关系

  • 5、(5分)

    MESA管程应用时需要至少2次对条件的检测。(假设线程都有一个进入队列、等待notify的过程,不存在直接通过的情况。)

     

    正确 错误

答案:正确,这也是MESA管程的缺点之一

华文慕课北大操作系统陈向群第六章课后习题解析_第3张图片

  • 6、(5分)

    若管程中同时出现2个进程,需要采取措施使其中一个进程等待。HOARE管程的解决办法是让先进入管程的进程等待。

     

    正确 错误

答案:正确,HOARE管程是先进入的进程先执行,MESA是后进入的不被抢占,继续执行

你可能感兴趣的:(北大操作系统慕课)