当前位置:
文档之家› 操作系统作业参考答案及其知识点
操作系统作业参考答案及其知识点
互斥条件:进程互斥使用资源
占有和等待条件:申请新资源时得不到满足等待,不释放已占有资源
不剥夺条件:一个进程不能抢夺其他进程占有的资源
循环等待条件:存在一组进程循环等待资源的
31、何谓银行家算法?叙述其基本原理。
答:
银行家算法是资源分配时的保守算法,系统掌握资源动态申请和使用情况,每次资源申请时用某种分配算法测试安全性,以避免死锁发生。
包含三类基本信息:
(1)标识信息
•PID用于唯一地标识一个进程,分由用户使用的外部标识符和被系统使用内部标识号。
•常用的标识信息有进程标识符、父进程的标识符、用户进程名、用户组名等。
(2)现场信息
•保留进程运行时存放在处理器现场中的各种信息,进程让出处理器时必须把处理器现场信息保存到PCB中,当该进程重新恢复运行时也应恢复处理器现场。
操作系统作业参考答案及其知识点
第一章
思考题:
10、试叙述系统调用与过程调用的主要区别?
答:
(一)、调用形式不同
(二)、被调用代码的位置不同
(三)、提供方式不同
(四)、调用的实现不同
提示:每个都需要进一步解释,否则不是完全答案
13、为什么对作业进程批处理可以提高系统效率?
答:批处理时提交程序、数据和作业说明书,由系统操作员把作业按照调度策略,整理为一批,按照作业说明书来运行程序,没有用户与计算机系统的交互;采用多道程序设计,可以使CPU和外设并行工作,当一个运行完毕时系统自动装载下一个作业,减少操作员人工干预时间,提高了系统的效率。
基本工作原理:当一个进程要发送消息时,先在自己的消息发送区里生成发送的消息;然后向系统申请一个消息缓冲区,把消息从发送区复制到消息缓冲区中;随后该消息缓冲区被挂到接收消息的进程的消息队列上,供接近者在需要时从消息队列中摘下并复制到消息接近区去使用,同时释放消息缓冲区
29、叙述产生死锁的必要条件。
答:
4)动态调度算法
基本思想:由操作系统和应用进程共同完成调度。
应用题:
15、单道批处理系统中,下列三个作业采用FIFO调度算法和最高响应比优先算法进行调度,哪一种算法性能好?请完成下表:
FIFO调度算法
作业
提交时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
10:00
2:00
10:00
12:00
2:00
mutex:semaphor;
empty:semaphor;
empty=100;mutex=1;
信号量和P/V操作的实现过程
Process Pi //每个读者的进程
Begin
p(empty);
p(mutex);
进入登记
v(mutex);
进入阅览室阅读;
p(mutex);
退出登记
v(mutex);
离开阅览室
10、什么是临界区和临界资源?对临界区管理的基本原则是什么?
答:临界区:并发进程中与共享变量有关的程序段。
临界资源:在临界区中共享变量代表的资源。
一次至多允许一个进程进入临界区内
一个进程不能无限地停留在临界区内
一个进程不能无限地等待进入临界区
14、什么是信号量?如何对它们进行分类?
答:信号量,一个进程在某一特殊点上被迫停止执行直到接收到一个对应的特殊变量值,这种特殊变量。
1
2
10:10
1:00
12:00
13:00
2:50
17/6=2.83
3
10:25
0:25
13:00
13:25
3:00
7.2
平均作业周转时间:2:37平均作业带权周转时间W=3.68
最高响应比优先算法
作业
提交时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
10:00
2:00
10:00
12:00
2:00
银行家算法进行计算时必须知道要管理的全部资源信息,包括多少种资源,每种资源的数量,当前有多少个进程,每个进程需要资源的最大数量,要求每个进程获取最大的资源后应该有限时间内释放所有所占的资源。每次资源分配时,新的状态要求必须时安全的,也就是能够找到一个安全序列使所有的进程能获取其申请的最大资源数量,这是此次分配是可行的,如果不能找到一个安全序列则拒绝此次分配。这就是银行家算法的基本原理。
•现场信息包括通用寄存器内容、控制寄存器内容、用户堆栈指针、系统堆栈指针等。
(3)控制信息
•进程调度相关信息
•进程组成信息
•进程间通信相关信息
•进程在二级存储器内的地址信息
•CPU资源的占用和使用信息
•进程特权信息
•资源清单,包括进程所需全部资源、已经分得资源等
40、什么叫模式切换?它与进程切换有何主要区别?
90、试述典型的多CPU调度算法。
答:
1)负载共享调度算法
基本思想:进程并不分配给一个特定处理器,系统维护一个全局性就绪线程队列,当一个处理器空闲时,就选择一个就绪线程占有处理器运行。
2)群调度算法
基本思想:把一组进程在同一时间一次性调度到一组处理器上运行。
3)处理器专派调度算法
基本思想:给一个应用指派一组处理器,一旦一个应用被调度,它的每个线程被分配一个处理器并一直占有处理器运行直到整个应用运行结束。
应用题:
3、有两个优先级相同的进程P1和P2,各自执行的操作如下,信号量S1和S2初值均为0。试问P1、P2并发执行后,x、y、z的值各为多少?
P1:P2:
beginbegin
y:=1;x:=1;
y:=y+3;x:=x+5;
V(S1);P(S1);
z:=y+1;x:=x+y;
P(S2);V(S2)化
mutex:semaphor;
empty,full:semaphor;
empty=100,full=0;mutex=1;
信号量和P/V操作的实现过程
28、进程最基本的状态有哪些?哪些事件可能引起不同状态之间的转换?
答:进程有三个最基本的状态:运行态(running)、就绪态(ready)、等待态(blocked)。
35、何谓进程控制块?它包含哪些基本信息?
答:进程控制块PCB,是操作系统用于记录和刻画进程状态及有关信息的数据结构。也是操作系统掌握进程的唯一资料结构,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。
响应时间:互式进程从提交一个请求(命令)到接收到响应之间的时间间隔。
吞吐率:单位时间内处理的作业数。
89、叙述典型的实时调度算法。
答:
1)单比率调度算法
基本思想:为每个进程分配一个与事件发生频率成正比的优先数。例如,周期为20ms的进程优先数为50,周期为100ms的进程优先数为10,运行时调度程序总是调度优先数最高的就绪进程,并采取抢占式分配策略。
y:=z+y;z:=z+x;
end;end;
答:P1和P2两个进程的头两句是可以并行执行的,而且不是数据相关的。后去语句可根据PV操作原理可知,P1必定先执行,直到P(S2);暂停,此时P2执行,过了V(S2);语句,P1才能继续执行,此时x=10,y=4,z=5。P1和P2进程的最后两个语句执行的顺序关系非常大,因为是数据相关的。
答:CPU的利用率=1-Pn,其中P为程序等待I/O操作的时间占其运行时间的比例
1MB内存时,系统中存放4道程序,CPU的利用率=1-(0.8)4=59%
2MB内存时,系统中存放9道程序,CPU的利用率=1-(0.8)9=87%
所以系统CPU的利用率提高了28%
2、一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始运行。程序A的运行轨迹为:计算50ms,打印100ms,再计算50ms,打印100ms,结束。程序B的运行轨迹为:计算50ms,输入80ms,再计算100ms,结束。试说明(1)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?(2)程序A、B有无等待CPU的情况?若有,指出发生等待的时刻。
4、多道程序设计中CPU利用率的计算
5、操作系统提供的接口:程序接口与系统调用
第二章
思考题:
5、为什么要把机器指令分成特权指令和非特权指令?
答:当前计算机中都采用操作系统来管理资源,控制系统的执行流程,操作系统核心程序能够使用全部指令,但用户程序只能使用机器指令系统的一个子集,即非特权指令。因为用户程序如何使用有关资源管理的特权指令很容易造成系统的混乱,造成系统或用户信息的破坏。
答:模式切换:为了提高系统资源利用率,当中断发生时,暂时中断正在执行的用户进程,把进程从用户状态切换到内核状态,去执行操作系统例行程序以获得服务,这就是一次模式切换。
模式切换不同于进程切换,它并不引起进程状态变化,也不一定引起进程的切换,在完成了中断调用之后,完全可以再通过一次逆向的模式切换来继续执行用户进程。
如果P1先执行,则最后的值为x=10,y=9,z=15
如果P2先执行,则最后的值为x=10,y=19,z=15
4、有一阅览室,读者进入时必须先在一张登记表上登记,该表为每一个座位列出一个表目,包括座号、性命、读者离开时要注销登记信息;假如阅览室有100个座位。试用信号量和P/V操作。
答:
(一)定义两个信号量并初始化
1、过程控制系统(生产过程控制)
2、信息查询系统(情报检索)
3、事务处理系统(银行业务)
19、分时系统中,什么是响应时间?它与哪些因素有关?
答:响应时间是用户提交的请求后得到系统响应的时间(系统运行或者运行完毕)。它与计算机CPU的处理速度、用户的多少、时间片的长短有关系。