【问题标题】:Logical and physical addressing逻辑和物理寻址
【发布时间】:2014-01-27 04:11:58
【问题描述】:

当我们在int a 语句中谈论逻辑地址时(a 是否代表逻辑内存?)。否则什么是逻辑地址,你能给我一个实时的例子吗?

【问题讨论】:

  • 请在您的问题中添加更多详细信息。我假设您要求的答案是“除非我们开发内核,否则我们只处理逻辑地址”,但您的问题不够具体,无法给出任何此类陈述。
  • 您在用户空间遇到的每个地址都是逻辑地址。变量 a 存储在堆栈中,当您执行 &a 时,您得到的是本地地址,或者当您在程序中执行 malloc(100) 时,您得到的是 100 字节内存的逻辑地址...
  • @Deepthought 这并不完全正确,因为有些系统(主要是 uC)没有 MCU。我怀疑 OP 没有要求这些系统,但完整的答案必须包括 IMO 的这些信息。

标签: memory-management


【解决方案1】:

int a,假设 C/C++ 在堆栈上。

int* a(即它指向的内存)可能在内存中的任何位置。

除非您正在开发内核,否则两者都专门处理逻辑地址——当然,除非您使用的是像 ARM CM3 这样没有 MMU 的系统。这类系统不理解逻辑地址,只能处理物理地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2013-05-01
    • 2012-11-22
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多