静态地址重定位的对象是 重定位是什么意思?
重定位是什么意思?
1、定义:重定位是将程序的逻辑地址空间转换成内存中实际物理地址空间的过程,即加载时修改目标程序中的指令和数据的过程。它是多通道程序同时在内存中运行的基础。搬迁有两种,即动态搬迁和静态搬迁。第1类:静态重定位:是在将程序加载到内存的过程中完成的,也就是说,在程序开始运行之前,程序中与每个地址相关的项已经被重定位。地址转换通常在加载时完成,以后不会改变,因此称为静态重定位。2动态重定位:程序装入内存时不完成,而是由动态地址转换机制(硬件)在每次CPU访问内存时自动执行,将相对地址转换为绝对地址。动态搬迁需要软硬件的配合。3、 将逻辑地址空间重新定位到物理地址空间有三次:1。2当程序装入内存时。三。当程序执行时。4、 扩展阅读:重新定位是由操作系统安排的。在加载程序之前,系统计算未使用的内存,加载程序,并写下起始地址。当相对地址的指令被执行时,所有的地址都会与刚记录的起始地址相加,这称为重定位。重新定位与exe文件无关。这是加载程序的一种方式。重定位可以提高内存空间的利用率。
地址重定位名词解释?
地址重定位分为两部分:静态地址重定位和静态地址重定位。静态地址重定位是在虚拟空间程序执行之前由汇编程序完成的地址映射工作。对于虚拟空间中的指令和数据,静态地址重定位只完成不同初始地址的连续地址转换。它要求所有要执行的程序在执行之前必须完成它们之间的链接,否则它们将无法获得正确的内存地址和内存空间。
静态地址重定位的优点是它不需要硬件支持,但缺点是它必须占用连续的内存空间,这使得数据和程序难以共享。
2. 动态地址重定位:动态地址重定位是在程序执行过程中,CPU访问内存之前,将程序或数据地址转换为内存地址。动态地址重定位需要硬件支持。
地址重定位机制需要一个或多个基址寄存器BR和一个或多个程序虚拟地址寄存器VR。指令或数据的存储器地址Ma与虚地址的计算关系为:Ma=(BR)(VR)。这里,(BR)和(VR)分别表示寄存器的内容。
操作系统中的动态重定位和静态重定位?
在操作系统中,静态重定位意味着在程序开始运行之前,与程序中每个地址相关的项已被重定位。地址转换通常在加载时完成,以后不会更改。动态重定位是在程序运行过程中访问数据时逻辑地址和物理地址的转换。动态重定位根据每个程序的运行情况进行重定位。每次程序运行时地址都会改变。很容易共享程序的同一个副本,即同一程序中的同一个原始子程序。但是,地址是在加载静态重定位时确定的,因此很难共享程序的同一个副本。
静态地址重定位的对象是 静态重定位由什么实现的 静态重定位在什么时候进行
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。