第04章-资源管理技术_第1页
第04章-资源管理技术_第2页
第04章-资源管理技术_第3页
第04章-资源管理技术_第4页
第04章-资源管理技术_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DOSWindows9XWindowsNTLinuxUNIXWindowsCE第4章资源管理技术所谓操作系统就是能有效地管理计算机系统中的各种软、硬件资源,合理地组织计算机的工作流程,为用户创造良好工作环境的系统软件。4.1操作系统的概念一、操作系统的功能与任务

OS是最基本的、核心的系统软件,是加在系统硬件上的第一层软件,是硬件的首次扩充。其作用有如下几个方面:(1)管理系统资源(2)为用户提供资源共享的条件和环境,并对资源的使用进行合理调度(3)提供输入输出的方便环境,提供良好的用户界面(4)规定用户的接口,进行各种错误处理操作系统的五大功能

操作系统功能文件管理进程管理(处理机管理)存储器管理作业管理设备管理二、OS的发展过程1、第一阶段(手工操作阶段)输入纸带(卡片)、电传打字机输出结果、在控制台上用搬键输入命令等;没有OS,只能用机器指令控制、操作计算机;用户独占整个系统资源,利用率低;CPU等待人工操作;用户既是操作员又是程序员;既用户必须是计算机专家;主要用于科学计算。面临的问题:人机矛盾日益突出、系统资源利用率低。2、第二阶段(成批处理系统)

为解决人机矛盾,提高资源利用率,人们很自然想到:让计算机保持不间断工作、减少人工干预程度。于是产生了把“零散的单一程序处理”变为“集中的成批程序处理”的处理方式。“批处理”操作系统由此而产生;被称为“第1代操作系统”。系统特点:把一批性质相同的程序(例如,求解不同边界条件的微分方程)按序存放在存储介质中;

一次性提交给计算机进行处理;减少了手工操作的时间,使系统有相对较长的连续运行时间,从而提高了CPU利用率。操作特点:

程序员和操作员有了明确的分工;程序员负责把实际问题抽象为计算机能够求解的模型,再用算法语言把它编为可在计算机上运行的程序;而上机操作则由操作员来完成;开始摆脱手工操作方式,由批处理监管程序来完成成批程序的处理。

面临的问题:

高速CPU和低速I/O的矛盾加剧。由于计算机技术的发展,CPU处理速度提高很快,但I/O的速度却很慢,系统整体效率没有得到应有的提高。3、第3阶段(执行程序系统和多道的引入)

为解决高速CPU和低速I/O不匹配的矛盾,在硬、软件资源方面做了巨大的改进,由此诞生了许多新技术:

高质量、高效率的高级语言编译器:

FORTRAN、COBOL、PASCAL等;分时系统将CPU划分为很小的时间片,采用循环轮作方式处理多道程序;

CPU和I/O的并行处理技术;包括:通道技术、缓冲技术、多道处理技术、中断技术等。

由此产生了第三代操作系统。系统特点:多道处理一个CPU同时处理多个程序;同时将多个程序装入内存、并同时运行的机制;大大提高了CPU的利用率;通道技术将I/O处理从CPU的控制下独立出来的一套处理机制,也称为“I/O处理机”;CPU不再直接控制I/O设备,而是通过通道去控制,从而实现了CPU和I/O设备之间的并行工作,缓解了CPU和I/O速度不匹配的矛盾;(例如显卡的发展)中断技术在程序运行中,出现了某种紧急事件,必须暂时中止现行程序,转去处理此事件,然后再恢复中断程序的运行技术。操作特点:操作更加简单;例如,MS-DOS、UNIX、WINDOWS;功能更加强大;五大功能由此实现;应用程序丰富多彩;计算机应用已广泛涉及到各行各业、各个领域。面临的问题:CPU利用率低的矛盾更加激化。(与内存的矛盾最突出)(频率越高越好?)

