码迷,mamicode.com
首页 > 其他好文 > 详细

存储器管理2

时间:2020-03-31 12:13:29      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:存储   数据   inf   地址空间   字节   support   机构   --   连续   

4.1.3 基本分页存储管理方式

1.分页存储管理的基本方法

系统将逻辑地址空间分成若干大小相等的片,叫页面,内存空间分成若干与页面同样大小的块,内存的分配以块为单位,允许将一个进程的若干页分别装入不相邻的块中。

页面大小通常设成2的幂页面大小为2^k字节,逻辑地址长度为n位,右边的k位为页内地址W,左边的n-k位为页号P

技术图片

 

 

 

分配实例

技术图片

 

2. 地址变换机构

1) 基本的地址变换机构

技术图片

 

 

1) 具有快表的地址变换机构

快表:具有并行查找能力的高速缓冲寄存器,又称为”联想存储器”,用以存放当前被频繁访问的页面的页号和对应的页表项。

2. 多级页表

将页表进行分页,将各个页表页离散的存放到内存块,为离散分配的页表再建立一张页表,称为外部页表,用来记录存放各页页表的内存块号,形成了两级页表。如果外层页表仍然很大,则可以再次进行分页,形成多级页表。

逻辑地址为32位,页面大小4KB,每块4个字节例子

技术图片

 

 

 

4.1.4  分段式存储管理方式

1.分段系统的基本原理

作业地址空间被划分成若干个段,每个段定义了一组逻辑信息,有自己的段名和段长,并且都采用首地址为0的一段连续空间;而内存空间的管理与动态分区相似,只不过将分配对象由整个程序变成段,为每个段分配一个连续的内存区。

技术图片

 

 

 

用户通过段名或者段号、段内地址访问指令和数据,因此,分段系统的作业地址空间是二维的。为了实现二维地址空间的逻辑地址到内存空间物理地址的转换,系统为每个进程建立了一张段映射表,简称“段表”。进程的每个段在段表中占一个表项,其中记录了内存的基址和段的长度以及对分段进行保护的存取控制信息。每访问一次数据需要访问两次内存。

技术图片

 

 

2. 分页与分段的比较

分页系统和分段系统有许多相似之处,比如:都采用离散分配方式来提高内存利用率, 都要通过地址变换机构来实现地址变换。ffl在概念h两者是完全不同的,它们的区别主要 表现在以下三个方面:

(1) 页是信息的物理单位,分页是为了提高内稃的利用率。段则是信息的逻辑单位, 它含有一组其意义相对完整的信息。分段是为了能更好地满足用户的耑要。

(2) 页的大小固定且由系统决定。段的长度不固定,社由用户所编写的程序决矩。

(3) 分页的地址空间是一维的,程序员只需利用一个记忆符,便可表示一个地址。分 段的地址空间是二维的,程序员在标i只一个地址时,既需给出段名,又需给出段内地址。

 

 

 

 

存储器管理2

标签:存储   数据   inf   地址空间   字节   support   机构   --   连续   

原文地址:https://www.cnblogs.com/giaogiaogiao/p/12604045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!