正确。
重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程,也就是说在装入时对目标程序中指令和数据的修改过程。他是实现多道程序在内存中同时运行的基础。重定位有两种,分别是动态重定位与静态重定位。
扩展资料:
在装入程序前,系统会计算未使用的内存,然后将州山程序装入,并记下开始地址。在执行有相对地址的指令时,会将所有的地址加个刚才记下的开始地址,就叫重团码定位。
重定位与EXE文件无关,它是程序装入时的一种方式。利用重定位可提册或中高内存空间的使用率。
参考资料来源:百度百科-重定位
问题一:什么是8086系统中的逻辑地址和物理地址 由于8086的寄存器最大为16位,因此地址在寄存器中按16位大小存放,由段地址和偏移地址联合表示的地址类型叫逻辑地址,例如2000H:1000H,这里的2000H表示段的起始地址,即段地址,而1000H则表示偏移地址,表示逻辑地址时总是书写成段地址:偏移地址。物理地址即是真实存在的唯一地址,是指的内存中各个单元的单元号,由8086有20条地址线,因此可寻址2的20次方,按2进制位表示规则,即有20位,这个就是物理地址。物理地址因为超过了寄存器大小(16位)因此无法直接存放,需要合成,公式为物理地址=段地址×10H+偏移地址,公式中的数据可从逻辑地址获得。
逻辑地址是16位的,因此范围是2的16次方,即64K。
物理地址是20位的,因此范围是2的20次方,即1M。
问题二:什么是逻辑地址? 逻辑地址 在工具书中的解释
1、在有地址变换功能的计算机中,访问指令给出的地址 ( *** 作数) 叫逻辑地址,也叫相对地址。要经过寻址和消脊方式的计算或变换才得到内存储器中的物理地址。
2、把用户程序中使用的地址称为相对地址即逻辑地址。
3、逻辑地址由两个16位的地址分量构成,一个为段基值,另一个为偏移量。两个分量均为无符号数编码。
逻辑地址 在学术文献中的解释
1、这样该存储单元的地址就可以用段基址(段地址)和段内偏移量(偏移地址)来表示,段基址确定它所在的段居于整个存储空间的位置,偏移量确定它在段内的位置,这种地址表示方式称为逻辑地址,通常表示为段地址:偏移桥如地址的形式。
2、所谓逻辑地址是指按数据的逻辑块号给出的磁盘的位置(l块=512字l字=64位)而物理地址则是由磁盘的柱面、头、段等物理位置所确定的地址。
问题三:为什么要有逻辑地址,有了逻辑地址实现了什么,改善了什么? 30分 逻辑地址是为了程序结构化而做的设计,分层设计,直接访问硬件地址的模块,对下是使用物理地址,对上封装成逻辑地址,是为了程序移植方便。
问题四:什么是逻辑地址和物理地址 逻辑地址是段地址和偏移地址,将段地址二进制左移四位加上偏移地址,就是这个逻辑地址实际的物理地址,通过这个物理地址就能实际访问到它。
逻辑地址是为了方便内存段式管理而出现的概念。
问题五:逻辑地址和物理地址的区别? 逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分。例如,你在进行C语言指针编程中,可以读取指针变量本身值(& *** 作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干。只有在Intel实模式下,逻辑地址才和物理地址相等(因唤渗为实模式没有分段或分页机制,Cpu不进行自动地址转换);逻辑也就是在Intel 保护模式下程序执行代码段限长内的偏移地址(假定代码段、数据段如果完全一样)。应用程序员仅需与逻辑地址打交道,而分段和分页机制对您来说是完全透明的,仅由系统编程人员涉及。应用程序员虽然自己可以直接 *** 作内存,那也只能在 *** 作系统给你分配的内存段 *** 作。
线性地址(Linear Address) 是逻辑地址到物理地址变换之间的中间层。程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。若没有启用分页机制,那么线性地址直接就是物理地址。Intel 80386的线性地址空间容量为4G(2的32次方即32根地址总线寻址)。
物理地址(Physical Address) 是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就直接成为物理地址了。
虚拟内存(Virtual Memory) 是指计算机呈现出要比实际拥有的内存大得多的内存量。因此它允许程序员编制并运行比实际系统拥有的内存大得多的程序。这使得许多大型项目也能够在具有有限内存资源的系统上实现。一个很恰当的比喻是:你不需要很长的轨道就可以让一列火车从上海开到北京。你只需要足够长的铁轨(比如说3公里)就可以完成这个攻务。采取的方法是把后面的铁轨立刻铺到火车的前面,只要你的 *** 作足够快并能满足要求,列车就能象在一条完整的轨道上运行。这也就是虚拟内存管理需要完成的任务。在Linux 0.11内核中,给每个程序(进程)都划分了总容量为64MB的虚拟内存空间。因此程序的逻辑地址范围是0x0000000到0x4000000。
有时我们也把逻辑地址称为虚拟地址。因为与虚拟内存空间的概念类似,逻辑地址也是与实际物理内存容量无关的。
逻辑地址与物理地址的“差距”是0xC0000000,是由于虚拟地址->线性地址->物理地址映射正好差这个值。这个值是由 *** 作系统指定的。
问题六:逻辑地址 5分 如果逻辑地址:1500H
化为2进制 0001 0101 0000 0000左移四位就是0001 0401 0000 0000 0000,即15000H
若偏移地址为1000H
则物理地址就是16000H 还有个简单的方法就是错位相加,1500
+ 1000
160000
问题七:什么是逻辑地址和物理地址? 可以简单理解为:MAC 物理地址,全球唯一的;
IP:逻辑地址,这个是可变的。
页表的作用是实现从页号到物理块号的地址映射。以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中。这样物理块号和块内地址拼接成裂漏纯了实际肆咐访问内存的地址,从而完成了从逻辑地址到物理地址的转换。所以物理地址的计算公式为:物理地址=块的大小(即页的大小L)′块号f+页内地址d解本题中,为了描述方搜塌便,设页号为p,页内位移为d,则:p=int(2500/1024)=2d=2500mod1024=452假设页号2对应块号1那么物理地址=1024*1+452=1476欢迎分享,转载请注明来源:内存溢出
评论列表(0条)