现有处理技术和手段已不适应应用的实时处理需求。4、第4阶段

随着计算机技术和硬件技术的发展,特别是大容量存储器的问世,促进了软件技术的发展,从而产生了功能更强大、更完善的第四代操作系统。

系统特点:微机操作系统的诞生,MS-DOS;多用户操作系统;例如,UNIX;基于图形界面操作环境的操作系统;例如,Windows;网络操作系统;例如,WindowsNT;“客户机/服务器”模式。浏览器操作系统(NC)多媒体技术面临的问题:由于数据信息的含义拓宽为包括“声音、图像、影视等多媒体信息,因此,信息传输的“瓶径”问题显得格外突出。网上大流量的传输需求与线路带宽的矛盾上升为主要矛盾。三、操作系统的分类(访问方式)

1、批处理操作系统(BatchProcessing)2、分时系统(TimeSharing)(远程登录技术)3、实时系统(RealTime)(实时监控)4、通用操作系统(Windows,Linux)批处理操作系统:解决:用户操作速度太慢与计算机处理速度极快之间的矛盾,提高了计算机系统的吞吐量,提高了系统资源的利用率。特点:不需人工干预,进行批量处理。批处理系统又分为单道批处理系统和多道批处理系统。

缺点:处理过程中,用户不能干预。分时系统:分时系统是多道程序的变种,每个用户都通过一个联机终端使用计算机系统。

分时系统与批处理系统的区别:在批处理系统中,一个作业可以长时间地占用CPU直至该作业执行完成;而在分时系统中,一个作业只能在属于它的那个时间片内使用CPU,时间一到,系统将剥夺作业的CPU使用权,把CPU分配给其他的作业使用。特点:同时性、独立性、及时性、交互性必须考虑:系统的响应时间。系统核心:时间片轮流调度技术。影响系统响应时间的因素:用户数目,时间片的长短以及作业调度所必须的系统开销等。例:有人说:“分时系统中分时时间片的长短问题无所谓,并不影响终端用户得到的及时响应。”结论:分时时间片的长短问题是一个重要问题,它将直接影响用户得到的及时响应。”实时系统:(特殊的分时系统)分类:实时过程系统、实时信息处理系统。

特点:对时间有严格的限制,要求计算机能对外部随机事件做出及时响应,并处理。

采用:时间片分时技术。

特点:及时性、同时性、独立性、交互性。

实时系统与分时系统的区别:实时系统专用性很强,交互能力较差,用户数量有限;分时系统通用性很强,交互能力很强,允许用户运行或修改应用程序。

最大区别:系统的响应时间。分时系统的响应时间可以长一点,以用户可以忍受的范围为限,一般2--3秒;实时系统的响应时间短得多,一般毫秒级,甚至微秒级。通用操作系统:

兼有批处理、分时处理和实时处理三者或其中的两者的功能。(Windows,linux)多窗口OS:P165-1664.2多道程序设计基本概念程序单道程序、多道程序、顺序程序、并发程序顺序程序与并发程序的特征进程进程的特征、性质、状态及转换、线程1、程序的有关概念程序(Program)

是为解决某个问题用计算机语言或命令设计、编写的一系列指令的有序集合。程序的顺序执行

一个程序通常分为若干个具有一定独立性的程序段,这些程序段是按逻辑步骤编排的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段并执行下一个程序段。程序顺序执行举例一设有一个程序有三个程序段,分别执行

I(输入)、C(计算)和P(输出)操作。执行顺序为:

ICP

只有‘输入’了数据,才能‘计算’这些数据,也只有‘计算’产生了结果,才能‘输出’它们。这些逻辑关系(顺序)是不能随意改变的。

结果

数据

程序顺序执行举例二

假设有n个作业,每个作业都由三个程序段:输入段Ii、计算段Ci、输出段Pi。在早期单道程序系统中,作业执行流为:作业1I1C1P1

作业2I2C2P2

