操作系统(面试宝典)

面试试题 1
  1. 解释操作系统原理中的作业、进程,线程、管程各自的定义。


  • 答案:
  • 作业:用户在一次解题或一个事务处理过程中要求计算机系统所作的集合。它包括用户程序、所需要的数据及控制命令等。作业是一系列有序的步骤组成的。
  • 进程:一个程序在一个数据集合上的一次运行过程。所以一个程序在不同的数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。
  • 线程:线程是进程的一个实体,是被系统独立调度和执行的基本单位。
  • 管程:管程实际上是定义了一个数据结构和在该数据结构上的能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。
  1. 进程间的通信如何实现

  • 答案:
  • 现在最常用的进程间的通信方式有信号、信号量、消息队列、共享内存。
  • 所谓进程通信,就是不同进程之间进行一些“接触”。这种接触有简单,有复杂。机制不同,复杂度也不同。通信是一个广义上的意义,不仅仅指传递一些message。它们的使用方法基本相同,所以只需掌握一种方式即可,记住其他的的使用方法就可以。
  • 信号和信号量是不同的,他们虽然都可用来实现同步和互斥,但前者是使用信号处理器来进行的,后者是使用P,V操作来实现的。
  • 消息队列是比较高级的一种进程间通信方法,因为它真的可以在进程间传递message,甚至传送一个字符串。
  • 一个消息队列可以被多个进程所共享(IPC就是在此基础上进行的);如果进程消息太多,一个消息队列放不下,也可以用多于一个的消息队列。共享消息队列的进程所发送的消息中除了message本身外还有一个标志,这个标志可以指明该消息将由那个进程或者哪类进程接收。每个共享消息队列的进程针对这个队列也会有自己的标志,用来声明自己的身份。
  1. 在windows编程中互斥器(mutex)的作用和临街区(critical section)类似,请说一下二者间的主要区别。

  • 答案:
  • 两者的区别是mutex可以用于进程间的互斥,而critical section 是线程之间的互斥。
  1. 短作业优先----===最短剩余时间作业优先。

猜你喜欢

转载自blog.csdn.net/qq_22613757/article/details/83871050