操作系统复习试题Word格式.docx
- 文档编号:19581295
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:9
- 大小:64.69KB
操作系统复习试题Word格式.docx
《操作系统复习试题Word格式.docx》由会员分享,可在线阅读,更多相关《操作系统复习试题Word格式.docx(9页珍藏版)》请在冰豆网上搜索。
=Lt时,Bt(n)=Bt(n+1)
n表示分配给程序的实页数,Bt(n)表示t时刻在n个实页中的虚页集合,Lt为t时刻不同虚页的页面数。
由于在主存中保留的是最近使用过的页面。
如果先给某一个程序分配n个主存页面,那么在t时刻,这n个主存页面都是最近使用过的页面。
如果再给这个程序多分配一个主存页面,那么在t时刻,这n+1个主存页面也都是最近使用过的页面。
因此,在这n+1个主存页面中必然包含了前面的n个主存页面。
所以,opt算法是堆栈型算法。
1.读着优先、写者优先(代码)。
读者优先
如果有读者来时,
无读者和写者,新读者可以读;
如有写者等待,但有其他读者正在读,则新读者可以读;
有写者写,新读者则等待
Varwsem:
semaphore;
(initialvalue:
1)
Writer:
while
(1){
<
otheraction>
P(wsem);
writeoperation>
V(wsem);
}
intreadCount=0;
semaphorewsem=1;
semaphoremutex=1;
reader():
otheractions>
P(mutex);
readCount=readCount+1;
if(readCount==1)
V(mutex);
<
readoperations>
readCount=readCount-1;
if(readCount==0)
写者优先
如果有写者来时,
无读者,新写者可以写;
如有读者正在读,则新读者等待;
有其他写者正在写,新写者则等待。
intwriteCount=0;
semaphorewsem,rsem=1;
semaphoremutexY=1;
writer():
P(mutexY);
writeCount=writeCount+1;
if(writeCount==1)
P(rsem);
V(mutexY);
writeoperations>
writeCount=writeCount-1;
if(writeCount==0)
V(rsem);
semaphoremutexX,mutex=1;
P(mutexX);
V(mutexX);
变量wsem用来保证读者与写者之间的互斥,以及写者与写者之间的互斥;
变量writeCount用来记录写者的数目;
变量mutexY用来实现读者对于变量writeCount访问的互斥;
变量readCount用来记录读者的数目;
变量mutexX用来实现读者对于变量readCount访问的互斥;
mutex用来实现rsem上不要有长的排队等待。
2.资源分配图的化简。
可以通过对资源分配图的约简,来判断系统是否处于死锁状态.
资源分配图中的约简方法如下:
(1)寻找一个非孤立且没有请求边的进程结点pi,若无算法结束;
(2)去除所有pi的分配边使pi成为一个孤立结点;
(3)寻找所有请求边均可满足的进程pj,将pj的请求边全部改为分配边;
(4)转步骤
(1).
若算法结束时,所有结点均为孤点,则称资源分配图是可以完全约简的,否则称为不可完全约简的.文献已经证明,系统处于死锁状态的充分必要条件是资源分配图不可完全约简.这一结论称为死锁定理.
定理:
S为死锁状态的充分必要条件是S的资源分配图不可完全约简.
对于问题1,假设进程p3申请资源类r2中的一个实例,由于没有空闲的资源实例,将增加一条申请边(p3,r2),形成图5-2.此时,出现了两个环路:
p1®
r1®
p2®
r3®
p3®
r2®
p1和p2®
p2.进一步分析可以验证,此时系统已经发生死锁,且进程p1、p2和p3都参与了死锁.
对于问题2,此图中亦有一个环路:
r2®
p4®
r1®
p1
然而并不存在死锁.注意观察p2可能会释放资源类r1中的一个资源实例,该资源实例可分配给进程p3,从而使环路断开.
综合上述分析可以看出,如果资源分配图中不存在环路,则系统中不存在死锁;
反之,如果资源分配图中存在环路,则系统中可能存在死锁,也可能不存在死锁.
3.扔球问题。
(1)有一个充分大的池子,两个人分别向池中扔球,甲扔红球,乙扔蓝球,一次扔一个,开始时池中有红、蓝球各一个,要求池中球满足条件:
1<=红球数/蓝球数<=2,用PV操作描述两个进程
信号量初值:
r=1;
b=0
扔红扔蓝
P(r)P(b)
扔一个红扔一个蓝
V(b)V(r)
V(r)
(2)一个充分大的池子,甲乙丙三人扔球,甲扔红,乙扔蓝,丙扔绿。
开始时池子中又红绿蓝球各一个。
要求:
池中球满足要求:
1<
=红/蓝<
=2,且蓝<
=绿<
=红+蓝
r,b1,g=1;
b2=0
扔红扔蓝扔绿
P(r)P(b1)P(g)
扔一个红P(b2)扔一个绿
V(b1)扔一个蓝V(b2)
V(g)V(r)
V(r)
V(g)
4.最佳页面尺寸算法例:
在一个分页系统中,设计算机的内存大小为M,作业平均尺寸为J,一个页表项占x个存储单位,问最佳页面尺寸P是多少?
每个进程需要的页数:
J/P
占用x·
J/P个存储单位
每个进程的内部碎片平均为:
P/2
由页表和内部碎片带来的总开销:
x·
J/P+P/2=M
对P求导,令其等于0,得到方程:
-x·
(J/P^2)+1/2=0
由此得到最佳页面尺寸公式P=2xJ^(1/2)
5.安全性检测算法(已知流程图,写代码)。
数据结构:
Available:
array[1..m]ofinteger;
//系统可用资源
Claim:
array[1..n,1..m]ofinteger;
//进程最大需求
Allocation:
//当前分配
Need:
//尚需资源
Request:
//当前请求
intWork[m];
工作变量,记录可用资源.
intFinish[n];
工作变量,记录进程是否可进行完.
1.Work=Available;
Finish=false;
2.寻找满足如下条件的i:
(1)Finish[i]==false;
(2)Need[i]≤Work[i];
如果不存在,则转步骤4;
3.Work=Work+Allocation[i];
Finish[i]=true;
转步骤2
4.如果对于所有i,Finish[i]=true,则系统处于安全状态,否则处于不安全状态.
6.进程的状态及其转移。
运行:
进程当前处于运行状态。
·
就绪;
进程已准备好运行。
阻塞;
进程等待某些事件发生(如I/O操作)后才能运行。
创建:
进程刚产生,但还未被操作系统提交到可运行进程池中。
消失:
进程被操作系统从可运行进程池中释放。
带有挂起状态的进程状态图:
(a)带有一个挂起状态的进程转换图
(b)带有两个挂起状态的进程转换图
7.进程的状态转换原因:
(1)处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程就由就绪状态变为执行状态
(2)正在执行的进程因发生某事件而无法执行,如暂时无法取得所需资源,则由执行状态转变为阻塞状态。
(3)正在执行的进程,如因时间片用完或被高优先级的进程抢占处理机而被暂停执行,该进程便由执行转变为就绪状态。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习 试题