作业nInCn

Pn作业执行顺序单道程序处理及特性一次只处理一个程序。该程序独享系统资源。单个程序的特性:

1、顺序性操作按程序规定的顺序执行。2、封闭性程序在执行过程中独享系统资源,不受外界因素的干扰和影响。3、可再现性只要初始条件相同,无论以何种方式、速度、重复执行多少次,结果是相同的。多道程序处理及特性同时将多个程序装入内存,并同时处理它们,整个系统资源为多个程序共享。由于多道程序具有并发的特点,在任一时刻,系统内部(内存)同时运行着多个程序;受系统资源的制约,每个程序处理过程的行为是不确定的(系统内部状态因此而不同)。例如,第Ii个程序的Ci

这次是在时刻Ti开始的,那么,下一次运行同样的程序组时,第Ii个程序的Ci

就不一定是在Ti时刻开始。

程序并发执行举例设有三个程序,它们的执行步骤和顺序相同,都是Ii(输入)、Ci(计算)、Pi(输出)。当第1个程序的输入操作I1执行完、执行C1时,输入机空闲,这时候可以执行第2个程序的输入操作I2;在时间上,操作C1和I2时重叠的。当C1执行完、执行P1时,处理机空闲,若这时I2已完成,就可以执行C2,与此同时,输入机又空闲,可以执行第3个程序的I3。这样一来,在时间上,P1、C2和I3是重叠操作的。

程序并发执行举例示意图程序1:I1C1P1程序2:I2C2P2程序3:I3C3P3

从示意图中可以看出,C1和I2、P1、C2和I3、P2和C3在时间上都是重叠操作的。Tt1t3t2单道和多道程序处理的区别在单道程序处理环境下,各逻辑步骤之间的关系是确定的、不受外界影响而改变的。在多道程序处理环境下,并发处理机制中必然存在着直接或间接的相互依赖和相互制约的关系,从而使被处理的多道程序失去了程序固有的特性:封闭性、可再现性。

程序并发处理特征

1、失去了程序的封闭性,请分析下列程序

begin用cobegin和coend表示程N:integer序能并发执行。N:=0

cobeginbeginbeginL1:programAL2:programBN:=N+1printN

gotoL1N:=0endgotoL2

coendendend并发程序段A并发程序段B程序与计算结果不再一一对应程序在顺序执行时,程序与“计算”间有着一一对应的关系。在并发执行时,一个共享程序可为多个用户作业调度,而使程序处于多个执行中,从而形成了多个“计算”。因此,程序和计算间一一对应的关系不复存在。程序并发执行时的相互制约程序1:

I1C1P1程序2:I2C2P2程序3:I3C3P3

从图中可以看出,P1、C2和I3是并发执行的程序段。如果C1未完成,P1和C2就无法执行。还可以看出,Ii,Ci和Pi分别共享同一个输入机、处理机和打印机,因此,一旦C2占用处理机,在它未完成之前,C3就无法启动。由此可见,程序并发执行时是相互制约的,将导致并发程序具有“执行——暂停——执行”这样的活动规律。Tt1t3t2失去了程序的封闭性(续)分析:若先执行程序A,N值大于0;再执行程序B时,先输出一个大于0的N值,然后,N值变为0。若先执行程序B,N值等于0,先输出一个0的N值;再执行程序A时,N值变为1。由于程序A和程序B都是以各自独立的速度运行,则因速度不同而结果不同。所以并发执行程序失去了顺序程序的封闭性。如何表示并发程序的特性?

2、进程及有关概念进程(Process)就是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位。“进程”这个概念是1966年美国麻省理工学院的J.H.Sallexer提出的。进程管理也被称为处理机管理。处理机是计算机系统中的重要资源,所以它管理的好坏在很大程度上直接影响系统的效率。处理机管理又分两个部分:作业管理和进程管理。进程管理是由程序管理进化而来,是和程序管理密不可分的。进程的概念

