操作系统面试题及解答

Question:进程的五种基本状态,以及转换过程?

Answer:

  

 

  注意:阻塞状态不能直接变为运行状态,必须经过就绪之后,由就绪态转换为运行态。 

 

Question:

  进程和线程的区别?

Answer:

区别 进程 线程
根本区别 资源分配的基本单位 调度和执行的基本单位。
开销 每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销 线程可以看做轻量级进程,一个进程的多个线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小
所处环境 在操作系统中能同时运行多任务(程序) 在同一应用程序(同一个进程中)有多个顺序流同时执行(前提是多核CPU)
分配内存 系统在运行时会为每个进程分配不同的内存区域,进程不可以共享内存 除了CPU之外,不会为线程分配内存(线程能使用的资源是他所属进程的资源),线程只能共享这些资源,线程可以共享内存
包含关系 没有线程的进程可以被看做单线程的,如果一个进程拥有多个线程,则执行过程不是一条线顺序执行的,而是多个线程并行执行共桶完成 线程是进程的一部分,不能脱离进程而存在

 

 

 

Question:

  为何线程的切换开销小,而进程的切换开销比较大呢?

Answer:

  因为

 

Question:

  多进程和多线程?

Answer:

 

 

Question:

  并行和并发的区别?

Answer:

  并行:两个或者多个事件在同一时刻发生,只有在多CPU的机器上才行。

  并发:在单核CPU的机器上,宏观上看,两个或者多个事件在同一时间间隔内发生;微观上看,每一时刻,仅有一道程序执行。利用时间片轮转切换进程。

 

Question:

  进程间通信的方式?

Answer:

  1、信号量(互斥信号量、整型信号量、记录型信号量、AND型信号量、信号量集)

  2、共享内存

  3、管道

  4、RPC和Socket

 

Question:

  进程调度的几种算法

Answer:

  1、先到先服务(FCFS)

  2、优先级调度算法

  3、时间片轮转算法

  4、多队列调度算法

 

Question:

  死锁问题

Answer:

  进程继续执行的条件是获得 其他进程所占有的资源,如果其他进程都发生阻塞,谁也不释放资源,每个进程都无限期地等待,出现死锁

 

Question:

  产生死锁的条件

Answer:

  1、互斥的资源:对申请到的资源进行排他性使用。

  2、请求和保持资源:已申请到某些资源,但又需要申请新的资源,而需要申请的资源被其他进行占用,造成阻塞,并且不释放自己已申请的资源。

  3、不可抢占型资源:一个资源在一个进程使用完之前,不能被强占,只能使用完之后自己释放。

  4、循环等待:多个进程对资源的申请形成了一个环。

 

Question:

  怎么避免死锁

Answer:

  1、一个进程运行之前,一次性申请所需的全部资源。优点是不会造成死锁,缺点:造成资源浪费。

  2、如果进程提出新资源的请求不能得到满足的时候,必须释放已经申请到了的资源。

 

Question:

  怎么解除死锁

Answer:

  终止进程,两种方式
  1、终止所有进程

  2、逐个终止进程

  存在的问题:使用什么策略终止进程,很难估计。

 

Question:

  页面置换算法

Answer:

  1、最佳置换算法(Optimal):选择淘汰的页都是以后永不使用的,或者说未来最长时间内不再访问的页面。优点:保证最低的缺页率;缺点:无法实现,因为无法预知进程运行过程需要那些也。但可以用来评价其他算。

  2、先进先出算法(FIFO):优点:实现简单;缺点:只淘汰在主存中停留最久的,不考虑其他问题,可能最常使用的页面是最长访问的页面,所以效率不高。

  3、最近最久未使用算法(LRU):优点:效率高;缺点:实现起来困难,需要硬件上的支持。

  4、最少使用算法(LFU):缺点:并不能真正反应页面的使用情况。

 

Question

  页面置换算法可能引起什么异常?为什么会出现这种异常?

Answer

  可能会出现“抖动”现象。

  当不断增加系统中运行的进程,那么分配给每一个进程的物理块(用来保存页)的数量就会减少,即使使用高效的页面置换算法,也会因为物理块的减少(能保留的页的数量减少),导致频繁的出现缺页现象,不能满足进程正常运行的基本要求,必须请求系统将所需要的页调入内存,使得系统中排队等待页面调进/调出的进程数目增加,降低对磁盘的有效访问,造成每个进程大部分的时间都用于页面的换入换出,几乎不能再去做任何工作,从而导致处理机的利用率急剧下降并趋于0的情况,这个情况就是“抖动”状态。

 

Question:

  磁盘调度算法-扫描(scan)算法

Answer:

  

 

Question:磁盘调度算法-循环扫描(CSCAN)算法

Answer:

 

 

 

posted @ 2018-08-06 20:50  寻觅beyond  阅读(182)  评论(0编辑  收藏  举报
返回顶部