什么是重定位重定位有哪几种类型2为什么要进行重定位

2024-09-11 知识 86阅读 投稿:氧气

1.重定位是指由于一个作业装入到与其地址空间不一致的存储空间,对有关地址部分的调整过程;

2.重定位的类型有:分为静态重定位和动态重定位两种类型。静态重定位是指即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次完成的,以后不再改变;动态重定位是指动态重定位即在程序运行过程中要访问数据时再进行逻辑地址与物理地址的变换;

3.进行重定位的原因:我们写正常程序的时候根本不用去关心变量(常量)的位置,因为源程序在编译的时候它的内存中的位置郡被计算好了。程序装入内存时,系统不会为它重定位。我们需要用到变量 (常量)的时候直接用变量名访问它就行了。有的程序不可避免也要用到变量 (常量),各个变量 (常量)在内存中的位置自然也不相同。既然这些变量没有固定的地址,那么程序在运行的过程中只有重定位,才可以正常地访问相关资源。

声明:沿途百知所有(内容)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们将尽快删除