由于并发活动的复杂性,不同学者研究和讨论的侧重点不同,对进程的定义也不尽相同。几种不同的定义为:

进程是可以和别的计算并发执行的计算;进程是程序的一次执行,亦即进程是在给定内存区域中的一组指令序列的执行过程;所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程;进程是程序在一个数据集合上运行的过程,是系统资源分配和调度的一个独立单位。进程的特征进程具有两个重要特征:(1)动态性:表现在它由“创建”而产生,由“调度”而执行,因得不到资源而“暂停”执行,最后由“撤消”而消亡。进程有自己的生命周期。(2)并发性:在系统中可以同时存在几个进程。在单CPU系统中,任何时刻只有一个进程占用CPU,其它进程处于等待状态。进程有着走走停停的活动规律。引入进程的目的是为了程序的并发执行,以提高资源的利用率。进程的性质1)动态性描述程序在执行过程中的全部活动;2)并发性

OS同时接受和处理多个进程;3)异步性不同进程在逻辑上相互独立,有各的运行“轨迹”;4)制约性由于计算机资源是有限的,不同进程共享CPU和I/O通道及设备,因此相互制约。

进程的状态进程在其存在的过程中,它们的状态是不断发生变化的。一般来说,进程有三种基本状态:就绪状态、运行状态、等待状态。就绪状态

已经获得投入运行所必需的一切资源,一旦分配到CPU,就可以立即执行。这是一种逻辑上可运行状态(“万事具备,只欠东风”)。运行状态进程获得了CPU及其它一切所需资源,正在CPU上运行着。等待状态

由于资源得不到满足,进程运行受阻,处于暂停状态,等待资源分配后,再投入运行。进程状态转换示意图

运行状态等待状态

就绪状态

进程调度

等待资源时间用完获得资源

进程调度程序

来自作业调度

交作业管理进程在整个生存周期中,由进程调动程序控制,在这三种状态之间进行转换。四、死锁

1、什么是死锁现象:每个进程所要求的资源都已被另一个进程占用,出现没有一个进程能继续运行,这种情况称“死锁”。2、死锁产生的原因

(A)资源不能共享(资源独占性)。(B)资源的不可剥夺性。(C)资源采用动态分配原则:允许一个进程不释放已占有的资源,就又去申请别的资源。(D)允许进程间非法交叉推进顺序的存在:导致循环等待资源,无法前进。例如:进程A和B以下面的推进速度前进,导致死锁。

1.A:申请打印机2.B:申请读卡机

3.A:申请读卡机4.B:申请打印机打印机进程A进程B读卡机进程A申请到打印机进程A需要读卡机进程B申请到读卡机进程B需要打印机

3、死锁产生必须同时具有的四个必要条件:

(A)资源独占性。(B)资源的不可剥夺性。(C)资源采用动态的部分分配原则(D)出现相关进程由于资源分配不当而出现循环等待。4、解决死锁的办法

(A)死锁的预防

破坏产生死锁的4个必要条件中的任何一个。·关于资源独占性:采用假脱机技术可以使非共享设备变为共享设备。·破坏“资源的不可剥夺性”(申请不到资源时,释放原先已占有的,进入等待,以后再一起申请)。·破坏对资源采用动态的部分分配原则(每个进程必须提出它所需要的全部资源,只有完全满足时,才能启动)。·破坏循环等待。

(B)死锁的避免

躲避死锁的发生。

(C)死锁的检测与恢复

允许死锁产生,当死锁发生时能检测出来,并且有能力处理,进行恢复。采用虚拟技术,使非共享设备变成共享设备,以避免死锁用户1用户2用户3••••••输出输出输出打印打印机主机系统资源进行统一编号。进程申请使用资源时,必须严格按照编号的升序进行

进程资源ABC1、卡片输入机(3台)√√√

2、行式打印机(2台)√√*3、卡片输入机(1台)√*

