什么方式可以采用静态重定位 地址重定位名词解释?
地址重定位名词解释?
地址重定位分为两部分:静态地址重定位和静态地址重定位。静态地址重定位是在虚拟空间程序执行之前由汇编程序完成的地址映射工作。对于虚拟空间中的指令和数据,静态地址重定位只完成不同初始地址的连续地址转换。它要求所有要执行的程序在执行之前必须完成它们之间的链接,否则它们将无法获得正确的内存地址和内存空间。
静态地址重定位的优点是它不需要硬件支持,但缺点是它必须占用连续的内存空间,这使得数据和程序难以共享。
2. 动态地址重定位:动态地址重定位是在程序执行过程中,CPU访问内存之前,将程序或数据地址转换为内存地址。动态地址重定位需要硬件支持。
地址重定位机制需要一个或多个基址寄存器BR和一个或多个程序虚拟地址寄存器VR。指令或数据的存储器地址Ma与虚地址的计算关系为:Ma=(BR)(VR)。这里,(BR)和(VR)分别表示寄存器的内容。
重定位相关知识,为什么要重定位?
1. 什么是搬迁?由于作业加载到与其地址空间不一致的存储空间中,因此调整相关地址部分的过程称为重定位。
2. 重新定位的类型是什么?它可以分为静态重定位和动态重定位两种类型。
3. 为什么要搬迁?当我们编写普通程序时,根本不需要关心变量(常量)的位置,因为在编译源程序时,它的内存位置是经过计算的。
程序加载到内存时,系统不会重新定位它。
当我们需要使用变量(常量)时,我们可以用变量名直接访问它。
有些程序不可避免地使用变量(常量),每个变量(常量)在内存中的位置自然不同。
由于这些变量没有固定的地址,程序只能在运行过程中重新定位才能正常访问相关资源。
什么方式可以采用静态重定位 静态重定位和动态重定位区别 静态重定位在什么时候进行
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。