首页 > 试题广场 >

为了使程序在内存中浮动,编程时都使用逻辑地址。因此,必须在地

[单选题]
为了使程序在内存中浮动,编程时都使用逻辑地址。因此,必须在地址转换后才能得到主存的物理地址。
推荐
如果通过MMU转换是把虚拟地址转化为物理地址,但是也可以不通过MMU转化,直接给出物理地址。ARM编程的时候可以这样,x86不清楚,所以是错的。

编辑于 2016-03-03 21:25:05 回复(2)
在实模式中不需要地址转换
发表于 2020-07-03 18:43:43 回复(0)
在实模式下逻辑地址等于物理地址,因此在实模式下不需要地址转换。
发表于 2016-09-17 11:02:51 回复(1)
感觉这题有歧义。。。
如果是编程时需不需要转换,那么是不需要的,因为编程是直接使用抽象的虚拟(逻辑)地址。
但是如果是执行时需不需要,那么恐怕在大多数操作系统中就需要了。
发表于 2015-08-08 20:29:47 回复(0)
你们想太多了,这题是正确的
发表于 2018-11-12 16:42:54 回复(0)
在实模式下逻辑地址等于物理地址,因此在实模式下不需要地址转换。
发表于 2017-04-23 10:00:37 回复(0)
如果通过MMU转换是把虚拟地址转化为物理地址,但是也可以不通过MMU转化,直接给出物理地址。ARM编程的时候可以这样,x86不清楚
发表于 2016-09-06 21:03:48 回复(0)
答案是错的,证明逻辑地址不经转化就能得到物理地址,不论谁转化。
发表于 2025-05-28 10:47:51 回复(0)
来自ChatGPT:
问:ARM环境下可以不通过MMU得到物理地址吗?

答:在ARM环境下,理论上是可以不通过MMU得到物理地址的。但是,这种情况下通常需要禁用MMU或在内核态下运行,而这样做会对系统的稳定性和安全性产生一定的影响。

在ARM架构中,MMU是用于进行虚拟地址到物理地址的转换的硬件模块。如果需要直接访问物理地址,可以通过在内核态下直接访问物理地址空间,或者通过禁用MMU来实现。但是,这样做需要特殊的权限和控制,同时也会失去MMU提供的内存保护和虚拟内存管理等重要功能,可能会导致系统的不稳定和安全问题。

因此,在正常情况下,在ARM环境下需要访问物理地址时,通常需要通过MMU进行地址转换。


发表于 2023-03-05 10:33:38 回复(0)
实模式可太6了
发表于 2023-02-22 12:51:14 回复(0)
程序和数据装入内存需要编译、链接、装入。
编译,由编译程序将用户源代码编译成若干目标模块。编译后形成的 所有的目标模块都是 从0开始的相对地址
链接,由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完整的装入模块。
装入,由装入程序将装入模块装入内存运行。
发表于 2022-06-20 20:32:12 回复(0)
不都说了是"为了浮动"嘛,那不就是动态地址转换嘛,不就是开始虚拟运行后物理嘛
发表于 2020-05-06 23:31:24 回复(0)
保护模式-比如段页式,保护实际的物理地址不被非法访问,需要地址转换;实模式-实地址模式,访问的是实际物理地址
发表于 2019-04-04 16:29:43 回复(0)
这句话是对的吧,逻辑地址使得可浮动,如果执行的话,则要转为物理地址
发表于 2015-08-09 11:19:08 回复(0)