操作系统考试要点及答案.docx
《操作系统考试要点及答案.docx》由会员分享,可在线阅读,更多相关《操作系统考试要点及答案.docx(11页珍藏版)》请在冰豆网上搜索。
操作系统考试要点及答案
1.7试述多道程序设计技术的基本思想
为什么采用多道程序设计技术可以提高资源利用率?
答:
多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。
从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。
从微观上看,某一时刻处理机只运行某道程序。
可以提高资源利用率的原因:
由于任何一道作业的运行总是交替地串行使用CPU外设等资源,即使用
一段时间的CPU,然后使用一段时间的I/O设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU和I/O设备的高度并
行,可以大大提高CPU与外设的利用率。
1-
10、引入SPOILing技术可以在那些方面提高效率能够消除脱机输入输出带来的人工干预麻烦,又保持脱机输入输出系统中作业高速出入主存的特点。
主机与通道之间借助中断机制互相通信。
2.1什么是中断?
什么是异常?
它们有何区别?
答:
中断是指来自CPU执行指令以外的事件发生后,处理机暂停正在运行的程序,转去执行处理该事件的程序的过程。
异常是指源自CPU执行指令内部的事件发生后,处理机暂停正在执行的程序,转去处理该事件的过程。
区别:
广义的中断包括中断和异常,统一称为中断。
狭义的中断和异常的区别在于是否与正在执行的指令有关,中断可以屏蔽,而异常不可屏蔽。
2.2什么是多级中断?
为什么要把中断分级?
试述多级中断的处理原则。
中断分级是根据中断的轻重缓急来排序,把紧迫程度大致相当的中断源归并在同一级,而把紧迫程度差别较大的中断源放在不同的级别。
一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。
这就是多级中断。
这所以引入多级中断是因为:
为使系统能及时的响应和处理所发生的紧迫中断,同时又不至于发生中断信号丢失,计算机发展早起在设计中断系统硬件时根据各种中断的轻重在线路上作出安排,从而使中断响应能有一个优先次序。
多级中断的处理原则:
当多级中断同时发生时,CPU按照由高到低的顺序响应。
高级中断可以打断低级中断处理程序的运行,转而执行高级中断处理程序。
当同级中断同时到时,则按位响应
2.7中断/异常处理为什么要保存现场和恢复现场?
现场应包括哪几方面的内容?
答:
因为中断处理是一项短暂性的工作,逻辑上处理完后还要回到被中断的程序,从其恢复点继续运行。
为了能实现正确的返回,并继续运行下去,在中断处理前后必须保存和恢复被中断的程序现场。
现场应包括:
PC寄存器的内容,通用寄存器以及一些与程序运行相关的特殊寄存器中的内容。
3-3:
什么是挂起状态?
什么是等待状态?
二者的区别。
在现代操作系统中,为了利用系统有限的资源更好地为进程服务,设立了挂起状态。
操作系统为了节省主存,将处于等待状态的进程交换出主存,释放出主存空间。
这时的进程便处在挂起状态。
等待状态:
一个进程正在等待某一事件而暂停运行。
指进程因等待某种事件的发生而暂时不能运行的状态(即使CPU空闲,该
进程也不可运行)他们的主要区别是是否占用主存空间
3.4为什么进程状态会发生变化?
何时变化?
(P54)答:
进程在它的生存周期中,由于系统中各进程并发运行及相互制约的结果,使得它的状态不断发生变化。
状态变化的时机:
空-创建:
当一个新进程被产生来执行一个程序时。
创建-就绪:
当进程被创建完成,初始化后,一切就绪准备运行时。
就绪T运行:
当处于就绪状态的进程被进程调度程序选中后。
运行T结束:
当进程指示它已经完成或者因错流产时。
运行T就绪:
处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;或者在可剥夺的操作系统中,当有更高优先级的进程就绪时。
运行T阻塞:
当进程请求某样东西且必须等待时。
阻塞T就绪:
当进程要等待事件到来时3-6:
进程切换的主要工作是什么?
进程切换是指出立即从一个进程的运行转到另一个进程上运行。
保存处理器的上下文,包括程序计数器和其它寄存器用新状态和其它
相关信息更新正在运行进程的PCB把原来的进程移至合适的队列-就绪、阻塞选择另一个要执行的进程更新被选中进程的PCB从被选中进程中重装入
CPU上下文
3.7详细说明几个引起进程调度的原因。
(P62)答:
1、进程主动放弃处理机时:
正在执行的进程执行完毕。
操作系统在处理进程结束系统调用后应请求重新调度。
正在执行的进程发出I/O请求,当操作系统代其启动外设I/O后,在I/O请求没有完成前要将进程变成阻塞状态,应该请求重新调度。
正在执行的进程要等待其它进程或系统发出的事件时。
如等待另一个进程通讯数据,这时操作系统应将现运行进程挂到等待队列,并且请求重新调度。
正在执行的进程得不到所要的系统资源,如要求进入临界区,但没有得到锁时,这时等锁的进程应自动放弃处理机或者阻塞到等锁队列上,并且请求重新调度。
2、为了支持可剥夺的进程调度方式,在以下情况发生时,因为新就绪的进程可能会按某种调度原则剥夺正运行的进程,因此也应该申请进行进程调度:
当中断处理程序处理完中断,如I/O中断、通讯中断,引起某个阻塞进程变成就绪状态时,应该请求重新调度。
当进程释放资源,走出临界区,引起其他等待该资源进程从阻塞状态进入就绪状态时,应该请求重新调度。
当进程发系统调用,引起某个事件发生,导致等待事件的进程就绪时。
其它任何原因引起有进程从其它状态变成就绪状态,如进程被中调选中时。
3、为了支持可剥夺调度,即使没有新就绪进程,为了让所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度:
当时钟中断发生,时钟中断处理程序调用有关时间片的处理程序,发现正运行进程时间片到,应请求重新调度。
以便让其他进程占用处理机。
在按进程优先级进行进程调度的操作系统中,任何原因引起进程的优先级发生变化时,应请求重新调度。
如进程通过系统调用自愿改变优先级时或者系统处理时钟中断时,根据各进程等待处理机的时间长短而调整进程的优先级。
3.11假设在单处理机上有五个进程(
1、2、
3、4、5)争夺运行,其运行时间分别为10,1,2,1,5秒,其优先级分别为3,1,3,4,2,这些进程几乎同时到达,但在就绪队列中的次序依次为1,2,3,4,5,试回答:
1给出这些进程分别适用轮转法、SPF和非剥夺优先级调度法调度时的运行进度表,其中,轮转法中的时间片取值为
2。
2在上述各算法的调度下每个进程的周转时间和等待时间为多少?
③具有最短平均等待时间的算法是哪个?
答:
轮转法:
时间片进程进程的周转时间:
进程1:
19,进程2:
3,进程3:
5,进程4:
6,进程5:
15进程的等待时间:
进程1:
9,进程2:
2,进程3:
3,进程4:
5,进程5:
10平均等待时间(9+2+3+5+10)15=
5.8SPF算法:
进程12345非剥夺优先级算法进程12345提交时间结束时间8等待时间周
转时间8提交时间09214结束时间119429等待时间09214周转时间119429平均等待时间:
16/5=
3.2平均等待时间:
43/5=
8.6SPF算法具有最短平均等待时间。
4.15理发师睡觉”问题答:
可以将此题看作N个生产者和一个消费者问题。
顾客作为生产者,每到来一个,就将自己放入计数器RC以便让理发师消
费至最后一个产品(顾客),因此顾客进程执行的第一个语句便是RC=RC+
1。
而第一个到来的顾客应该负责唤醒理发师,理发师此时正在信号量WAKEUP上等待((P(WAKEUP该信号量的初值为0),由第一个顾客执行V(WAKEUP。
若顾客不是第一个到达,则在信号量WAIT上等待(P(WAIT该信号量的初值为0),等理发师理完一个顾客后,执行V(WAIT操作便可叫出该顾客理发。
以上过程循环反复,理发师没每理完一个顾客,就令计数器减1,RC=0时
便知此时无顾客,理发师可以继续睡觉,等待下一批顾客到达。
在设信号量MUTEX初值为1),保证对计数器RC的互斥作用。
parbegin顾客进程:
beginP(mutex);rc二rc+1;ifrc=1thenV(wakeup);elseP(wait);V(mutex)理发;end;理发师进程:
beginP(wakeup);repeat理发;P(mutex);rc=rc-1;if(rc!
=0)thenV(wait);V(mutex);untilrc=0;end;parend;
4.28题:
使用银行家算法回答下列问题答:
1、Need的内容为:
[00,0750,1002,0020,0642]
2、系统是处于安全状态。
3、进程2请求0420,不能立即得到满足,因为如果给进程2分配了0420的话,系统将处于不安全状态。
所以不能立即得到满足。
5.5:
多道连续存储管理需那些硬件支持…•答:
需要的硬件支持可以选择两种:
1、上、下界寄存器和地址检查机制;
2、基地址寄存器、长度寄存器和动态地址转换机制。
地址转换的过程也即是地址重定位的过程,也有两种方法实现地址重定位:
1、静态重定位,用户代码中使用相对地址,在将目标代码加载到主存时,装配链接程序通过如下的方法将其装配成绝对地址:
原地址+目标代码所在主存起始地址;
2、动态重定位,它首先将程序在主存的起始地址及其总长度存放于基地址寄存器和长度寄存器,当在执行访存指令时,首先进行越界检查,若不越界,则将地址改成“原地址+目标代码所在主存起始地址”,然后进行访问。
实现存储保护:
当使用第一种硬件机制时,每访问一次主存,地址检查机制将CPU提供的
访存地址与上、下界寄存器的值进行比较。
若介乎上下界之间,则可用该地址访问存储器,否则终止程序的运行。
当使用第二种硬件机制时,,每访问一次主存,它将CPU提供的访存地址
与长度寄存器的值进行比较。
若越界,则终止程序,否则与基地址寄存器中的值相加成为访问贮存的绝对物理地址。
5.18:
驻留集答:
访问的相应逻辑页号为:
0,0,1,1,0,3,1,2,2,4,4,
3。
采用FIFO:
故障数:
6;页故障率:
6/12=50%采用LRU,淘汰上次使用距当前最远的页:
故障数:
7;页故障率为:
7/12=
58.3%采用OPT淘汰下次访问距当前最远的那些页中序号最小的一页:
故障数:
5;页故障率:
5/12=
41.7%
6.2设备控制器与处理机如何通信?
答:
CPU通过向控制器寄存器写命令字来发出I/O命令,控制器接到命令后,完成具体的I/O操作,CPU则反复读取控制器的状态,测试控制器是否完成操作。
或者转向其他工作,当控制器完成相应操作后向CPU发出中断信号。
6.3简述各种不同的I/O控制方式?
答:
主要有三种不同的I/O控制方式:
1、程序直接控制方式。
当遇到一条与I/O相关的指令时,CPU向相应的设备控制器发命令,设备控制器执行相应的操作,将I/O状态寄存器的相应位置上,然后CPU周期性地检查设备控制器的状态寄存器,直到发现I/O操作完成为止。
CPU直接控制I/O操作过程,包括测试设备状态,发送读/写命令与数据。
2、中断驱动方式
CPU向设备控制器发出命令后,继续做其他工作。
当设备控制器准备好CPU交换数据时,设备控制器中断CPU要求服务。
CPU被中断后,执行CPU寄存器和设备控制器之间的数据传输,然后恢复被中断的工作。
3、DMA方式:
当CPU需要读/写数据块时,它给DMA部件发命令,然后继续执行其他的工作。
DMA负责此次I/O的完成,DMA部件每次一个字地将整个数据块直接读取或写入主存,而不需经过CPU寄存器。
当传送过程完成后,DMA部件向CPU发中断信号。
6.11假设对磁盘的请求串为95,180,35,120,10,122,64,68,磁头初始位置为30,试分别画出FCFSSSTFSCANC-SCAN调度算法的磁头移动轨迹及磁头移动的磁道数(磁道号:
0~199)。
答:
FCFS:
FirstComeFirstServed,SSTF:
ShortestSeekTimeFirstSCAN:
扫描C-SCAN:
单向扫描