linux模拟实现动态分区存储管理,第九章 存储管理(UNIX操作系统笔记)

存储管理的基本概念

存储器配置原则

配置方案的原则和设施:

少量的快速昂贵存储介质作为缓存部件

配置中级别存储接孩子,构成主体。

低速,便宜的磁盘存储器作为外部存储或者虚拟存储的后备支持。

目前的配置方案有两种:

寄存器、内存、外存相配合

寄存器、高速缓存、内存、外存相配合

存储管理的基本任务

储存空间的分配和回收

地址变换

存储共享和保护

存储器扩充

提高主存储器的利用率

地址重定位

逻辑地址空间

程序经过编译后形成目标代码程序,这类程序中,指令运行和数据访问会限定在一个地址范围内,这个地址空间范围就叫逻辑地址空间,或相对地址空间,或虚地址空间。

物理地址空间

物理地址空间也被称作实地址空间,或绝对地址空间。

描述的是计算机系统中直接存储器所包含的存储单元地址集合。

地址重定位

实和虚地址的操作过程称为重定位

常用存储技术

连续内存分配方式

单一连续分区管理:分为系统区和用户区。这种分配机制只支持单机单用户。

多分区连续分配管理:内存分为大小不相等的分区,当系统程序占用一个分区,其他用户占用各个分区,分区是连续分配的。可以在使用内存中同时保留多个程序,一次就有可能支持并发程序运行。

覆盖和交换技术

代码段数据段,运行时按照使用的先后,覆盖的方式占用公共内存空间。

将程序中必要的部分安排在常驻内存分区中。不常用的安排在交换内存分区中。不存在调用关系的模块,可以放置在外存。

分页管理技术

分页管理的基本思想

将物理内存视为线性空间,将此空间划分为相同大小的页面,分配内存时以页面单位进行分配。程序的逻辑地址也分为固定大小的页面。可实现逻辑空间向物理空间转换。

动态和静态分页管理

段式管理技术

分段管理的基本思想:

将线性空间转换为二维线性空间

其他略

虚拟存储技术

局部性原理

程序执行大部分是顺序执行的指令,少部分是调用和转移指令

嵌套的深度不会超过五层

程序中会存在相当多的循环结构

数组的操作局限在一个相当小的范围内

虚拟存储思想

主体思想

只将需要执行的程序读到内存中,就可以让程序开始执行。

程序执行过程中,缺少代码就请求调用,继续执行。

空间不够的时候,暂时不使用的放入交换区中。

优势

小空间执行大程序。

空间可随意扩展大小

有利于并发支持

降低设计者难度,不必考虑程序的覆盖结构

需要解决的问题

存储空间不连续

内外存交换效率低

虚拟存储实现方法

存储管理策略

交换策略

0号进程不断地从交换区中换入进程,内存不够时再将进程换出交换区。没有进程换入换出,0号处于睡眠状态。

请求调页策略

内存只保留活动进程页面,而不是全部进程的都放在内存中。需要不活动进程的页面时候会发出缺页中断请求。调取页面。

交换式管理的有点是过程简单,系统开销小。

linux内存管理实现技术

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模拟实现动态可变分区存储管理系统,内存资源的分配情况用一个单链表来表示,每一个节点表示一个可变分区,记录有内存首地址、大小、使用情况等,模拟内存分配动态输入构造空闲区表,键盘接收内存申请尺寸大小,根据申请,实施内存分配,并返回分配所得内存首址。分配完后,调整空闲区表,并显示调整后的空闲区表和已占用的区表。如果分配失败,返回分配失败信息。模拟内存回收。根据空闲区表,从键盘接收回收区域的内存作业代号。回收区域,调整空闲区表,并显示调整后的空闲区表。对于内存区间的分配,移出,合并就是相应的对链表节点信息进行修改,删除和创建相应的节点。 在模拟实现动态可变分区存储管理系统中用到的是“最佳适应算法”与“最坏适应算法”。所谓“最佳”是指每次为作业分配内存时,总是把满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。因此保证每次找到的总是空闲分区中最小适应的,但这样会在储存器中留下许多难以利用的小的空闲区。最坏适应分配算法是要扫描整个空闲分区表或链表,总是挑选最大的一个空闲分区割给作业使用。进入系统时我们需要内存首地址和大小这些初始化数据。成功后我们可以自由的使用首次适应算法与最佳适应算法对内存进行分配。内存经过一系列分配与回收后,系统的内存分配情况不再连续。首次适应算法与最佳适应算法的差异也就很容易的体现在分配时。动态可变分区存储管理模拟系统采用最佳适应算法、最坏适应算法内存调度策略,对于采用不同调度算法,作业被分配到不同的内存区间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值