操作系统知识.ppt
《操作系统知识.ppt》由会员分享,可在线阅读,更多相关《操作系统知识.ppt(74页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、SDRJ操作系统知识操作系统知识SDRJ操作系统的功能处理机管理处理机管理1存储管理存储管理2设备管理设备管理3文件管理文件管理4作业管理作业管理5SDRJ处理机管理基本概念v程序与进程v程序的顺序和并发执行v进程的组成程序;数据;进程控制块(PCB)v进程的状态和转换SDRJ程序的顺序和并发执行v程序的顺序执行:各程序段按照先后次序逐个执行。顺序性:程序各程序段严格按照规定的顺序执行封闭性:程序运行时机内各资源只受该程序控制而改变,执行结果不受外界因素影响。可再现性:只要程序执行环境和初始条件相同,程序多次执行,可获得相同结果。v程序并发执行:在多道程序设计技术中,多道程序处于并发执行状态间
2、断性:共享资源或完成同一项任务而相互合作,致使在并发程序间形成了相互制约的关系。相互制约导致并发程序具有“执行暂停执行执行”这种间断性的活动规律。失去封闭性不可再现性SDRJ程序的顺序和并发执行的前驱图图图3-1 三个节点的前驱图三个节点的前驱图图图3-2 程序并发执行的前驱图程序并发执行的前驱图SDRJ进程的状态模型图图3-3 进程的五态模型进程的五态模型SDRJ习题1v(1)是操作系统中可以并行工作的基本单位,也是核心调度及资源分配的最小单位,它由(2)组成,它与程序的重要的区别之一是:(3)。在SMP系统中,操作系统还提供了(4)机制,它是(5)的最小单位。v(1)A.作业B.过程C.函
3、数D.进程v(2)A.程序、数据和标识符B.程序、数据和PCBC.程序、标识符和PCBD.数据、标识符和PCBv(3)A.程序可占有资源,而它不可B.程序有状态,而它没有C.它有状态,而程序没有D.它能占有资源,而程序不能v(4)A.约束B.线程C.共享D.分时v(5)A.存储器分配B.资源分配C.处理器分配 D.网络节点分配v答案:(1)D(2)B(3)C(4)B(5)CSDRJ习题2v一台PC计算机系统启动时,首先执行的是(1),然后加载(2),在设备管理中,虚拟设备的引入和实现是为了充分利用设备,提高系统效率,采用(3)来模拟低速设备(输入机或打印机)的工作。v已知A、B的值,表达式A2
4、/(5A+B)的求值过程,且A、B已赋值,该公式求值过程可用前驱图(4)来表示,若用PV操作控制求值过程,需要(5)的信号量。v(1)A.主引导记录B.分区引导记录C.BIOS引导记录D.引导扇区v(2)A.主引导记录和引导驱动器的分区表,并执行主引导记录B.分区引导记录,配置系统,并执行分区引导记录C.操作系统,如Windows98/NT/2000/XP、UNIX等D.相关支撑软件v(3)A.Spooling技术,利用磁带设备B.Spooling技术,利用磁盘设备C.脱机批处理系统D.移臂调度和旋转调度技术,利用磁盘设备SDRJ习题2v(4)A.B.vCD.v(5)A.3个且初值等于1B.2
5、个且初值等于0C.2个且初值等于1D.3个且初值等于0v答案:(1)C(2)A(3)B(4)A(5)D图图3-4SDRJ进程间通信v进程的同步与互斥进程同步:若干进程为完成一个共同任务而相互合作,由于合作的每一个进程都是独立的、不可预知的速度向前推进,这就需要相互合作的进程在某些协调点处来协调它们的工作。进程之间这种相互合作等待对方消息的协调关系称为进程同步。进程互斥:在多道程序中,各个进程对临界资源的访问需要互斥的进行。v信号量机制利用P、V操作来实现进程的同步和互斥SDRJ信号量机制信号量是操作系统中用作互斥和同步机制的一个共享的整数变量。信号量仅可以由初始化、唤醒(Signal)和等待(
6、Wait)3种操作访问。对于给定的信号量S,等待操作Wait(S)(又称为P操作)定义为:ifS0thenS:=S-1else挂起调用的进程唤醒进程Signal(S)(又称为V操作)定义为:if存在等待的进程then唤醒这个进程elseS:=S+1SDRJ信号量机制给定信号量S,可以定义一个临界区来确保其互斥,即保证在同一时刻这个临界区只能够被一个进程执行。当S被初始化为1时,代码段为:Wait(S)临界区Signal(S)SDRJ临界区v临界区:每个进程中访问临界资源的那段代码称为临界区。v一个概念性代码示例:initialize;visitmemory;printdata;end;临界区临
7、界区P操作操作V操作操作进程进程SDRJ利用信号量来描述前趋关系vvara,b,c:semaphore:=0,0,0;vbeginvparbeginvbeginS1;signal(a);end;vbeginS2;signal(b);end;vbeginwait(b);S3;signal(c);end;vbeginwait(a);wait(c);S4;end;vparendvendSDRJ生产者消费者问题v生产者和消费者之间的公用缓冲池中,具有n个缓冲区,可利用互斥信号量mutex使诸进程实现对缓冲池的互斥使用;利用资源信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。SDRJ
8、生产者消费者问题012345678N-1outoutininP P1 1P PN NC C1 1C CZ Z图图3-5 生产者生产者消费者问题图示消费者问题图示SDRJmutex,empty,full:semaphore:=1,n,0;buffer:array0,1,n-1 of item;in,out:integer:=0,0 Producer:producer item in nextpwait(empty);wait(mutex);buffer(in):=nextp;in:=(in+1)mod n;signal(mutex);signal(full);Consumer:wait(full
9、);wait(mutex);nextc:=buffer(out);out:=(out+1)mod n;signal(mutex);signal(empty);consume item in nextcSDRJ习题3v在某超市里有一个收银员,且同时最多允许有n个顾客购物,我们可以将顾客和收银员看成是两类不同的进程,且工作流程如图3-6所示。为了利用P、V操作正确地协调这两类进程之间的工作,设置了三个信号量S1、S2和Sn,且初值分别为0、0和n。这样图中的a应填写(1),图中的b1、b2应分别填写(2),图中的c1、c2应分别填写(3)。SDRJv(1)A.P(S1)B.P(S2)C.P(Sn)
10、D.P(Sn),P(S1)v(2)A.P(Sn),V(S2)B.P(Sn),V(S1)C.P(S2),V(S1)D.V(S1),P(S2)v(3)A.P(S1),V(S2)B.P(Sn),V(S1)C.P(S2),V(S1)D.V(S1),P(S2)v答案:(1)C(2)D(3)A图图3-6 超市购物流程图超市购物流程图SDRJ习题4v某仓库有两名发货员,一名审核员。当顾客提货时,只要发货员空闲,允许顾客进入仓库提货,顾客离开时,审核员检验顾客提货是否正确。其工作流程如图3-7所示。为了利用PV操作正确地协调他们之间的工作,设置了两个信号量S1和S2,且S1的初值为2,S2的初值为1。图中的a
11、应填写(1);图中的b、c和d应分别填写(2)。SDRJv(1)A.P(S1)B.P(S2)C.V(S1)D.V(S2)v(2)A.P(S2),V(S2)和V(S1)B.P(S1),V(S1)和V(S2)C.V(S1),P(S2)和V(S2)D.V(S2),P(S1)和V(S1)v答案:(1)A(2)C图图3-7SDRJ习题5v若有一个仓库,可以存放P1、P2两种产品,但是每次只能存放一种产品要求:w=P1的数量-P2的数量-iwk(i、k为正整数)若用PV操作实现P1和P2产品的入库过程,至少需要_(1)_个同步信号量及_(2)_个互斥信号量,其中,同步信号量的初值分别为_(3)_,互斥信号
12、量的初值分别为_(4)_。(1)A0B1C2D3(2)A0B1C2D3(3)A0Bi,k,0Ci,kDi-1,k-1(4)A1B1,1C1,1,1Di,kv答案:(1)C(2)B(3)D(4)ASDRJ习题5程序vBeginmutex:=1;S1:=k-1;S2:=i-1;parbeginP1:beginrepeatP(S1);P(mutex);P1产品放入;V(mutex);V(S2);untilfalse;end;SDRJ习题5程序P2:beginrepeatP(S2);P(mutex);P2产品放入;V(mutex);V(S1);untilfalse;end;parendendSDRJ死
13、锁v死锁产生的原因及条件v死锁的处理预防死锁避免死锁检测死锁解除死锁SDRJ系统的安全状态v安全状态指系统能按某种顺序如来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺序完成。若系统不存在这样一个安全序列,则称系统处于不安全状态。v安全状态举例:系统有3个进程P1,P2,P3,系统共有12台磁带机。T0时刻存在的安全序列进程最大需求已分配可用P11053P242P392SDRJ系统的安全状态v如果系统不存在安全序列,则称系统处于不安全状态.并非所有不安全状态都是死锁状态.但当系统进入不安全状态后,便可能进入死锁状态.v只要系统处于安全状态,便可避免死锁状态.v避免死锁的实质是使系统不
14、进入不安全状态.SDRJ银行家算法v算法中的数据结构:A.可利用资源向量Available:Availablej=k 表示系统中现有Rj类资源k个;B.最大需求矩阵Max:Maxi,j=k 表示进程i需要Rj类资源的最大数目为k;C.分配矩阵Allocation:Allocationi,j=k 表示进程i当前已分得Rj类资源的数目为k;D.尚需量Need:Needi,j=Maxi,j-Allocationi,j;SDRJ银行家算法v设Requesti是进程Pi的请求向量。如果Requestj=k,表示进程Pi需要k个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:v(1)如果Re
15、questi=Needi,则转向步骤2;否则,认为出错,因为它所需要的资源数已超过它所宣布的最大值。v(2)如果Requesti=Available,则转向步骤(3);否则,表示系统中尚无足够的资源,Pi必须等待。v(3)系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值:Available:=AvailableRequesti;Allocation:=Allocationi+Requesti;Needi:=Needi-Requesti;v(4)系统执行安全性算法。SDRJ安全性算法(1)设置向量:a.工作向量Work:=Available b.初始时Finishi:=false;
16、当系统中有足够资源分配给进程时,令Finishi:=true。(2)从进程中找一个能满足:a.Finishi=false b.Need=Work找到执行(3),否则,执行(4)(3)执行:Work:=Work+Allocation;Finishi:=ture;goto step(2)(4)所有进程的Finishi:=ture,则系统安全。SDRJ银行家算法举例v假定系统中有五个进程P0,P1,P2,P3,P4和三种类型的资源A,B,C,每种资源的数量分别为10,5,7,在T0时刻的资源分配情况如图所示.SDRJT0时刻的资源分配表资源情况进程MaxABCAllocationABCNeedABC
17、AvailableABCP0 P1P2 P3P4753322902222433010200302211002743122600011431332T T0 0时刻的安全性时刻的安全性:存在一安全序列存在一安全序列,故系统是安全的故系统是安全的.SDRJT0时刻安全序列WorkABCNeedABCAllocationABCWork+AllocationABCFinishP1P3P4P2P0332532743745104712201143160074320021100230201053274374510471057TrueTrueTrueTrueTrueSDRJP1请求资源vP1发出请求向量Requ
18、est(1,0,2),系统按银行家算法进行检查:v(1)Request1(1,0,2)=Need(1,2,2)v(2)Request1(1,0,2)=Available(3,3,2)v(3)系统先假定可为P1分配资源,并修改Available,Allocation和Need向量。v(4)利用安全性算法检查此时系统是否安全。SDRJP1申请资源后的拟分配资源情况进程MaxABCAllocationABCNeedABCAvailableABCP0 P1P2 P3P4753322902222433010200(302)302211002743122(020)600011431332(230)SDRJ
19、习题6v假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为9、8和5。在To时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示。如果进程按_(1)_序列执行,那么系统状态是安全的。vvA.P1P2P4P5P3B.P2P1P4P5P3C.P2P4P5P1P3D.P5P2P4P1P3答案:C货源最大需求量已分配资源数进程R1R2R3R1R2R3P1652121P2221211P3801200P4121120P5344113SDRJ习题6的安全序列WorkR1R2R3NeedR1R2R3AllocationR1R2R3Work+Allocat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 知识
限制150内