易学笔记-系统分析师考试-第3章 操作系统基本原理/3.3 内存管理/3.3.1 地址变换
其他
2018-11-16 14:35:56
阅读次数: 0
- 源程序:用户用开发语言编写的程序
- 编译程序(汇编程序):专门编译源程序的程序
- 目标程序:编译后的程序
- 逻辑地址
- 概念:指的是目标程序使用的地址,也称为相对地址或者虚拟地址
- 格式:一般以0为基地址进行编址
- 逻辑地址空间
- 一个目标程序所有的逻辑地址
- 格式:
- 一维地址:从0开始依次编码;
- 二维地址,把目标程序分成若干块,每段有不同的段号,段内地址也是从0开始
- 物理地址:目标程序被装载在内存中后对应的地址
- 物理地址空间:目标程序所有的物理地址的总和,由存储器提供,大小取决于目标程序所需的内存大小
- 地址转换
- 概念:逻辑地址到目标地址的转换
- 公式:物理地址 = 起始的物理地址 + 逻辑地址
- 分类
- 静态重定位
- 概念:在目标程序装入内存时,由内存一次性完成地址转换,也即是目标程度的逻辑地址加上内存分配的起始物理地址
- 优点:地址转换简单,容易实现
- 缺点:
- 需要分配一段连续的地址块,而且在程序执行期间不能移动
- 不能程序和数据的共享,内存利用率低
- 动态重定位
- 概念:在CPU访问程序和数据之前实现地址变换
- 原理:借助硬件地址的转换机构来实现,通过选择重定位寄存器实现,具体步骤:
- 程序开始执行时,操作系统把程序在内存中的起始地址放入重定位寄存器
- 每次访问时,重定位寄存器的地址+当前逻辑地址就可得出物理地址,然后CPU就可以访问该物理地址
- 优点
- 程序可以移动,移动后只需要把新的起始地址放入重定位寄存器即可
- 容易实现程序共享、可提供虚拟存储空间
转载自blog.csdn.net/u011830122/article/details/84135903