内存管理

大纲:

内存管理:连续分配和非连续分配

连续分配:单一连续分配

                 固定连续分配 (产生内部碎片)

                 动态连续分配(产生外部碎片):首次适应算法

                                          循环首次适应算法

                                           最佳适应算法

非连续分配:页式管理(易产生内部碎片)

                    段式管理(易产生外部碎片)

                    段页式管理(易产生内部碎片)

注:碎片:内部碎片和外部碎片

  内部碎片是自己产生的 ,而外部碎片是系统产生的

也就是如果用户需要8kb的空间 ,而系统分配了10kb给用户,剩下的2kb就是内部碎片,

如果用户需要8kb的空间 ,系统分配给用户8kb,在内存链表里剩下的则是外部碎片


详解:

1.基本思想

用户程序的地址空间被划分成若干固定大小的区域,称为,相应地,内存空间分成若干个物理块,页和块的大小相等。

2) 逻辑地址

系统将程序的逻辑空间按照同样大小也划分成若干页面,称为逻辑页面也称为页。程序的各个逻辑页面从0开始依次编号,称作逻辑页号或相对页号。每个页面内从0开始编址,称为页内地址。程序中的逻辑地址由两部分组成:页号P和页内位移量W

3. 地址变换

若给定一个逻辑地址为A,页面大小为L,则

页号P=INT[A/L],页内地址W=A  MOD  L

假定页面的大小为4K,

页号: 8203/4096 = 2 ;页内偏移: 8203%4096= 11 ;物理地址:物理块号 * 页面大小 + 页内偏移 = 28683

分段存储管理

段是按照程序的自然分界划分的长度可以动态改变的区域。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。

地址变换:


绝对地址=根据段号找到段表中的起始地址+段内地址 (如果段内地址超过限长则产生地址越界程序性中断事件达到存储保护)

段页式存储

思想:

用分段方法来分配和管理虚拟存储器。程序的地址空间按逻辑单位分成基本独立的段,而每一段有自己的段名,再把每段分成固定大小的若干页。

 逻辑地址结构。一个逻辑地址用三个参数表示:段号S;页号P;页内地址d

地址变换过程:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值