操作系统面试题

操作系统面试

1.请解释操作系统原理中的作业、进程、线程、管程各自的定义。
答:

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

2.进程间的通信如何实现?
答:现在最常用的进程间通信方式有信号、信号量、消息队列、共享内存。

3.在多重处理系统中,处理死锁的方法有两种:一是防止其发生;二是发生后进行处理。下面办法中属于防止器发生的是哪一个?

  • A.破坏互斥条件
  • B.破坏不可剥夺条件
  • C.破坏循环等待条件
  • D.杀死某个激活死锁的进程
    所谓死锁是指两个或两个以上的进程在执行过程中,因争夺资源造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。
    产生死锁的4个必要条件如下。
  • 互斥条件:一个资源每次只能被一个进程使用。
  • 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
  • 不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。
  • 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
    这4个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。

你可能感兴趣的:(面试,操作系统)