诚毅学院操作系统期末复习(2014-2015)答案(2)

2019-04-10 09:02

5、 为什么说中断向量的位置是由硬件决定的、其内容是系统初始化时确定的?

6、 什么叫做中断续元?用户栈和系统栈各自有什么用途?

中断续元:用户自编的中断处理程序

用户栈:保存函数之间相互调用的参数、返回断点、局部变量、返回值。

系统栈:保存函数之间相互调用的参数、返回断点、局部变量、返回值;保存中断现场(PSW和PC)。

7、 根据程序错误中断的性质,有哪两种处理策略?可以哪些类型的程序性错误中断,中

断续元会起作用?

两种策略:只能由系统处理的中断、可以由用户处理的中断 8、 处理机调度需要解决哪三个问题?

按照什么原则分配处理器、什么时候分配处理器、如何分配处理器

9、 什么叫做CPU阵发期?

进程对处理器的一次连续使用称为CPU阵发期 10、 什么叫做周转时间?什么叫做(平均)带权周转时间?

周转时间:作业等待时间与处理时间之和

平均带权周转时间:所有作业的带权周转时间与作业道数的比值 11、 什么叫做响应时间?

从提交第一个请求到产生第一个响应所用时间 12、 掌握FCFS、SJF、SRTN、HRN、HPF、RR调度算法,以及调度指标的计算。

13、 什么叫做剥夺式调度?什么叫做非剥夺式调度?

a) 剥夺式:就绪进程可以从运行进程手中抢占CPU b) 非剥夺式:就绪进程不可以从运行进程手中抢占CPU 14、 反馈排队调度算法有哪些特点?

1) 短进程优先处理 2) 设备资源利用率高 3) 系统开销小 15、 什么叫做“交换”?交换的目标是什么?

1) 交换是进程在内存和外存储器之间的调度

2) 目标:缓解内存空间等资源紧张的矛盾、减少并发度以降低系统开销。 3) 主要目标:控制并发度 16、 为什么要实施中级调度?

引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。将内存中的某些进程暂时交换到外存储器,待以后系统并发度较低时再调回内存。

17、 什么是低级调度、中级调度、高级调度?各自的职能是什么?

1) 低级调度:负责分派处理器的调度,也称处理器调度;职能:使被选中的进程真正

进入运行状态。

2) 中级调度:介于低级调度与高级调度之间的调度;职能:负责进程在内存和外存之

间进行交换,以缓解内存资源紧张的矛盾。

3) 高级调度:又称作业调度;职能:负责将作业由输入井调入内存,并为其创建作业

控制进程。 18、 什么是实时调度?按发生的规律分,有哪两类实时任务?

1) 实时调度:满足实时任务各自时间约束条件的调度 2) 分类:随机性实时任务、周期性实时任务 19、 掌握EDF和RMS两个实时调度算法?

P74 20、 完成P79-80题31、32、35。

第四章 互斥、同步与通信

1、 程序顺序执行有哪些特性?

连续性、封闭性、可再现性

2、 程序并发执行有哪些特性?

间断性、非封闭性、不可再现性

3、 什么是Bernstein(伯恩斯坦)条件?并加以说明。

程序p1和p2满足下面条件,则能够保持可再现,因而可以并发执行 R(p1)W(p2)R(p2)W(p1)W(p1)W(p2)??例如: S1: a=x-y; S2: b=z+1; S3: v=a+b; S4: w=v+1;

请问S1和S2是否可并发执行?S3和S4是否可以并发执行?S2和S3是否可以并发执行?

4、 什么叫做与时间有关的错误?有时间有关的错误产生的原因是什么?

与时间有关的错误:由于具体交叉的形成与进程的推进速度有关,而速度是时间的函数,因而将这种错误称为与时间有关的错误。

原因:进程执行交叉、涉及公共变量

5、 什么叫做临界区?什么叫做临界资源?

临界区:访问共享变量的程序段

临界资源:一次只允许一个进程使用的资源

6、 什么叫做进程互斥?请写出进程互斥的基本框架。

进程互斥:多个进程不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误 基本框架: do { entry section //进入控制部分 临界区 exit section //退出控制部分 其余代码 } while (1);

7、 实现进程互斥,临界区管理应该满足哪三个正确性原则?

互斥性、进展性、有限等待性

8、 请分析Dekker互斥算法、Peterson互斥算法、Lamport面包店算法各自的互斥性、

进展性和有限等待性。 P89

9、 什么叫做忙式等待?其与阻塞式等待有哪些区别?

忙式等待:不进入等待状态的等待 区别:阻塞式等待---主动放弃CPU;

忙式等待---不主动放弃CPU,尽管CPU可能被剥夺;

10、 什么叫做原子指令?

该指令在执行时是不可分割的

11、 请写出“测试与设置”原子指令?并给出利用“测试与设置”指令实现互斥的算法。 int test_and_set(int *target){ int temp; temp=*target; *target=1; return(temp); }

互斥算法: int lock;

do{

while test_and_set(&lock) skip;

临界区

lock=0;

}while(1);

12、 请写出“交换”的原子指令?给出利用“交换”指令实现互斥的算法。

void swap(int *a,int *b){ int temp; temp=*a;

*a=*b; *b=temp;

}

互斥算法:

int lock=0(初始=false); int key; do{

key=1; do {

swap(&lock,&key); } while(key==1); 临界区 lock=0; }while(1);

13、 什么叫做进程同步?

一组进程,为了协调其推进速度,在某些点处需要相互等待或者唤醒,进程之间这种相互制约的关系称为进程同步。

14、 请给出信号量类型的定义。

“信号量”是一个具有非负初值的整型变量,并且有一个队列与它关联。

15、 信号量变量的初值有什么要求?

初值必须是非负整数

同步的信号量初值一般为0 互斥的信号量初值一般为1

16、 什么叫做原语?

一段不可间断执行的程序称为原语

17、 分别写出对信号量进行P操作和V操作的操作原语。

P操作原语:

void P(semaphore *s){ s->value--; If(s->value<0)

asleep(s->queue); }

V操作原语:

void V(semaphore *s){

s->value++; If(s->value<=0) wakeup(s->queue); }

18、 请给出信号量元素s.value与s.queue之间的关系。

19、 说出初值分别是0、1、n(>1的值)时信号量的作用。

0为同步 1为互斥

N为子资源个数

20、 某图书馆阅览室有50个座位。进入阅览室的读者需要在登记簿上登记,登记后,如

果有空座位,安排到对应位置上;如果没有空座位,要求在入口等待。当读者离开阅览室时,进行注销登记。此时,如果有读者等待,唤醒等待读者进行阅览室。使用信号量、PV操作实现对阅览室进行管理。 【参考答案】 公共变量:

enum seat[50];(free,used) semaphore S;(50) semaphore mutex;(1)

进入登记控制: int Enter(){ int i; P(S); P(mutex);

for(i=0;i<50;i++)

if(seat[i]==free) break; seat[i]=used; V(mutex); return i; }


诚毅学院操作系统期末复习(2014-2015)答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于VC++的网络即时通信软件的设计与实现

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: