如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
操作系统面试题准备操作系统面试题准备就只准备了进程线程之类的,再深了一时半会也搞不定了。1.进程现在操作系统的特点:保证安全前提下,程序并发执行,以及系统所拥有的资源被共享和用户随机使用系统。进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。进程的静态描述有:进程由三部分组成:程序,数据集合和进程控制块(pCB)。程序表示要完成的功能,数据集合表示程序运行时的数据部分和工作区。这二者是进程的物质基础。如果一个程序是多进程同时共享执行,则为不可修改的部分,表现为纯码的形式,数据集合为为一个进程独用,为可以修改部分。pCB进程控制块,表示了进程的描述信息、控制信息和资源信息,是进程动态特性的集中反应。是系统感知进程的唯一实体,一个进程的pCB全部或者部分常驻内存。pCB包含的控制信息中有进程的当前状态。进程的的状态只有五种状态:初始态,就绪态,执行态,等待状态和终止状态。运行:进程已经分配到处理机,程序正由处理机执行。等待:进程因为等待某一事件而暂时不能运行的状态。就绪:进程已具备执行条件,但是因为处理机已由其他进程占用,所以暂时不能执行而等待分配处理机。互斥和同步互斥:一组并发进程中的一个或者多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行。不允许两个及以上的共享该资源的并发进程同时进入临界区。临界区:不允许多个并发进程交叉执行的一段程序称为临界区。1、临界区的锁操作方法:给每个临界区设置一把锁,有两个状态,打开或者关闭。步骤如下:关锁操作,如果锁开着就关闭,如果锁关闭则等待打开;执行临界区程序;开锁操作,将锁打开,退出临界区。某个进程进入临界区会检测锁是否打开,如果关闭则等待打开。上锁实现互斥,缺点:影响系统可靠性和效率,比如多并发,每个进程都要测试临界区锁状态,开销很大。存在cpu浪费和不公平现象。2、“信号量”信号量,sem为与临界区内所使用的公用资源有关的信号量。p表示sem-1,V则sem+1,多进程并发时,和上锁不一样,如果无法使用临界区,不是再次检测,而是进入等待队列。sem>=0,表示可供并发进程使用的资源实体数;sem<0,等待使用临界区的进程数。p:(1)sem=sem-1(2)sem>=0,p返回,进程继续执行(3)sem<0,进程被阻塞后与该信号相对应的队列中。V:(1)sem=sem+1(2)sem>0,V停止执行,进程返回调用处,继续执行(3)sem<=0,从该信号的队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。pV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在pV原语执行期间不允许有中断的发生。pV实现互斥:(1)sem初始值为1(2)进程p1进入临界区,执行p操作,sem=0,进程进入临界区执行(3)进程p2进入临界区,执行p操作,sem=-1,p2被阻塞,进入信号对应等待队列(4)p1执行V操纵,sem=0,唤醒p2进入就绪队列,进行调度,进入临界区(5)p2执行V操作,sem=1,恢复初始状态。同步:把异步环境下的一组并发进程,因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。 3.进程,线程,作业,程序。作业:是用户需要计算机完成的某项任务,而要求计算机所作工作的集合。进程:是一个程序对某个数据集的执行过程,是分配资源的基本单位。程序:描述计算机所要完成的独立功能,并在时间上严格得按照前后次序相机地进行计算机操作序列集合,是一个静态的概念。线程:是在进程内调度和占有处理机的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。进程和程序:进程是程序的一次运行活动,是动态的,程序是静态指令;一个进程可以执行一个或者多个程序,同一程序也可由多个进程执行;程序作为资源长期保留,进程则是执行过程,是暂时的。进程和线程:进程是资源管理的基本单位;线程是处理机调度的基本单位。以进程为单位进行处理机切换和调度,切换时间长,资源利用率低;线程为单位,不发生资源变化,切换实践短,效率高。进程和作业: 4.哲学家就餐:有五个哲学家围坐在一圆桌旁,桌中央有一盘通心粉,每人面前有一只空盘子,每两人之间放一只筷子每个哲学家的行为是思考,感到饥饿,然后吃通心粉.为了吃通心粉,每个哲学家必须拿到两只筷子,并且每个人只能直接从自己的左边或右边去取筷子,任一哲学家在自己未拿到两支筷子吃饭前,绝不放下手中的筷子。(1)保证不会出现两个邻座同时要求吃饭思路:邻座使用筷子时的进程互斥,使用信号量。设定五个信号量,初始为1,表示对应编号的筷子,有人使用,信号量执行p操作,邻座需要使用