重定位
实现多道程序在内存中同时运行的基础
重定位就是把程序的
逻辑地址空间
变换成内存中的实际物理地址空间的过程。它是实现
多道程序
在内存中同时运行的基础。重定位有两种,分别是
动态重定位
与
静态重定位
。
分类
1、
静态重定位
:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项
均已
完成重定位,
地址变换
通常是在装入时一次完成的,以后不再改变,故称为静态重定位。
2、
动态重定位
:它不是在程序装入内存时完成的,而是
CPU
每次访问内存时 由
动态地址
变换机构(硬件)自动进行把相对
地址转换
为
绝对地址
。动态重定位需要软件和硬件相互配合完成。
时机
将
逻辑地址空间
重定位到物理
地址空间
的时机有三种:
1、
程序编译
连接时。
2、程序装入内存时。
3、程序执行时。
扩展阅读
重定位是由操作系统安排的。
在
装入程序
前,系统会计算未使用的内存,然后将程序装入,并记下开始地址。在执行有
相对地址
的指令时,会将所有的地址加个刚才记下的开始地址,就叫重定位。
重定位与EXE文件无关,它是程序装入时的一种方式。利用重定位可提高
内存空间
的
使用率
。
参考资料
最新修订时间:2023-07-11 10:23
条目作者
小编
资深百科编辑
目录
概述
分类
时机
扩展阅读
参考资料
Copyright©2024
闽ICP备2024072939号-1