操作系统试题整理 - 图文 联系客服

发布时间 : 星期日 文章操作系统试题整理 - 图文更新完毕开始阅读ccd36c33cfc789eb172dc8e8

简答1简述进程的状态及其转换的原因(图)

进程在其生存期内可能处于如下三种基本状态之一: 1) 运行态(Run): 进程占有处理机资源,正在运行。2) 就绪态(Ready): 进程已分配到除cpu以外所有的必要资源,只要在获得cpu,便可执行3) 阻塞态(Wait):正在执行的程序由于某事件二暂时无法继续执行便放弃处理机而出于暂停状态(1)就绪状态→执行状态:进程分配到CPU资源

(2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成。 简答2分页和分段有何区别?

a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点; b.对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;第二页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;第三分页的作业地址空间是一维的,而分段的作业地址空间是二维的。

简单3比较静态重定位和动态重定位。

1)地址转换时刻:静态重定位是在程序运行之前完成地址转换的;动态重定位却是将地址转换的时刻推迟到指令执行时进行。

2)谁来完成任务:静态重定位是由软件完成地址转换工作的;动态重定位则由一套硬件提供的地址转换机构来完成。

3)完成的形式:静态重定位是在装入时一次集中地把程序指令中所有要转换的地址全部加以转换;而动态重定位则是每执行一条指令时,对其地址加以转换。

4)完成的结果:实行静态重定位,原来的指令地址部分被修改了;实行动态重定位,只是按照所形成的地址去执行这条指令,并不对指令本身做任何修改。

简答4什么是虚拟设备?请说明SPOOLing系统是如何实现虚拟设备的。

虚拟设备是指通过虚拟技术,可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用。由于多台逻辑设备实际上并不存在,而只是给用户的一种感觉,因此被称为虚拟设备。

SPOOLING系统中,作业执行前,操作系统已将作业通过独占设备预先输入到磁盘或磁鼓上一个特定的存储区域(称之为\输入井\)存放好,称为\预输入\,此后,作业执行使用数据时不用再启动独占设备读入,而把这一要求转换成从辅助存储器中读入。另一方面,作业执行中,也不必直接启动独占设备输出数据,而只要将作业输出数据写入磁盘或磁鼓中的特定存储区域(称之为\输出井\)存放,当作业执行完毕后,由操作系统通过相应的输出设备来组织信息输出,称为\缓输出\。这样做可以提高独占设备的利用率,缩短作业的执行时间。这样,由于一台设备可以和辅助存储器中的若干存储区域相对应,所以在形式上就好像把一台输入设备(或输出设备)变成了许多虚拟的输入设备(或输出设备),即把一台不能共享的输入设备(或输出设备)转换成了一台可共享的缓冲输入设备(或输出设备),使用户产生一个\错觉\,好像他们各自都有一台专用的字符设备,从而实现虚拟设备。 简答5什么是死锁?发生死锁的四个必要条件是?

死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进; 必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。

第1页 共22页

1. 分时系统的特征:多路性 独立性 及时性 交互性

2. 进程是作为分配资源的基本单位,线程是作为独立运行和独立调度的基本单位 3. 并发和共享是操作系统的两个最基本的特征。(虚拟性、异步性)

4. 处理机管理的主要功能是创建和撤销进程(线程),对诸进程(线程)的运行进行协调,实现进程(线

程)间的信息交流,以及按照一定的算法把处理机分配给进程(线程)。

5. 程序顺序执行特征:顺序性、封闭性、可再现性;程序并发特征:间断性、失去封闭性、不可再现性 6. 前驱图必须不存在循环 有向无循环图

7. 进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的

基本单位,一个能与其他进程并发执行的进程。PCB是进程存在的唯一标志

8. 原子操作是指一个操作所有动作要么全做要么全不做。是一个不可分割的基本单位,不允许中断,在

管态下执行,常驻内存。

9. 进程同步两种制约关系:间接制约(共享某种资源)、直接制约(进程合作)

10. AND同步机制的基本思想:将进程在整个运行过程中需要的所有资源,一次性全部分配给进程。嗲进

程使用完后一起释放也称wait操作 11. 记录型信号量机制遵循“让权等待”原则. 1)消费者和生产者(记录型信号量)

(AND信号量)

2)哲学家进餐问题(记录型信号量)(AND信号量)

第2页 共22页

3)读者—写者问题(记录型信号量)

(AND型信号量)

4)和尚喝水

第3页 共22页

12. 管道机制必须提供三方面协调能力:互斥、同步和确定对方是否存在

13. 创建进程的过程:OS发现请求创建调用创建原语、申请空白PCB、分配资源、初始化进程控制块、插

入就绪队列。撤销进程的过程:从PCB集中检索出PCB读出状态、终止子进程、归还资源、移除PCB 14. 同步机构应遵循的基本准则是:空闲让进、忙则等待、有限等待、让权等待原因:为实现进程互斥进

入自己的临界区。

S1S2S3S4S5S615.

S7

在生产者消费者问题中,如果缺少了signal(full)戒signal(empty),对执行结果有何影响?

如果缺少signal(full),那么表明从第一个生产者进程开始就没有改变信号量full 值,即使缓冲池产品已满,但full 值还是0,这样消费者进程执行wait(full)时认为缓冲池是空而取不到产品,消费者进程一直处于等待状态。

如果缺少signal(empty),在生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品,这时empty=0,full=n,那么每当消费者进程取走一个产品empty 值并不改变,直到缓冲池取空了,empty 值也是0,即使目前缓冲池有n 个空缓冲区,生产者进程要想 再往缓冲池中投放产品也会因为申请不到空缓冲区被阻塞。

16.在生产消费者问题中,如果将两个wait 操作即wait(full)和wait(mutex)互换位置,戒者将signal(mutex)不signal(full)互换位置,结果如何?

将wait(full)和wait(mutex)互换位臵后,可能引起死锁。考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,则当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者进程执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使试图通过执行wait(mutex)操作而进入自己的临界区的其他生产者和所有消费者进程全部进入阻塞状态,这样容易引起系统死锁。若signal(mutex)和signal(full)互换位臵后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位臵。

例 1)有两个程序,A程序按顺序使用CPU l0s,使用设备甲5s,使用CPU 5s,使用设备乙10 s,最后使用CPU l0s。B程序按顺序使用设备甲10s,他用CPU 10s,使用设备乙5s,使用CPU 5s,使用设备乙10s。在顺序环境下先执行A程序再执行B程序,CPU的利用率是多少? 根据题意,A程序的运行时间为:10+5+5+10+10=40 s, 其中cpu的运行时间为:10+5+10=25s。 B程序的运行时间为:10+10+5+5十10=40s, 其中cpu的运行时间为;10+5=15s。 cpu的利用率为:(15+25)/(40+40)=50%

2)设有n个进程共享一个程序段,对如下两种情况: (1)如果每次只允许一个进程进入该程序段;

(2)如果每次最多允许m个进程(M<=n)同时进入该程序段。 试问:所采用的信号量初值是否相同?信号量值的变化范围如何? 所采用信号量的初值不相同。 在情况(1)中,信号量的初值为1,

第4页 共22页