zoukankan      html  css  js  c++  java
  • 什么是静态地址重定位,它需要什么支持?什么是动态地址重定位,他需要什么支持?静态地址重定位与动态地址重定位有什么区别?

    在程序装入过程中随即进行的地址变换方式称为静态地址映射或静态重定位。

    进行静态重定位要求被装入的程序本身是可以重定位的。(软件支持:重定位装入程序)

    动态地址映射是指在程序执行期间,随着每条指令和数据的访问,自动地、连续地进行映射。

    这种重定位的实现需要硬件的支持。最简单的硬件机构是一个重定位寄存器。

    区别:

    1、  地址转换时机不同。静态地址重定位是在程序装入内存前完成从逻辑地址到物理地址的转换。动态地址重定位是在程序执行过程中进行的重定位,由系统硬件完成从逻辑地址到物理地址的转换。装入时不加任何修改,但在每次访问内存单元前才进行地址变换。

    2、  需要的支持不同。静态地址重定位需要软件的支持(重定位装入程序)。而动态地址重定位需要硬件的支持(重定位寄存器)。

    3、  转换速度不同。静态地址重定位是运行重定位程序来完成地址转换的,他需要花费很多CPU的时间。而动态地址重定位是由硬件完成的,因此转换速度快。

    4、  灵活度不同。静态地址重定位是在程序装入主存时就完成了所有地址的转换,之后不能移动,不利于共享。动态地址重定位是在运行时转换,有利于共享。

  • 相关阅读:
    iOS 9音频应用播放音频之第一个ios9音频实例2
    隐写术: 基地组织如何用视频隐藏绝密文档?
    stm32 Fatfs 读写SD卡
    STM32应用笔记转载
    STM32-NVIC中断管理实现[直接操作寄存器]
    FatFs源码剖析
    STM32固件库详解(转)
    Arduino线程库ProtoThreads
    ARM9(TQ2440)裸机代码分享
    将USBASP改造成STK502编程器(转)
  • 原文地址:https://www.cnblogs.com/luo841997665/p/4667619.html
Copyright © 2011-2022 走看看