4、磁带机(1台)为了避免死锁的发生,系统对进程提出的每一个资源请求,先不是真正去分配,而是根据当时资源的使用情况,按一定的算法去进行模拟分配后的结果。只有当探测结果不会导致死锁,才真正接收进程提出的这一请求。目前常用的算法是“银行家算法”(1968年提出)。银行家算法的思想:(假定在同类资源的分配上实行这一算法)系统接到一个进程的资源请求后,就先假定承认这一申请,把资源分配给它。然后系统用剩余的资源和每一个进程还需要的资源数相比,看能否找到这样的进程,系统把资源分配给它后,就能满足它对资源的最大需求,从而保证其运行完毕。如果能就分配给它,系统在其运行完后回收其占用的全部资源,就会有更多的剩余资源数。再重复这一过程,直到找不出这样的进程为止。请看下面示例:进程已分配数还需要数A13B42C53系统剩余2进程已分配数还需要数A22B42C53系统剩余1例:假定某系统有12台磁带机,A最大需要量4B最大需要量6C最大需要量8银行家算法实例(a)(b)经过若干次申请、分配系统的状态进程A提出申请1台磁带机后,采用银行家算法系统假定分配后的状态资源号占有本次资源进程号a1b3c2d2e1进程号等待资源1c资源分配表进程等待表进程号等待资源1c2b3e(1)(2)(3)e132bc进程间对资源的循环等待出现进程循环链的现象进程1资源a资源e进程3资源c进程2资源b资源d三、进程通信

1、同步与互斥的概念

临界资源:一次仅允许一个进程使用的资源。如打印机、读卡机、缓冲区、变量等。临界区:进程中使用临界资源的那段程序。各进程之间存在着相互制约、相互依赖的关系,

同步:请看两个例子

互斥:请看两个例子

例1:进程同步的例子电子邮件信箱发送进程A接收进程B当信箱满时,发送进程只有等待接收进程取走信件,当信箱空时,接收进程必须等待发送进程发送信件。12n……例2:X=fun1(y)*fun2(Z)计算fun1(y)进程p2算完fun2(Z)?取用P2计算结果计算fun2(Z)设置计算完成标志终止YN进程P1进程P2••••两个协同工作进程的同步例2:X=COUNTX=X+1COUNT=XY=COUNTY=Y+1COUNT=Y临界区临界区进程A进程B••••••••••••••••进程A与B对公共变量COUNT进行互斥操作,最终实现COUNT增加2。若A与B按下面顺序推进,结果COUNT只实现增加1。A:X=COUNT;A:X=X+1;COUNT=X;B:Y=COUNT;B:Y=Y+1;COUNT=Y;1、进程的同步与互斥的实现方法用P-V原语对进程中信号量进行操作的方法(简称P-V操作)。原语:由若干条机器指令构成,完成某一特定功能的一段程序。信号量的概念和P、V原语是荷兰科学家提出的。把交通管理的信号灯方法搬到了操作系统中。所谓信号量是一个与队列有关的整型变量,表示系统中某类资源的数量。当其值大于0时,表示系统中尚有可用资源;当其值为负时,其绝对值表示等待该资源的进程的数目。信号量的值仅能由P操作和V操作来改变,操作系统利用它的状态对进程和资源进行管理。根据信号量的用途不同,信号量分为公用信号量和私用信号量两类:(1)公用信号是指每个进程均可对它施加P操作和V操作的量,它联系着一组并行进程,起初值为1,通常是为实现进程互斥而设置的;(2)私有信号量是指仅允许拥有它的进程对它进行P操作和V操作的量,它也联系着一组并行进程,其初值为0或某个正整数n。

按信号量的取值不同可分为:(1)二元信号量:它仅能取0和1两个数值。(2)一般信号量:它允许取任意整数。P原语操作过程:

P操作记为P(S),其中S为一信号量,其执行顺序完成以下两个动作:(1)

