第五章 存储器管理

转载 2007年09月29日 19:00:00

第五章 存储器管理

5.1 程序的装入和链接

5.2  连续分配存储管理方式

5.3  对换

5.4  分页存储管理方式

5.5 分段存储管理


5.1 程序的装入和链接

   在多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事,就是要将程序和数据装入内存。如何将一个用户源程序变为一个可在内存中执行的程序,通常要经过以下几步:

(1)编译。由编译程序(Compiler)将用户源代码编译成若干个目标模块(Object Module);

(2)链接。由链接程序(Linker)将编译后形成的目标模块以及它们所需要的库函数,链接在一起,形成一个装入模块(Load Module);

(3)装入。由装入程序(Loader)将装入模块装入内存。

 5.1.1  程序的装入

一、绝对装入方式(Absolute Loading Mode)

二、可重定位装入方式(Relocatable Loading Mode)

三、动态运行时装入方式(Dynamic Run-Time Loading)

 5.1.2 程序的链接

一、静态链接

在将几个目标模块链接装配成一个装入模块时,需要解决以下两个问题:

1.对相对地址进行修改

2.变换外部调用符号

二、装入时动态链接(Load-Time Dynamic Linking)

装入时动态链接方式有以下优点:

1.便于软件版本的修改和更新

2.便于实现目标模块共享

三、运行时动态链接(Run-Time Dynamic Linking)

5.2  连续分配存储管理方式

连续分配是指为一个用户程序分配一个连续的内存空间。

 5.2.1 单一连续分配

这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,内存分为以下两个分区:

(1)系统区。

(2)用户区。

 5.2.2 固定分区分配

一、划分分区的方法

将内存空间划分为若干个固定大小的分区,可用下述两种方法:

1.分区大小相等

2.分区大小不等

二、内存分配

分区使用表。表项包含有每个分区的起始地址、大小及状态(是否已分配)。

 5.2.3  动态分区分配

动态分区分配是根据进程的实际需要,动态地为之分配连续的内存空间。在实现可变分区分配存储管理方式时,必须解决下述三个问题:

(1)分区分配中所用的数据结构;

(2)分区的分配算法;

(3)分区的分配和回收操作。

—、分区分配中的数据结构

1.空闲分区表

2.空闲分区链

二、分区分配算法

1.首次适应算法FF

2.循环首次适应算法

3.最佳适应算法

三、分区分配操作

在动态分区存储管理方式中,主要的操作是分配和回收内存。

1.分配内存

2.回收内存

当进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链中找到相应的插入点,此时可能出现以下四种情况之一:

(1)回收区与插入点的前一个分区F1相邻接。

(2)回收分区与插入点的后一分区F2相邻接。

(3)回收区同时与插入点的前、后两个分区邻接。

(4)回收区既不与F1邻接,也不与F2邻接。

5.2.4 动态重定位分区分配

一、紧凑

不能被利用的小分区称为“零头”或“碎片”。

通过移动,把多个分散的小分区拼接成大分区的方法被称为“拼接”或“紧凑”。

二、动态重定位

三、动态重定位分区分配算法
 

5.3  对换

5.3.1 多道程序环境下的对换

所谓“对换”,是指把内存中暂不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的程序和数据,换入内存。对换是提高内存利用率的有效措施。

如果对换是以整个进程为单位,便称之为“整体对换”或“进程对换”;如果对换是以“页”或“段”为单位进行,则分别称之为“页面对换”或“分段对换”,又统称为“部分对换”

5.3.2 对换空间的管理

在具有对换功能的OS中,通常把外存分为文件区和对换区。

由于对对换区的分配,是采用连续分配方式,因而对对换区空间的分配与回收,与动态分区方式时内存的分配与回收方法雷同。其分配算法可以是首次适应算法、循环首次适应算法和最佳适应算法。具体的分配操作也与图5—9中的操作相同。对换区的回收操作也可分为下述四种情况,即:

(1)回收区与插入点的前一分区F1相邻接;

(2)回收区与插人点的后一分区F2相邻接;

(3)回收区还同时与F1和F2二个分区相邻接;

(4)回收区的前、后没有与之相邻接的空闲分区。

对这几种情况的处理方法也与动态分区分配时的方法相同。

 5.3.3 进程的换出与换入

一、进程的换出

1.选出被换出的进程

2.换出过程

二、进程的换入

 
5.4  分页存储管理方式

5.4.1 分页存储管理的基本方法

一、页面和物理块

