如何以及何时创建不同的内存映射?

时间:2016-11-18 09:43:31

标签: linux memory linux-kernel operating-system embedded

摘自我引用的其中一本书,

  
      
  • 处理器内存映射:这是第一个需要创建的内存映射。它解释了CPU的内存管理策略   CPU如何处理不同的地址空间(用户模式,内核   模式),各种内存区域的缓存策略是什么,   等等。
  •   
  • 电路板存储器映射:一旦知道处理器如何看待各种存储区域,下一步就是适应各种存储器区域   板载设备进入处理器存储区。这需要一个   了解各种板载设备和总线控制器。
  •   
  • 软件内存映射:接下来需要为各种软件组件(如引导加载程序和   Linux内核。 Linux内核设置了自己的内存映射和   决定各种内核部分(如代码和堆)的位置   驻留。
  •   

这些内存映射何时创建?比方说,它是硬编码的东西,在编译阶段之前还是由某些运行时任务决定的?

是否有将处理器地址空间映射到各种设备的标准,还是用户的选择?

book btw。

1 个答案:

答案 0 :(得分:0)

  

这些内存映射何时创建?比如说,这有点困难   编码之前和编译阶段之前,或者是由某些运行决定的   时间任务?

这个配置通常是内核在启动时要做的第一件事。它可以是硬编码的,也可以在内核启动之前决定,即在引导加载程序中。

  

是否有一些将处理器地址空间映射到的标准   各种设备还是用户的选择?

这完全取决于你作为设计师。许多人可能会从其他操作系统中选择类似的配置,例如linux。