主存管理

1 概念

存储器
storage, memmory
能接收数据和保存数据、而且能根据命令提供这些数据的装置。

存储器分成两类:

内存储器(简称内存、主存、物理存储器)
处理机能直接访问的存储器。用来存放系统和用户的程序和数据,其特点是存取速度快,存储方式是以新换旧,断电信息丢失。

外存储器(简称外存、辅助存储器)
处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。在文件系统中介绍。

1.内存的物理组织

物理地址:
把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占8位,称作字节(byte)。

物理地址空间:
物理地址的集合称为物理地址空间(主存地址空间),它是一个一维的线性空间。
在这里插入图片描述
2.程序的逻辑结构

程序地址:用户编程序时所用的地址(或称逻辑地址 、虚地址 ),基本单位可与内存的基本单位相同,也可以不相同。
程序地址空间(逻辑地址空间、虚地址空间):用户的程序地址的集合称为逻辑地址空间,它的编址总是从0开始的,可以是一维线性空间,也可以是多维空间。
在这里插入图片描述

2存储管理的功能

1.存储管理功能
地址映射 将程序地址空间中使用的逻辑地址变换成主存中的地址的过程
(2) 主存分配
按照一定的算法把某一空闲的主存区分配给作业或进程。
(3) 存储保护 保证用户程序(或进程映像)在各自的存储区域内操作,互不干扰。
(4) 提供虚拟存储技术 使用户程序的大小和结构不受主存容量和结构的限制,即使在用户程序比实际主存容量还要大的情况下,程序也能正确运行.

2.1 地址映射

地址映射
将程序地址空间中使用的逻辑地址变换成主存中的地址的过程称为地址映射。有时也称为地址重定位 。
在这里插入图片描述
二、地址映射方式
地址映射的功能就是要建立虚实地址的对应关系,实现地址映射有三种方式:
1.编程或编译时确定地址映射关系
2.静态地址映射
3.动态地址映射

1.编程或编译时确定地址映射关系
编程时确定虚-实地址的关系是指在用机器指令编程时,程序员直接按物理内存地址编程,这种程序在系统中是不能做任何移动的,否则就会出错。

2.静态地址映射
静态地址映射是在程序装入内存时完成从逻辑地址到物理地址的转换的。
在一些早期的系统中都有一个装入程序(加载程序),它负责将用户程序装入系统,并将用户程序中使用的访问内存的逻辑地址转换成物理地址。如左图所示。
评价:
优点是实现简单,不要硬件的支持。
缺点是程序一旦装入内存,移动就比较困难。有时间上的浪费。在程序装入内存时要将所有访问内存的地址转换成物理地址。
在这里插入图片描述
3.动态地址映射
动态地址映射是在程序执行时由系统硬件完成从逻辑地址到物理地址的转换的。
系统中设置了重定位寄存器。
在这里插入图片描述
动态地址映射是由硬件执行时完成的,程序中不执行的程序就不做地址映射的工作,这样节省了CPU的时间 。
重定位寄存器的内容由操作系统用特权指令来设置,比较灵活。
实现动态地址映射必须有硬件的支持,并有一定的执行时间延迟。现代计算机系统中都采用动态地址映射技术。

动态地址映射技术能满足以下目标:
(1)具有给一个用户程序任意分配内存区的能力;
(2)可实现虚拟存储;
(3)具有重新分配的能力
(4)对于一个用户程序,可以分配到多个不同的存储区

2.3 内存分配

在多道程序设计的环境中,内存分配的功能包括:制定分配策略、构造分配用的数据结构、响应系统的内存分配的请求和回收系统释放的内存区。内存管理策略有三种:
1、放置策略
决定内存中放置信息的区域(或位置),即如何在若干个空闲区中选择一个或几个空闲区的原则;
2、调入策略
决定信息装入内存的时机,有两种:在用户请求时调入,称为请调;根据某种算法,确定系统将要使用的信息,并在执行前预先调入内存,称为预调 ;
3、淘汰策略
当内存不足时,决定将某些信息调出内存的策略 。

2.4 提供虚存

1、问题的提出
物理存储器的结构是个一维的线性空间,容量是有限的。
用户程序结构:
一维空间
一个用户程序就是一个程序,并且程序和数据是不分离的;
二维空间 程序由主程序和若干个子程序(或函数)组成,并且程序与数据是分离的;
n维空间 即一个大型程序,由一个主模块和多个子模块组成,其中各子模块又由主程序和子程序(或函数)组成。
用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要大得多。
2. 虚拟存储器概念
虚拟存储器
为用户提供一种不受物理存储器结构和容量限制的存储器的技术称为虚拟存储器,或称虚拟存储技术。
它是用户编程时所使用的一种用户思维中的存储器,它可以是任何结构(一维线性空间、二维空间、乃至n维空间),并没有容量的限制。
现代计算机操作系统都采用了这种技术,使得用户编程序时不需要考虑物理内存的结构和容量,极大地方便了用户。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值