在分页存储管理方式中,将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页。相应地,内存空间也分成与页相同大小的若干个存储块,或称为物理块或页框(frame)。由于进程的最后一页经常装不满一块,而形成不可利用的碎片,称为“页内碎片”。

分页存储管理方式的地址结构

 若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得         d = A mod L

其中,INT是整除函数,mod是取余函数。

例如,其系统的页面大小为1KB,设A=2170 H,则由上式可以求得P=2,d=122。

二、页表

三、页面大小的选择

在确定地址结构时,若选择的页面较小,一方面可使内存碎片小,并减少了内存碎片的总空间、有利于提高内存利用串;但另一方面,也会使每个进程要求较多的页面,从而导致页表过长,占用大量内存;此外,还会降低页面换进换出的效率。若选择的页面较大,虽然可减少页表长度,提高换进换出效率,但却又会使页内碎片增大。因此。页面的大小应选得适中,通常页面的大小是2的幂,且常在29一212之间,即在512字节一4KB之间。

 5.4.2地址变换机构

一、   基本的地址变换机构

二、具有快表的地址变换机构

5.4.3  两级和多级页表

一、两级页表

外层页号    外层页内地址        页内地址

 二、多级页表结构

 5.4.4 反置页表

反置页表的地址结构

5.5 分段存储管理

5.5.1 分段存储管理方式的引入

1.方便编程

2.分段共享

3.分段保护

4.动态链接

5.动态增长
 
5.5.2 分段系统的基本原理

一、分段

二、  段表

三、  地址变换机构

四、  分页和分段的主要区别

1.页是信息的物理单位,段是信息的逻辑单位

2.页的大小固定且由系统确定,段的长度不固定,决定于用户所编写的程序

3.分页的作业地址空间是一维的,分段的作业地址空间是二维的

5.5.3 共享与保护

5.5.4 段页式存储管理方式

一、基本原理

二、  地址变换过程
  

相关文章推荐

第五章 虚拟存储器介绍

操作系统课程系列博文

操作系统存储器管理练习题

不得不说做做题还是很有助于加深对一些概念的理解的。。。 1.某系统具有多级存储系统,包括Cache、RAM和disk,并且启用虚拟存储器。已知访问Cache获取一个字word的时间为2ns,访问RAM...

操作系统 实验二 请求分页存储器管理

实验目的: 实现分页式存储地址转换过程,在此基础上实现请求分页的地址转换。实现请求分页式地址转换中出现的缺页现象中,用到的FIFO、LRU、OPT置换算法。 实现方法: 用一张位示图,来...

MINIX 3存储器(进程管理器)进程表

进程管理器(pm)负责处理与进程管理相关的系统调用,其中有些调用与存储管理密切相关,如fork,exec和brk等,所以在MINIX 3中,进程管理和存储管理合并在一个模块中。进程管理模块也维护着一张...

操作系统基础之存储器管理

存储器管理存储器的层次结构 存储器的层次结构:寄存器-高速缓存-主存-磁盘缓存-磁盘-可移动存储介质 可执行存储器:寄存器和主存:存放于其中的数据只需要load或者store指令即可或者 对于辅存的访...

OS存储器管理(一)

存储器的层次: 分为寄存器、主存(内存)和 辅存(外存)三个层次。   主存:高速缓冲存储器、主存储器、磁盘缓冲存储器,          主存又称为可执行存储器; 辅存:固定磁盘存储器、可移动的外...

汇编语言基础三 —— 存储器的管理模式

存储器的管理模式 Intel公司的80X86系列的CPU基本上采用内存分段的管理模式。它把内存和程序分成若干个段,每个段的起点用一个段寄存器来记忆,所以,学习微机汇编语言,必...

操作系统(8)存储器管理

1、主存空间一般分为两部分:系统区——存放操作系统内核程序和数据结构等;用户区——存放应用程序和数据。 存储器功能: 分配和去分配:进程可请求对主存区的独占式使用。 抽象和映射:主存器被抽象,使得进程...

第四章 存储器管理(1)——基本知识

存储器管理的主要对象是内存,由于对外存的管理与对内存的管理相类似,只是它们的用途不同,即外存主要用来存放文件,所以我们把对外存的管理放在文件管理。(写到这里) 4.1、程序的装入和链接 在多道程序...

java版本存储器管理LRU

import java.util.Scanner; class Node { protected Node next; //指针域 protected int data;//数据...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第五章 存储器管理
举报原因:
原因补充:

(最多只允许输入30个字)