其中,N和M是正整数。
试用P、V操作描述产品A与产品B的入库过程。
答:
我们可以设置两个信号量来控制A、B产品的存放数量,sa表示当前允许A产品比B产品多入库的数量;sb表示当前允许B产品比A产品多入库的数量。
初始时,sa为M-1,sb为N-1。
当往库中存放入一个A产品时,则允许存入B产品的数量也增加1:
当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。
产品A、B的入库过程描述如下:
intmutex=1;/*互斥信号量*/
intsa=M-1;
intsb=N-1;
main()
{while
(1)取一个产品;
{if(取的是A产品)
{p(sa);
p(mutex);
将产品入库;
v(mutex);
v(sb);
}else/*取的产品是B*/
{p(sb);
p(mutex);
将产品入库;
v(mutex);
v(sa);
}
}
}
3.有一页式系统,其页表存放在内存中。
(1)、如果对内存的一次存取需要1.5微秒,问实现一次页面访问的存取时间是多少?
(2)、如果系统增加有快表,平均命中率为85%,当页表项在快表中时,其查找时间忽略为0,问此时的存取时间为多少?
答:
(1)、2*1.5us=3us
(2)、85%*1.5us+15%*2*1.5us=1.725us。
4.在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。
试用FIFO和LRU两种算法计算出程序访问缺页率。
答:
走向
2
3
2
1
5
2
4
5
3
2
5
2
物
理
块
2
2
2
2
5
5
5
5
3
3
3
3
3
3
3
3
2
2
2
2
2
5
5
1
1
1
4
4
4
4
4
2
中断
缺
缺
缺
缺
缺
缺
缺
缺
缺
用FIFO调度算法产生缺页次数9次。
缺页率:
9/12=0.75.
走向
2
3
2
1
5
2
4
5
3
2
5
2
物
理
块
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
1
1
1
4
4
4
2
2
2
中断
缺
缺
缺
缺
缺
缺
缺
LRU算法缺页次数7次。
缺页率:
7/12=0.58.
5.I/O控制可用哪几种方式实现?
各有何优缺点?
答:
I/O控制过程可用三种方式实现:
作为请求I/O操作的进程实现;作为当前进程的一部分
实现;由专门的系统进程——I/O进程完成。
第一种方式请求对应I/O操作的进程能很快占据处理机但要求系统和I/O操作的进程应具有良好的实时性。
第二种方式不要求系统具有高的实时性,但I/O控制过程要由当前进程负责。
第三种方式增加了一个额外的进程开销,但用户不用关心I/O控制过程。
6.什么是缓冲池?
设计一个数据结构来管理缓冲池。
答:
缓冲池指一个内存块的集合,这些内存块采用页面的形式。
缓冲池的结构
由若干个大小相同的缓冲区组成.当某进程需要使用缓冲区时,提出申请,由管理程序分配给它,用完后释放缓冲区.这样可用少量的缓冲区为更多的进程服务.
publicclassSyncQueue{
publicSyncQueue(intsize){
_array=newObject[size];
_size=size;
_oldest=0;
_next=0;
}
publicsynchronizedvoidput(Objecto){
while(full()){
try{
wait();
}catch(InterruptedExceptionex){
thrownewExceptionAdapter(ex);
}
}
_array[_next]=o;
_next=(_next+1)%_size;
notify();
}
publicsynchronizedObjectget(){
while(empty()){
try{
wait();
}catch(InterruptedExceptionex){
thrownewExceptionAdapter(ex);
}
}
Objectret=_array[_oldest];
_oldest=(_oldest+1)%_size;
notify();
returnret;
}
protectedbooleanempty(){
return_next==_oldest;
}
protectedbooleanfull(){
return(_next+1)%_size==_oldest;
}
protectedObject[]_array;
protectedint_next;
protectedint_oldest;
protectedint_size;
}
7.使用文件系统时,通常要显式地进行OPEN和CLOSE进行操作。
答:
(1)显式open操作完成文件的打开功能,将基本文件目录中内容读入用户活动的文件表中,并在系统文件中记录打开的次数;显式close操作完成文件的关闭功能,撤销用户活动文件表中的相应表项,改变系统活动文件的打开次数,如果需要将被改动过的文件目录信息写回基本文件目录中。
(2)可以取消显式得open和close操作,如果取消上述操作,系统在进行文件操作前需判断文件是否已打开,若未打开,应自动完成打开文件,已建立用户和文件间的联系;同时,应在系统结束时关闭已打开的所有文件,更新系统的基本文件目录。
(3)取消显式OPEN和CLOSE操作使得文件的读写变得复杂。
因为在每次读写前都要判断文件是否已打开,此外,系统在结束时要做一些额外的工作,已完成close应该完成的操作。
四、证明题
1、考虑由n个进程共享的具有m个同类资源的系统,证明:
如果对i=1,2,…,n,有0答:
令每个进程请求共享资源的最大量相等,且为x,(0此刻,系统剩余的可用资源数为:
m-n*(x-1)。
当m–n*(x-1)≥1时,即x≤(m+n-1)/n时,系统不会出现死锁的。
因此得出,系统中所有进程的最大需求量之和n×x≤(m+n-1)时,系统是不会发生死锁的。
所以,n个进程的最大需求量之和小于m+n时,系统与死锁无关。
2.若系统中有作业1、2、3几乎同时到达,已知它们的运行时间依次为a、b、c,且满足关系式a
答:
采用短作业优先算法调度时,三个作业的总周转时间为:
Tl==a+(a+b)+(a+b+c)=3a+2b+c若不按短作业优先算法调度,不失一般性,设调度次序为:
J2、J1、J3。
则三个作业的总周转时间为:
T2=b+(b+a)+(b+a+c)=3b+2a+c则令②-①式得到:
T2-Tl=b-a>0可见,采用短作业优先算法调度才能获得最小平均作业周转时间.
操作系统原理复习题二
一、选择题
1、下列选择中, D 不是操作系统关心的主要问题。
A、管理计算机裸机 B、设计、提供用户程序与计算机系统的界面
C、管理计算机系统资源 D、高级程序设计语言的编译器
2、操作系统中采用多道程序设计技术提高了CPU和外部设备的 A 。
A、利用率B、可靠性
C、稳定性D、兼容性
3、在操作系统中,处理机负责对进程进行管理和调度,对系统中的信息进行管理的部分通常称为 C 。
A、数据库系统B、软件系统
C、文件系统D、检索系统
4、所谓 B 是指将一个以上的作业放入内存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其它资源。
A、多重处理B、多道程序设计
C、实时处理D、共行执行
5、下面关于操作系统的叙述中正确的是 A 。
A、批处理作业必须具有作业控制信息。
B、分时系统不一定都具有人机交互功能。
C、从响应时间的角度看,实时系统与分时系统差不多。
D、由于采用了分时技术,用户可以独占计算机的资源。
6、分配到必要的资源并获得处理机时的进程状态是 B 。
A、就绪状态B、执行状态
C、阻塞状态D、撤消状态
7、对进程的管理和控制使用 C 。
A、指令B、原语
C、信号量D、信箱
8、下面对进程的描述中,错误的是 D 。
A、进程是动态的概念B、进程执行需要处理机
C、进程是有生命期的D、进程是指令的集合
9、信箱通信是一种 B 通信方式。
A、直接B、间接
C、低级D、信号量
10、产生死锁的四个必要条件是:
互斥、 B 、循环等待和不剥夺。
A、请求与阻塞B、请求与保持
C、请求与释放D、释放与阻塞
11、发生死锁的必要条件有4个,要防止死锁的发生,可以通过破坏这4个必要条件之一来实现,但破坏 A 条件是不太实际的。
A、互斥B、不可抢占
C、部分分配D、循环等待
12、资源的按序分配策略可以破坏 D 条件。
A、互斥使用资源B、占有且等待资源
C、非抢夺资源D、循环等待资源
13、银行家算法在解决死锁问题中是用于 B 的。
A、预防死锁B、避免死锁
C、检测死锁D、解除死锁
14、 C 是作业存在的唯一标志。
A、作业名B、进程控制块
C、作业控制块D、程序名
15、设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为 B 。
A、1小时B、5小时
C、2.5小时D、8小时
16、既考虑作业等待时间,又考虑作业执行时间的调度算法是 A 。
A、响应比高者优先B、短作业优先
C、优先级调度D、先来先服务
17、作业生存期共经历4个状态,它们是提交、后备、 B 和完成。
A、就绪B、运行
C、等待D、开始
18、虚拟存储器的最大容量 B 。
A、为内外存容量之和B、由计算机的地址结构决定
C、是任意的D、由作业的地址空间决定
19、把作业地址空间使用的逻辑地址变成内存的物理地址称为 B 。
A、加载B、重定位
C、物理化D、逻辑化
20、在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数 D 。
A、减少B、增加
C、无影响D、可能增加也可能减少
21、在可变式分区分配方案中,某一作业完成后,系统收回其内存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是 D 。
A、无上邻空闲区也无下邻空闲区B、有上邻空闲区但无下邻空闲区
C、有下邻空闲区但无上邻空闲区D、有上邻空闲区也有下邻空闲区
22、如果I/O所花费的时间比CPU处理器时间短得多,则缓冲区 D 。
A、最有效B、几乎无效
C、均衡D、以上均不是
23、通道又称I/O处理机,它用于实现 A 之间的信息传输。
A、内存与外设B、CPU与外设
C、内存与外存D、CPU与外存
24、如果I/O设备与存储进行数据交换不经过CPU来完成,这种数据交换方式是 C 。
A、程序查询B、中断方式
C、DMA方式D、无条件存取方式
25、在采用SPOOLing技术的系统中,用户的打印结果首先被送到 A 。
A、磁盘固定区域B、内存固定区域
C、终端D、打印机
26、选择作业调度算法时常考虑的因素之一是使系统有最高的吞吐率,为此应 B 。
A、不让处理机空闲B、处理尽可能多的作业
C、使各类用户都满意D、不使系统过于复杂
27、现有3个同时到达的作业J1、J2和J3,它们的执行时间分别为T1、T2和T3,且T1系统按单道方式运行且采用短作业优先算法,则平均周转时间是 C 。
A、T1+T2+T3B、(T1+T2+T3)/3
C、(3T1+2T2+T3)/3D、(T1+2T2+3T3)/3
28、 A 是指从作业提交给系统到作业完成的时间间隔。
A、周转时间B、响应时间
C、等待时间D、运行时间
29、一作业8:
00到达系统,估计运行时间为1小时。
若10:
00开始执行该作业,其响应比