操作系统-面试
1.操作系统的四个特性:并发、共享,虚拟、异步。
2.操作系统的主要功能:处理机管理、存储器管理、设备管理、文件管理、提供用户接口。
3.线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部的并发;
在没有实现线程的操作系统中,进程既是资源分配的基本单位,又是调度的基本单位,它是系统中并发执行的单元。而在实现了线程的操作系统中,进程是资源分配的基本单位,但是线程是调度的基本单位,是系统中并发执行的单元。
引入线程主要有以下4个方面的优点:
1)易于调度。
2)提高并发性。通过线程可以方便有效地实现并发。
3)开销小。创建线程比创建进程要快,所需要的开销也更小。
4)有利于发挥多处理器的功能。通过创建多线程,每个线程都在一个处理器上运行,从而实现应用程序的并行,使每个处理器都得到充分的运行。
4.进程间的通信的几种方式?
管道及命名管道、信号、消息队列、共享内存、信号量、套接字。
5.线程同步的方式:临界区、互斥量、信号量、事件(信号)。
6.进程有哪几种状态?
7.什么是死锁?死锁产生的条件?
1). 死锁的概念
所谓死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去,此时称系统处于死锁状态或系统产生了死锁。通俗的讲,就是两个或多个进程无限期的阻塞、相互等待的一种状态。
2). 死锁产生的四个必要条件
互斥条件、请求与保持条件、不可剥夺条件、循环等待条件。
8.内存管理有哪几种方式(块式、页式、段式、段页式)。
块式管理:把主存分为一大块、一大块的,当所需的程序片断不在主存时就分配一块主存空间,把程序片断load入主存,就算所需的程序片度只有几个字节也只能把这一块分配给它。这样会造成很大的浪费,平均浪费了50%的内存空间,但是易于管理。
页式管理:把主存分为一页一页的,每一页的空间要比一块一块的空间小很多,显然这种方法的空间利用率要比块式管理高很多。
段式管理:把主存分为一段一段的,每一段的空间又要比一页一页的空间小很多,这种方法在空间利用率上又比页式管理高很多,但是也有另外一个缺点。一个程序片断可能会被分为几十段,这样很多时间就会被浪费在计算每一段的物理地址上。
段页式管理:结合了段式管理和页式管理的优点。将程序分成若干段,每个段分成若干页。段页式管理每取一数据,要访问3次内存。
9.页面置换算法:最佳置换算法OPT、先进先出置换算法FIFO、最近最久未使用算法LRU、时钟算法clock(也被称为是最近未使用算法NRU)、改进型Clock算法、LFU最少使用算法LFU。
10.操作系统中进程调度策略有哪几种?:先来先服务调度算法FCFS、最短作业优先调度算法SJF、优先级调度算法(可以是抢占的,也可以是非抢占的)、时间片轮转调度算法(可抢占的)、高相应比算法HRN、多级队列调度算法、多级反馈队列调度算法。
11.局部性原理。
(1). 时间上的局部性:最近被访问的页在不久的将来还会被访问;
(2). 空间上的局部性:内存中被访问的页周围的页也很可能被访问。