这道c语言题错在哪里了

把逻辑地址转变为内存的物理地址的过程称作()。(A)编译(B)链接(C)运行(D)重定位... 把逻辑地址转变为内存的物理地址的过程称作( )。 (A)编译 (B)链接 (C)运行 (D)重定位 展开
 我来答
skyeg
2012-10-13 · TA获得超过743个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:310万
展开全部
概念错误。准确地说,逻辑地址变为物理地址的过程应该叫做内存地址变换,不是内存重定位。
  在生成可行程序而没有加载之前,所需内存尚未得到分配,因而内存地址未知,使用这些地址的程序代码中的地址无法确定。在程序加载之后开始执行之前,这些内存地址就能够确定了,这时需要由操作系统把无法确定的地址修改正确,这个过程叫做“内存重定位”。在程序开始执行之后,如果操作系统需要重新调整程序在内存中的位置,可以在程序暂停期间重行分配,这个过程也叫做“动态重定位”。
  而地址变换发生在程序代码执行期间。程序中使用的地址永远是逻辑地址,而CPU使用的地址却是物理地址。在每条指令执行期间,需要由微处理器专门的称为“地址变换机构”的部件把逻辑地址转换为物理地址。虽然这一过程非常复杂,涉及微处理器的多方面机制以及特殊内存结构,但在现代计算机中,都是由硬件全自动高速完成的,所以并不影响程序的执行效率。
  内存位由操作系统完成的,是针对程序的,是由操作系统软件实现的,发生在程序加载之后、开始执行之前,或者当需要重新调整内存分配时暂停程序执行的暂停期间。地址变换是针对地址的,需要特殊的寄存器和内存结构,完全由处理机硬件完成,发生在程序的执行的过程中。一个是针对整个程序中,一个是针对程序中的大量地址的;一个是软件实现的,一个是硬件实现;一个在程序执行之前或暂停期间工作,一个是执行过程之中:很明显,这是完全不同的两个概念。
孙永超fight
2012-10-13 · TA获得超过732个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:669万
展开全部
(D)重定位
根据重定位的时机不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序运行时重定位)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wdy196
2012-10-13 · 超过19用户采纳过TA的回答
知道答主
回答量:232
采纳率:0%
帮助的人:63.9万
展开全部
D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小翼920613
2012-10-13
知道答主
回答量:4
采纳率:0%
帮助的人:6132
展开全部
D。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式