计算机操作系统简答题总结
- 格式:docx
- 大小:22.25 KB
- 文档页数:8
简答题
1.什么是进程?进程和程序有什么区别与联系?
进程是程序的一次执行过程,它由程序段、数据段和进程控制块(PCB)三个部分构成。
进程是一个动态的概念,从建立到消亡,有自己的生命周期;而程序是计算机指令的集合,是一个静态的概念,只要用户或系统不主动删除,它会一直存在于计算机中。
在多道程序环境下,程序的执行已经失去了它原有的封闭型和可再现性,程序必须以进程为载体才能并发执行。一个程序能对应多个进程,即一个程序可(同时或不同时)依托多个进程被执行。
附加:为什么要建立线程?线程和进程有什么区别和联系?(见何炎祥教材P51页2.4节)为了减轻程序在并发执行时的时空开销。
2.在进程的整个生命周期中,可能要经历哪几种状态?简述引起各种状态变迁的典型原因。参考解答:在一个进程的生命周期中至少要经历三种不同的状态:就绪状态态、执行状态和阻塞(等待)状态。此即为“三状态模型”。
在三状态模型中,三种状态之间可能的变迁与变迁原因为:
就绪状态->执行状态:排在就绪队列中的进程当获得处理机的时候,会由就绪态变为执行态;
执行状态->就绪状态:
(1)当采用时间片轮转进行处理机调度的时候,一个正在执行的进程执行完一个时间片,则被迫放弃处理机,由执行态变为就绪态,同时调度程序将处理机被分派给下一个就绪队列里的进程;
(2)若采用可剥夺的优先级高者优先的调度方法,当一个进程正处于执行状态的时候,一个更高优先级的进程到来,会使得当前正执行的进程被迫放弃处理机,变为就绪
态,同时调度程序将刚到达的高优先级进程调度到处理机上执行;
(3)采用多级反馈队列调度,当有更高优先级的进程到来时,正在执行的进程会放弃处理机,回到本队列的末尾排队,状态也由执行态转为就绪态;等等。
执行状态->阻塞状态:
(1)一个正在处理机上执行的进程,由于需要I/O操作,放弃处理机,把自己阻塞起来,等待I/O操作的完成;
(2)一个正在处理机上执行的进程,由于执行了P操作而等待,也会把自己置为等待(阻塞)状态;
阻塞状态->就绪状态:
(1)当一个进程等待的I/O操作完成的时候,该进程会被唤醒,由阻塞状态变为就绪状态;
(2)一个由于执行了P(或wait)操作被阻塞的进程,当其它进程释放了它等待的资源(如执行了V(或signal)操作),则该进程被唤醒,由阻塞态变为就绪态;等等。
在三状态模型的基础上增加“创建状态”和“消失状态”,就变为五状态模型;在此基础上再增加“就绪挂起”和“阻塞挂起”两个状态,就成为七状态模型。
3. 什么是临界资源?什么是临界区?举一个临界资源的例子。
在一段时间内只能由一个进程独占的资源叫临界资源,其它进程若也想使用该资源,只有等该资源释放了才能使用。
而使用临界资源的那段代码(或程序)就叫做临界区。
临界资源可以是硬件资源,也可以是软件资源。如打印机、共享变量等都是临界资源的例子。
4.若某资源为临界资源,则
(1)表示该资源的信号量S的值最大为多少?
参考解答:最大为1
(2)当信号量S的值等于1,等于0,等于-2时,各代表什么意义?
参考解答:S=1,表示当前可用资源数量为1,没有进程占用该临界资源;
S=0,表示当前可用资源数量为0,有一个进程正占用该临界资源;
S=-2,表示当前正有一个进程占用该资源,且有2个进程正在排队等待该资源;
(3)若并发的竞争该资源的进程共有n个,则信号量的值应在什么范围变动?
参考解答:信号量的值在1-n到1之间变动——即最小值为1-n,最大值为1。
5.多道程序环境下为什么会产生死锁?处理死锁的基本方法有哪些?
产生死锁的根本原因有两个:一是系统资源不足,不能满足所有并发进程的需要;二是进程推进的顺序不合理。
对死锁进行控制和处理的方法有三类:死锁的预防、死锁的避免、死锁的检测与解除。
1.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?
答:多道程序是作业之间自动调度执行、共享系统资源,并不是真的同时执行多个作业,它是微观上串行,宏观上并行。而多重处理系统配置多个cpu,能真正地同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
2.什么是进程?它与程序有何区别和联系?
答:(1)进程是程序及其数据在计算机上的一次活动程序,它属于一种动态的概念。进程
的运行实体是程序,离开程序进程没有存在的意义,从静态角度看,进程是由程序,数据和进程控制块PCB三部分组成的。而程序是一组有序的指令集合,属于一种静态的概念。(2)进程是程序的一次执行过程,它是动态地创建和消亡的,具有一定的生命期,是暂时存在的;而程序是永久存在的,可长期保存。
(3)一个进程可执行一个或几个程序,一个程序也可以构成多个进程。
3.什么是操作系统?它有哪些主要功能?
答:操作系统是指控制和管理计算机的软、硬件资源,合理组织计算机的工作流程、方便用户使用的程序集合。操作系统的主要功能:处理器管理,内存管理,设备管理,文件管理和用户接口。
1.在操作系统中,P操作和V操作各自的动作是如何定义的?
1.
P操作:
①P操作一次,信号量S-1
②如果S ≥0 表示有资源,当前进程可执行
③如果S<0 无资源,则当前进程进入队列的队尾等待,等另一进程执行V(S)操作后释放资源。此时,|S| 绝对值表示等待资源进程的个数要求
V操作:
①V操作一次,信号量S+1
②如果S >0(有资源,告诉其它进程可以继读)
③如果S ≤0(等待队列中另一进程释放资源后才能执行)