程序员操作系统笔试题和面试题答案(二)

更新时间:高考猫

5.进程间的通信如何实现?

  答:现在最常见的进程间通信的方式有:信号,信号量,消息队列,共享内存,管道。信号是使用信号处理器来进行的,信号量是使用P、V操作来实现的。消息队列是比较高级的一种进程间通信方法,因为它真的可以在进程间传送消息。

6.在Windows编程中互斥器(mutex)的作用和临界区(critical section)类似,请说一下二者间的主要区别。

  答:两者的区别是mutex开业用于进程之间互斥,critical section是线程之间的互斥。

7.进程进入等待状态有哪几种方式?

  答:CPU调度给优先级更高的Thread(线程),原先Thread 进入Waiting(等待)状态。阻塞的Thread获得资源或者信号,进入Waiting状态。在时间片轮转的情况下,如果时间片到了,也将进入等待状态。

8.试说明进程在三个基本状态之间转换的典型原因。

  答:a.处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。b.当前进程因发生某事件而无法执行,如访问已被占有的临界资源,就会使进程由执行状态变为阻塞状态。c.当前进程因事件片用完而被暂停执行,该进程便由执行状态变为就绪状态。

9.同步机构应遵循哪些基本准则?

  答:a.空闲让进;b.忙则等待;c.有限等待;d.让权等待。

10.在单处理机环境下,进程间有哪几种通信方式?

  答:a.共享存储器系统通信方式;b.消息传递系统通信方式;c.管道通信方式。

11.试比较消息队列与管道通信机制。

  答:a.所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称pipe文件,管道通信是属于共享存储系统的。b.消息队列通信机制属于消息传递系统通信机制,存在通信链路,有消息的格式,有若干缓冲队列,采用独特的发送原语和接受原语。

12.在请求分页系统中,常采用哪几种页面置换算法?

  答:a.最佳置换算法;b.先进先出算法;c.最近最久未使用LRU置换算法;d.Clock置换算法;e.此外,还有最少使用置换算法和页面缓冲算法。

中国点击率最高的一篇文章 !