
内存管理
文章平均质量分 93
田园诗人之园
我是一位平凡的诗人,也是一位平凡的工程师。
展开
-
对linux预留内存的理解
linux的预留(保留)内存一般是通过3中方式去实现的,分为两类,一种是通过在boot kernel的时候由boot kernel传递bootcmd参数来实现,其依赖与’mem’节点的设置。另一类是设备树的方式来定义预留内存,而设备树又是通过设置以及这两种属性来设置预留内存的。原创 2023-05-07 11:08:15 · 3704 阅读 · 0 评论 -
锁机制 -(1)ARM64内存屏障指令
DMB指令是一种内存屏障指令,它确保屏障前的内存访问相对顺序与屏障后的内存访问相对顺序。DMB指令不确保任何它所确保相对顺序的内存访问已经完成。保证的树内存屏障前后的内存访问指令的执行顺序,不能保证内存访问指令在内存屏障指令之前必须完成。DMB指令的基本原则是在由作为DMB指令参数提供的选项所指定的受影响的内存访问之间引入顺序。原创 2023-04-23 22:54:07 · 1921 阅读 · 0 评论 -
arm64 页表以及映射分析
在linux系统中,arm64的页表映射是通过__create_pgd_mapping函数实现的,在linux 系统中,页表的级别分为为PGD,PUD,PMD,PTE。__create_pgd_mapping函数__create_pgd_mapping_locked实现后续的页表映射工作。如果页表描述符的最低位为0则表示当前页表描述符是一个无效的页表描述符,对于L0 ~ L3页表描述符表都适用。alloc_init_cont_pte函数用于做pte页表的映射工作。init_pmd函数用于配置pmd页表项。原创 2023-04-19 16:03:34 · 2394 阅读 · 0 评论