成都理工操作系统yuzhen老师.docx
《成都理工操作系统yuzhen老师.docx》由会员分享,可在线阅读,更多相关《成都理工操作系统yuzhen老师.docx(9页珍藏版)》请在冰豆网上搜索。
成都理工操作系统yuzhen老师
一、填空题(每空1分,共10分)
1.如果操作系统具有很强的交互性,可同时供多个用户使用,但时间响应不太及时,则属于__分时操作系统__类型;如果操作系统可靠,时间响应及时但仅有简单的交互能力,则属于___实时操作系统___类型;如果操作系统在用户提交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于__批处理操作系统___类型。
2.虚拟设备是通过___SPOOLING___技术,把__独占___设备变成能为若干用户__共享__的设备。
3.磁盘与主机之间传递数据是以__数据块__为单位进行的。
4.静态重定位在__程序装入时___时进行;而动态重定位在__程序执行___时进行。
5.进程调度负责处理机的分配工作。
二、单选题(每题2分,共20分)
1.从用户的观点看,操作系统是(A)。
A、用户与计算机之间的接口B、控制和管理计算机资源的软件
C、合理地组织计算机工作流程的软件 D、由若干层次的程序按一定的结构组成的有机体
2.用V操作唤醒一个等待进程时,被唤醒进程的状态变为(B )。
A、等待 B、就绪 C、运行 D、完成
3.信箱通信是一种(B)通信方式。
A、直接通信 B、间接通信C、低级通信 D、信号量
4.某系统中有3个并发进程,都需要同类资源4个,则该系统不会发生死锁的最少资源数是( B )个。
A、9 B、10 C、11 D、12
5.既考虑作业等待时间,又考虑作业执行时间的调度算法是( A).
A、响应比高者优先 B、短作业优先 C、优先级调度 D、先来先服务
6.系统在( C),发生从目态到管态的转换。
A、发出P操作时 B、发出V操作时
C、执行系统调用时 D、执行置程序状态字时
7.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为:
1、2、3、4、1、2、5、1、2、3、4、5、6时,将产生(D)次缺页中断。
A、7 B、8 C、9 D、10
8.作业在执行中发生了缺页中断,经操作系统处理后,应让其执行( B )指令。
A、 被中断的前一条 B、 被中断的
C、 被中断的后一条 D、 启动时的第一条
9.(B)用作连接大量的低速和中速I/O设备。
A、选择通道B、字节多路通道C、数组多路通道D、以上都不是
10.一个文件的绝对路径名是从(B)开始,逐步沿着每一级子目录向下追溯,最后到指定文件的整个通路上所有子目录名组成的一个字符串。
A、当前目录B、根目录C、多极目录D、二级目录
三、简答题(共20分)
1.试比较进程和程序的区别(6分)
(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。
(2)进程具有并行特征(独立性,异步性),程序则没有。
(3)不同的进程可以包含同一个程序,同一个程序在执行中也可以产生多个进程。
2.产生死锁的必要条件是什么?
(4分)
(1)互斥条件
(2)不剥夺条件
(3)部分分配
(4)环路条件
3.什么是虚拟存储器,其特点是什么?
(5分)
虚拟存储器是一种存储管理技术,其思想是把辅助存储器作为对主存储器的扩充,向用户提供一个比实际主存大得多的逻辑地址空间。
其特点是:
(1)程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行;
(2)在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序;(3)操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段(即具有请求调入和置换功能,只需程序的一部分在内存就可执行)。
4.什么是文件目录?
文件目录中包含哪些信息?
(5分)
一个文件的文件名和对该文件实施控制管理的说明信息称为该文件的说明信息,又称为该文件的目录。
文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上的始址等信息。
另外还可能包含关于文件逻辑结构、物理结构、存取控制和管理等信息。
四、计算题(每题10分,共30分)
1.在某个多道程序系统中,供用户使用的内存空间有100K,系统采用可变分区方式分配内存,优先分配内存的低地址区域且不准移动已在内存中的作业。
现有一作业序列如下表所示。
作业名
到达时间
运行时间(分钟)
要求内存量
A
8:
00
25
15K
B
8:
15
15
60K
C
8:
20
20
50K
D
8:
30
20
20K
E
8:
35
15
10K
假设作业调度和进程调度均采用FCFS算法,问:
(1)作业执行的次序是什么?
(2)各作业的周转时间
(3)平均周转时间
进程的执行情况如下表所示:
作业名
到达时间
装入内存时间
开始运行时间
结束时间
周转时间
A
8:
00
8:
00
8:
00
8:
25
25
B
8:
15
8:
15
8:
25
8:
40
25
D
8:
30
8:
30
8:
40
9:
00
30
E
8:
35
8:
35
9:
00
9:
15
40
C
8:
20
8:
40
9:
15
9:
35
75
(1)作业执行次序是:
A,B,D,E,C
(2)各作业的周转时间分别是:
25,25,30,40,75
(3)作业平均周转时间是:
(25+25+30+40+75)/5=39
2.某操作系统采用可变分区分配存储管理方法,用户区为512K且始址为0,用空闲分区表管理空闲分区。
若分配时采用分配空闲区低地址部分的方案,且初始时用户区的512K空间空闲,对下述申请序列:
Req(300K),req(100K),release(300K),req(150K),req(30K),req(40K),req(60K),release(30K)
回答下列问题:
(1)采用首次适应算法,空闲分区中有哪些空闲块(给出图示,并给出始址、大小)?
(2)采用最佳适应算法,空闲分区中有哪些空闲块(给出图示,并给出始址、大小)?
首次适应算法(用阴影表示空闲)
150K
150K作业
180K
220K
40K作业
280K
60K作业
300K
400K
100K作业
512K-1
分区
大小
起始地址
0
1
2
30K
20K
112K
150K
280K
400K
最佳适应算法(用阴影表示空闲)
150K
150K作业
210K
60K作业
300K
400K
100K作业
430K
470K
40K作业
512K-1
分区
大小
起始地址
0
1
2
30K
42K
90K
400K
470K
210K
3.假定某移动磁盘上,磁头的当前位置为100磁道,磁头正向磁道号增加方向移动。
现有一磁盘读写请求队列:
23,376,205,132,19,61,190,398,29,4,18,40。
请写出:
(1)用最短寻道时间优先算法,列出响应的次序,并计算平均寻道长度。
(2)用电梯调度算法,列出响应的次序,并计算平均寻道长度。
(1)最短寻道时间优先算法
响应的次序为:
132、190、205、61、40、29、23、19、18、4、376、398。
平均寻道长度:
58.3
(2)电梯调度算法
响应的次序为:
132、190、205、376、398、61、40、29、23、19、18、4。
平均寻道长度:
57.7
五、综合分析题(每题10分,共20分)
1、某系统有R1、R2和R3共三种资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况如下表所示,此时系统的可用资源向量为(2,1,2)。
进程
最大资源需求量
已分配资源数量
R1
R2
R3
R1
R2
R3
P1
3
2
2
1
0
0
P2
6
1
3
4
1
1
P3
3
1
4
2
1
1
P4
4
2
2
0
0
2
问题1:
将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来;
问题2:
如果此时P1和P2均发出资源请求向量request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程?
说明你所采用策略的原因。
(1)
系统中资源总量为(9,3,6)
各进程对资源的需求量为:
2,2,2
2,0,2
1,0,3
4,2,0
(2)若此时P1发出资源请求request1(1,0,1),按银行家算法进行检查:
request1(1,0,1)<=need1(2,2,2)
request1(1,0,1)<=available(2,1,2)
试分配并修改相应数据结构,资源分配情况如下:
进程
allocation
need
available
P1
P2
P3
P4
2,0,1
4,1,1
2,1,1
0,0,2
1,2,1
2,0,2
1,0,3
4,2,0
1,1,1
再利用安全性算法检查系统是否安全,可用资源Available(1,1,1)已不能满足任何进程,故系统进入不安全状态,此时系统不能将资源分配给P1。
若此时P2发出资源请求request2(1,0,1),按银行家算法进行检查:
Request2(1,0,1)<=need2(2,0,2)
Request2(1,0,1)<=available(2,1,2)
试分配并修改相应数据结构,资源分配情况如下:
进程
allocation
need
available
P1
P2
P3
P4
1,0,0
5,1,2
2,1,1
0,0,2
2,2,2
1,0,1
1,0,3
4,2,0
1,1,1
再利用安全性算法检查系统是否安全,可得此时刻的安全性分析情况:
进程
Work
Need
Allocation
Work+Allocation
Finish
P2
P3
P4
P1
1,1,1
6,2,3
8,3,4
8,3,6
1,0,1
1,0,3
4,2,0
2,2,2
5,1,2
2,1,1
0,0,2
1,0,0
6,2,3
8,3,4
8,3,6
9,3,6
True
True
True
true
从上述分析中可以看出,此时存在一个安全序列(P2,P3,P4,P1),故该状态是安全的,可以立即将P2所申请的资源分配给它。
2、有三个进程PA、PB和PC合作解决文件打印问题:
PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。
缓冲区的大小等于一个记录的大小。
请用PV操作来保证文件的正确打印。
Empty1,empty2,full1,full2:
semaphore;
Empty1=empty2=1;
Full1=full2=0;
Main()
{
Cobegin
PA();
PB();
PC();
coend;
}
PA()
{
While
(1)
{
从磁盘读一个记录;
P(empty1);
将记录存入缓冲区1;
V(full1);
}
}
PB()
{
While
(1)
{
P(full1);;
从缓冲区1中取出记录;
V(empty1);
P(empty2);
将记录存入缓冲区2;
V(full2);
}
}
PC()
{
While
(1)
{
P(full2);;
从缓冲区2中取出记录;
V(empty2);;
打印记录;
}
}