织梦CMS - 轻松建站从此开始!

罗索

存储器管理之重定位

jackyhwei 发布于 2011-05-31 09:33 点击:次 
程序和数据装入内存时需对目标程序中的地址进行修改。这种把逻辑地址转变为内存的物理地址的过程叫重定位。对程序进行重定位的技术按重定位的时机可分为两种:静态重定位和动态重定位。
TAG:

程序和数据装入内存时需对目标程序中的地址进行修改。这种把逻辑地址转变为内存的物理地址的过程叫重定位。

对程序进行重定位的技术按重定位的时机可分为两种:静态重定位和动态重定位。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的地址。对每个程序来说,这种地址变换只是在装入时一次完成,在程序运行期间不再进行重定位。

静态重定位的优点是无需增加硬件地址转换机构,便于实现程序的静态连接。在早期计算机系统中大多采用这种方案。

它的主要缺点是:

(1)程序的存储空间只能是连续的一片区域,而且在重定位之后就不能再移动。这不利于内存空间的有效使用。

(2)各个用户进程很难共享内存中的同一程序的副本。

动态重定位是在程序执行期间每次访问内存之前进行重定位。这种变换是靠硬件地址变换机构实现的。通常采用一个重定位寄存器,其中放有当前正在执行的程序在内存空间中的起始地址,而地址空间中的代码在装入过程中不发生变化。

动态重定位的主要优点是:

(1)程序占用的内存空间动态可变,不必连续存放在一处。

(2)比较容易实现几个进程对同一程序副本的共享使用。

它的主要缺点是需要附加的硬件支持,增加了机器成本,而且实现存储管理的软件算法比较复杂。

现在一般计算机系统中都采用动态重定位方法。

(studyarea)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201105/14496.html]
本文出处:百度博客 作者:studyarea
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容