社区编辑申请
注册/登录
存储管理 -地址空间与重定位
存储
本文主要介绍了存储管理的地址空间与重定位。一起来看一下吧,希望能帮懂你。

一. 用户程序的地址空间

内存也称主存,是指CPU能直接存取指令和数据的存储器,是现代计算机系统进行操作的中心。

外存也称辅存,是指一些外部的存储设备,例如硬盘、软盘和磁带等存储器。用户的程序和数据,通过I/O系统接口,从外部设备中读到内存中才能运行。

图 内存在计算机系统中的地位

典型存储器层次结构

按照速度、容量和成本划分,存储器系统构成一个层次结构,如下图所示。

图4-2 典型的存储器层次结构

请思考:我们平时常用的便携存储器,如光盘、U盘、活动硬盘等,它们属于内存还是外存,存取速度处于哪个层次呢?

用户程序的地址空间

想一想:用户源程序进入系统到在机器上运行要经历如下5个步骤,请为他们排序吧。

A.链接

B.编译

C.运行

D.装入

E.编辑

二. 重定位的概念

在这一部分,我们要进一步学习5个存储管理中非常重要的概念。

逻辑地址:用户程序的目标模块都以0为基地址顺序编址的,这种地址称为逻辑地址,也称为相对地址。

物理地址:内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为物理地址,也称为绝对地址。

逻辑地址空间:由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

物理地址空间:由内存中一系列存储单元所限定的地址范围称作物理地址空间,或简称为物理空间,内存空间。

重定位:程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。

图 重定位示意图

对程序进行重定位的技术按重定位的时机可分为静态重定位和动态重定位两种。

(1)静态重定位

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。静态重定位的时机是在程序装入时一次完成,在程序运行期间不再进行重定位。

静态重定位

(2)动态重定位

动态重定位是在程序执行期间,每次访问内存之前进行重定位。动态重定位靠硬件地址转换机构实现。

动态重定位

(3)对换技术

对换技术也称作交换技术,它的实现方式就类似于日常生活中几个单位租用一个会议厅那样,甲单位租用时间到了,就退出会议厅,由乙单位使用;乙单位到时后,也退出去,由丙单位使用,等等。如甲单位还需使用,就再租用,由管理者安排占用时间。

在多道程序环境中可以采用对换技术。此时,内存中保留多个进程。当内存空间不足以容纳要求进入内存的进程时,系统就把内存中暂时不能运行的进程(包括程序和数据)换出到外存上,腾出内存空间,把具备运行条件的进程从外存换到内存中。在UNIX/Linux系统中对内存的管理就利用了这种多道程序的对换技术,如图4-6所示。

对换两个进程


责任编辑:庞桂玉 来源: 良许Linux
相关推荐

2022-03-21 07:56:25

动态链接Linux操作系统

2022-06-16 15:42:16

攻击面管理ASM

2022-06-27 23:44:37

云原生云存储云计算

2022-05-09 15:08:56

存储厂商NFV领域华为

2022-06-07 17:08:51

WizTreewindows工具

2022-06-14 23:34:10

Linux安全服务器

2022-05-26 16:51:07

网络丢包网络故障网络

2022-06-01 17:47:24

运维监控系统

2022-06-30 10:56:18

字节云数据库存储

2022-06-03 09:41:03

DockerKubernetes容器

2022-06-20 15:19:51

前端监控方案

2022-06-20 13:34:46

漏洞网络攻击

2022-06-20 14:57:50

漏洞安全威胁

2022-06-23 14:03:26

混合ITCIOIT管理工具

2022-06-23 06:43:55

异常数据上报异常监控sdk阿波罗移动端

2022-06-22 05:53:49

城域网广域网VXLAN

2022-06-10 07:45:09

CentOS国产操作系统

2022-06-28 09:26:25

Python配置文件

2022-06-25 21:22:30

编程Rust代码

2022-06-06 14:35:59

KubevirtKubernetes虚拟机

同话题下的热门内容

云存储应急演练体系建立及场景设计kafka高性能原理分析,你看懂了吗?Commvault与Oracle合作,提供Metallic数据管理即服务

编辑推荐

恢复时间目标(RTO)和恢复点目标(RPO)的理解差异有关RAID 5磁盘阵列数据恢复的问题集锦Redis集群方案怎么做?大牛给你介绍五种方案!Rancher Labs CEO梁胜:简化操作,让技术真正用起来NAS与SAN架构:如何比较这两个存储系统
我收藏的内容
点赞
收藏

51CTO技术栈公众号