正在加载图片...
。3.3.2地址的动态重定位 1.基本思想 内存 定位寄存器 用户作业A的 操作系统 把相对地址空间中的用户作 相对地址空间 20KB 22KB 业程序“原封不动”地装入到分 100 XXXXXX 22KB 22528 配给它的绝对地址空间中去。执 22KB+100 XXXXXX 行某条指令时,才根据当前程序 1KB 22628 所在区域,对指令中的地址进行 23KB 重定位。即指令中地址的转换是 2KB 在程序执行时动态完成的,故称 24KB 为地址的“动态重定位” 3000 call 100 2.静态和动态重定位的比较 3KB 22KB+3000 call 100 25KB ·静态重定位是在程序运行之前完成地址转换的;动 态重定位却是将地址转换的时刻推迟到指令执行时进行。 。静态重定位是由软件完成地址转换工作的:动态重定位则由一套硬件提供的地址 转换机构来完成。 ■ 静态重定位是在装入时一次集中地把程序指令中所有要转换的地址全部加以转 换;而动态重定位则是每执行一条指令时,对其地址加以转换。 。实行静态重定位,原来的指令地址部分被修改了;实行动态重定位,只是按照所 形成的地址去执行这条指令,并不对指令本身做任何修改。 . 静态重定位是在程序运行之前完成地址转换的;动 态重定位却是将地址转换的时刻推迟到指令执行时进行。 实行静态重定位,原来的指令地址部分被修改了;实行动态重定位,只是按照所 形成的地址去执行这条指令,并不对指令本身做任何修改。 静态重定位是在装入时一次集中地把程序指令中所有要转换的地址全部加以转 换;而动态重定位则是每执行一条指令时,对其地址加以转换。 静态重定位是由软件完成地址转换工作的;动态重定位则由一套硬件提供的地址 转换机构来完成。 1. 基本思想 2. 静态和动态重定位的比较 • 3.3.2 地址的动态重定位 把相对地址空间中的用户作 业程序“原封不动” 地装入到分 配给它的绝对地址空间中去。执 行某条指令时,才根据当前程序 所在区域,对指令中的地址进行 重定位。即指令中地址的转换是 在程序执行时动态完成的,故称 为地址的“动态重定位”。 0 用户作业A的 相对地址空间 100 XXXXXX 1KB 2KB 3000 call 100 3KB 0 22KB+100 XXXXXX 23KB 24KB 22KB+3000 call 100 25KB 20KB 22KB 22KB 定位寄存器 22628 22528 操作系统 内存 . .
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有