S:=S

1,表示申请使用一个资源;(2)若S

0,表示系统中有资源可用,现进程可继续执行。(3)若S

0,表示系统中没有可用资源,则置该进程阻塞状态,到S信号量的队列中去等待,直到其他进程在S上执行V操作释放它为止。P操作意味着:请求系统分配一个单位资源,根据分配后的情况判断,是继续执行现进程,还是阻塞现进程,调度新进程。V原语操作过程:

V操作记为V(S),其中S为一信号量,其执行顺序完成以下两个动作:(1)

S:=S+1,表示释放一个资源;(2)

若S

0,表示系统中没有等待该资源的进程,现进程可继续执行。

(3)

若S

0,表示系统中有等待该资源的进程,则唤醒S信号量队列中的第一个进程,使其插入到就绪队列,继续执行现进程。V操作意味着:释放一个单位资源,根据释放的情况进行判断,要不要唤醒一个新进程,但无论如何,现进程总是继续执行。3、P-V操作的应用(1)实现进程同步(2)实现进程互斥(3)实现进程同步与互斥——生产者与消费者问题

信号量S:初值为1,表示没有进程进入临界区。信号量S0:初值为0,表示产品数目。信号量Sn:初值为n,表示缓冲区中空位置个数。S=0把P-V操作用于进程同步•••进程AC:P(S)同步点同步条件•••进程BV(S)假定进程A前进到C点时,必须等到进程B执行完同步条件才能继续前进。为了实现进程A与进程B在C点同步,设置信号量S初始值为0。在进程A的C点处设置P操作,在进程B设置V操作。假定A先于B到达C点,它要在S上执行P操作,使S=-1<0,进程A被迫在S的队列等待,一直等到进程B执行了V操作之后,才能将其唤醒变为就绪。反之,假定在进程A到达同步点之前B先对S做了V操作,使S=1,因此当进程A到达C点做P操作时,由于S减1为0,就不会受到阻碍而顺利地通过同步点。初值:S1=0,S2=0;查询进程SP(S2)把查询结果写到缓冲区V(S1)••••••打印进程PP(S1)把缓冲区内容打印输出V(S2)••••••S=1进程A的临界区P(S)进程AV(S)进程B的临界区P(S)进程BV(S)为使这段操作能互斥进行,设置一个信号量S初值为1,在每个地段的入口处,安排对S的P操作,出口处做V操作。谁先对S做P操作,就会使S的值由1变为0,且自己获准进入临界区。另一进程再对S进行P操作,试图进入自己的临界地段,就会因为S的值由0变为-1而受到阻挡。只有等到在临界地段内的进程退出临界地段时对S做V操作,使S的值由-1变为0,才会解除这一阻挡而放行,从而实现进程的互斥。Y=COUNTY=Y+1COUNT=Y临界区V(S)P(S)进程BX=COUNTX=X+1COUNT=X临界区V(S)P(S)进程AS=1123……………NP1P2P3PmC1C2C3Cn有界缓冲区……生产者进程P(Sn)P(S)缓冲区产品V(S0)V(S)消费者进程P(S0)P(S)取产品V(Sn)V(S)S=1;So=0;Sn=n;P操作出现的次序不能随意颠倒;V操作次序无所谓。四、多道程序的组织处理机调度分为作业调度和进程调度,前者是宏调度、后者是微调度,二者的调度算法类似。常用的作业调度算法:1、先来先服务2、短作业优先3、最高响应比优先:

