存储器管理的基本概念详解

第四章 存储器管理

存储器是计算机系统的重要组成部分之一。对存储器加以有效管理,不仅直接影响存储器的利用率,而且对系统性能有重大影响。存储器管理的主要对象是内存,对外存的管理在文件管理中。

图片1

图片2

4.1 程序的装入和链接
4.2 连续分配方式
4.3 基本分页存储管理方式
4.4 基本分段存储管理方式
以上为基本内存管理
4.5 虚拟存储器的基本概念
4.6 请求分页存储管理方式
4.7 页面置换算法
4.8 请求分段存储管理方式
以上为虚拟内存管理
在多道程序环境下,要使程序运行,必须为之先建立进程。创建进程的第一件事是将程序和数据装入内存。
将用户源程序变为可在内存中执行的程序的步骤:
  • 1、编译:由编译程序将用户源代码编译成若干个目标模块
  • 2、链接:由链接程序将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块
  • 3、装入:由装入程序将装入模块装入内存
例:a.c–编译---->a.obj----链接---->a.exe-----装入内存—>执行

图片3

一、程序的装入

将一个程序装入内存时,有三种方式:
  • 绝对装入方式
  • 可重定位装入方式
  • 动态运行时装入方式

1、绝对装入方式

  • 在编译时,如果知道程序驻留在内存的什么位置,那么编译程序将产生绝对地址的目标代码。
  • 装入模块装入内存后,程序中的逻辑地址与实际内存地址完全相同,不需对程序和数据的地址进行修改
  • 程序中所使用的绝对地址,可在编译或汇编时给出,也可以由程序员赋予。
只适合于单道程序环境

2、可重定位装入方式

  • 在多道程序环境下,目标模块的起始地址通常从0开始,程序中的其他地址都是相对于起始地址计算的。因此应采用可重定位装入方式,根据内存的当前情况,将装入模块装入到内存的适当位置。
注意:在采用可重定位装入方式将装入模块装入内存后,会使装入模块中的所有逻辑地址与实际装入内存的物理地址不同。

图片4

3、动态运行时装入方式

  • 动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行的时候才进行。
  • 装入内存后的所有地址都仍是相对地址。
  • 为使寄存器转换不影响指令的执行速度,应设置一个重定位寄存器。
动态重定位的实现

图片5

二、程序的链接

程序经过编译后得到一组目标模块,再利用链接程序将目标模块链接,形成装入模块。根据链接时间的不同,把链接分成三种:
  • 1、静态链接:在程序运行前,将目标模块及所需的库函数链接成一个完整的装配模块,以后不再拆开。
  • 2、装入时动态链接:指将用户源程序编译后所得的一组目标模块,在装入内存时,采用边装入边链接的链接方式
  • 3、运行时动态链接:指对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行链接。

图片6

图片7

图片8

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
存储器管理实验,主要围绕着对计算机中的存储器进行管理和优化展开。在设计实验时,可以有以下几个创意点: 1. 分页式虚拟存储管理:实验可以设计一个基于分页式虚拟存储管理的系统。通过模拟操作系统中的页面置换算法,比如LRU(最近最少使用)算法、FIFO(先进先出)算法等,让学生对页面置换的过程和机制有更深入的了解。 2. 虚拟内存管理实验:实验可以实现一个简单的虚拟内存管理系统。在实验中,可以设置一定的内存大小,并模拟程序对内存的访问和替换过程。通过调整页面大小、实现页面置换算法等,让学生体验虚拟内存管理的性能优化以及实际应用。 3. 缓存一致性实验:对于多处理器系统,缓存一致性是一个关键的问题。实验可以设计一个基于MESI协议的缓存一致性模拟实验,让学生理解缓存一致性的概念和工作原理,以及掌握处理器间数据一致性的解决方法。 4. 内存分配算法:实验可以设计一个内存分配算法的模拟实验。通过实现不同的分配算法,比如最先适应算法、最佳适应算法和最坏适应算法等,让学生比较不同内存分配算法的优缺点,并对它们的性能进行评估。 5. 动态内存管理实验:实验可以让学生实现一个简单的动态内存管理系统,比如堆内存分配和释放。通过实验,学生可以了解动态内存管理的过程和挑战,以及理解内存泄漏和内存碎片等问题。 通过以上实验的设计与实践,学生可以更好地理解存储器管理的原理和实践,提升对计算机系统中存储器管理的理解和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loveCC_orange

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值