简答题
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(等待队列中另一进程释放资源后才能执行)
2.二级目录和多级目录的好处是什么?符号文件目录表和基本文件目录表是二级目录吗?
二级目录和多级目录的好处是:
1、层次清楚
2、解决重名问题
3、提高检索目录的速度
符号文件目录表和基本文件目录表不是二级目录,而是实现文件共享的方法。
3.什么是分页?什么是分段?二者主要有何区别?
分页:把程序中的逻辑地址分成大小相等的许多页,把主存储器进行分块,块的大小与页的大小一致.块是进行主存空间分配的物理单位。这样,就可把作业信息按页存放到块中。
分段:作业的地址空间被划分为若干个段,每个段是一组完整的逻辑信息,每个段都有自己的段号,都是从零开始编址的一段连续的地址空间,各段长度是不等的。
区别:(1) 段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的(不可见)。
(2) 页的大小固定不变,由系统决定。段的大小是不固定的,它由其完成的功能决定。
(3) 段式向用户提供的是二维地址空间,页式向用户提供的是一维地址空间,其页号和页内偏移是机器硬件的功能。
(4) 由于段是信息的逻辑单位,因此便于存贮保护和信息的共享,页的保护和共享受到限制。
4. 外设和内存之间常用的数据传送控制方式有哪4种?
.
外设和内存之间常用的数据传送控制方式有:
(1) 程序直接控制方式(CPU直接询问方式)
(2) 中断方式
(3) DMA方式
(4) 通道方式
1.什么是死锁?死锁预防的措施有哪些?为什么?
解:所谓死琐,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。
死锁预防的措施有:(1)屏弃“请求和保持”条件,优点是简单、易于实现且很安全;(2)屏弃“不剥夺”条件,在采用这种方法预防死锁时,进程是在需要资源时才提出请求。这样,一个已经保持了某些资源的进程,当它再提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。这种预防死锁方法,实现起来比较复杂,且要付出很大代价。(3) 摒弃“环路等待”条件,在这种方法中规定,系统将所有的资源按类型进行线形排队,并赋予不同的序号。这种预防死锁的策略与前两种策略比较,其资源利用率和系统吞吐量,都有较明显的改善。
5. SPOOLing 技术如何使一台打印机虚拟成多台打印机?
答:将 一 台独享打印机改造为可供多个用户共享的打印机,是应用 SPOOLing 技术的典型实例。具体做法是:
( 1 )系统对于用户的打印输出,但并不真正把打印机分配给该用户进程, 而是先在输出井
中申请一个空闲盘块区,并将要打印的数据送人其中; ( 2 分)
( 2) 然后为用户申请并填写请求打印表,将该表挂到请求打印队列上。( 2 分)
( 3)若打印机空闲,输出程序从请求打印队首取表,将要打印的数据从输出井传送到内 存
缓冲区,再进行打印, 直到打印队列为空。( 1
6. 1. 缺页中断
7.
8. 2. 通道
9.
10. 3. 临界区
11.
12. 4. 什么是多道程序设计?为什么要采用多道程序设计?
13.
14. 5. 启动和读写一次磁盘包括哪几个具体时间?请简要叙述。
15.
16. 6. .简述死锁的防止与死锁的避免的区别。
17.
展开阅读全文