响应比=等待时间+实际运行时间)/实际运行时间4、基于优先级的调度算法5、均衡调度算法4.3存储空间的组织一、内存储器的管理技术存储器是计算机系统的重要资源之一。因为任何程序和数据以及各种控制用的数据结构都必须占用一定的存储空间,因此,存储管理直接影响系统的性能。存储器由内存和外存组成。内存由顺序编址的块组成,每块包含相应的物理单元。逻辑(相对)地址与物理(绝对)地址逻辑地址(logicaladdress、relativeaddress)程序中按逻辑顺序编排的代码及数据的地址称为逻辑地址。物理地址(physicaladdress、absoluteaddress)程序中按代码及数据在内存中实际存储位置的地址成为物理地址。重定位(relocation)将逻辑地址转化为物理地址的过程称为重定位。一般由操作系统的链接过程完成。分为静态和动态两种。静态链接是在链接装入时一次集中完成,动态是在指令执行中先访问内存后再重定位,一般由硬件完成地址转换。重定位原理图见图4-1。存储管理的功能(1)地址变换:相对地址到绝对地址(2)内存分配:(3)存储共享与保护(4)存储器的扩充1、界地址存储管理又称分区分配存储管理

分为固定分区分配和可变式动态分区分配固定分区分配固定分区分配(fixed-sizepartition)是在处理作业前,内存事先划分为若干个大小不等或相等的区域,一旦划分好则固定不变,每个作业占一个分区,作业是连续存放的。分区的划分可以由操作系统或系统管理员决定。系统对内存的管理和控制通过数据结构—分区说明表进行,分区说明表说明各分区号、分区大小、起始地址和是否是空闲区(分区状态)。内存的分配释放、存储保护以及地址变换都通过分区说明表进行。分区说明表的结构如图4-2分区说明表分区号大小始址状态19KB20KB已分配225KB29KB可用340KB54KB可用4162KB94KB可用固定分区方法的优缺点固定分配的优点是分配回收方便,适用于用户不多的小型系统;缺点是内存使用不充分,每一分区剩余部分无法利用。可变式动态分区分配

动态分区的原理动态分区法在作业执行前并不建立分区,而是在处理作业的过程中按需要建立分区,而且其大小可随作业或进程对内存的要求而改变。这就改变了固定分区中小作业占据大分区的浪费现象,从而提高了系统的利用率。动态分区的数据结构动态分区采用三张表对内存管理,分别为已分配区域说明表、未分配区域说明表(可用表)和资源请求表。动态分区的分配与回收

分配动态分区法在分配前,除操作系统本身占用外,只有一个空白区。分配时,按一定的算法从空白表区中找,看是否有满足作业的可用分区,如果空白区存在则分配,分配后修改两张表的内容,如果找不到满足要求的空闲区则系统报错。首次适应法(first-fit)要求把内存中的可用分区单独组成可用分区表或可用分区自由链,按起始地址递增的次序排列。查找的方法是每次按递增的次序向后找,一旦找到大于或等于所要求内存长度的分区,则结束查找,从找到的分区中划分所要求的内存长度分配给用户,把剩余的部分进行合并(如果有相邻的空白区存在的话),并修改可用区中的相应表项。循环适应法(circulation-fit)系统记住上一次分配区地址,每重新分配一次时,都在当前之后寻找,其目的是回收空白区。即内存所有的线性空间可能轮流使用到。分配的时间会快一些,“碎片”也可能会小一些。最佳适应法(best-fit)最佳适应法要求按空白区的大小,从小到大次序组成空白区表或自由链。寻找的方法是找到第一个满足要求的空白区时停止查找,如果该空白区大于请求表中的请求长度,则将剩余空白区留在可用表中(如果相邻有空白区,则与之合并),然后修改相关表的表项。最坏适应法(worset-fit)最坏适应法要求按空白区大小,从大到小递减顺序组成空白区可用表或自由链.寻找的方法是当用户作业或进程申请一个空白区时,选择能满足要求的最大空白区分配,先检查空白区可用表或自由链的第一个空闲区的大小是否大于或等于所要求的内存长度,若满足,则分配相应的存储空间给用户,然后修改和调整空闲区可用表或自由链,否则分配失败。2、页式存储管理

实现原理:(1)划分实页:将物理内存划分成位置固定、大小相同的“块”(实页面)。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论