-
Notifications
You must be signed in to change notification settings - Fork 68
33_内存概念篇
kuangyufei edited this page Sep 5, 2022
·
1 revision
本篇关键词:、、、
下载 >> 离线文档.鸿蒙内核源码分析(百篇博客分析.挖透鸿蒙内核).pdf
内存管理相关篇为:
- v31.02 鸿蒙内核源码分析(内存规则) | 内存管理到底在管什么
- v32.04 鸿蒙内核源码分析(物理内存) | 真实的可不一定精彩
- v33.04 鸿蒙内核源码分析(内存概念) | RAM & ROM & Flash
- v34.03 鸿蒙内核源码分析(虚实映射) | 映射是伟大的发明
- v35.02 鸿蒙内核源码分析(页表管理) | 映射关系保存在哪
- v36.03 鸿蒙内核源码分析(静态分配) | 很简单的一位小朋友
- v37.01 鸿蒙内核源码分析(TLFS算法) | 图表解读TLFS原理
- v38.01 鸿蒙内核源码分析(内存池管理) | 如何高效切割合并内存块
- v39.04 鸿蒙内核源码分析(原子操作) | 谁在守护指令执行的完整性
- v40.01 鸿蒙内核源码分析(圆整对齐) | 正在制作中 ...
随机存取存储器(Random Access Memory,RAM)
静态随机存取存储器(Static Random-Access Memory,SRAM) 动态随机存取存储器(Dynamic Random Access Memory,DRAM)
只读存储器(Read Only Memory,ROM)
/// 内存管理单元(英语:memory management unit,缩写为MMU),有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。
typedef struct ArchMmu {//内存管理单元
#ifndef LOSCFG_PAGE_TABLE_FINE_LOCK
SPIN_LOCK_S lock; /**< arch mmu page table entry modification spin lock */
#endif
VADDR_T *virtTtb; /**< translation table base virtual addr | 注意:这里是个指针,内核操作都用这个地址*/
PADDR_T physTtb; /**< translation table base phys addr | 注意:这里是个值,这个值是记录给MMU使用的,MMU只认它,内核是无法使用的*/
UINT32 asid; /**< TLB asid | 标识进程用的,由mmu初始化阶段申请分配,有了它在mmu层面才知道是哪个进程的虚拟地址*/
LOS_DL_LIST ptList; /**< page table vm page list | L1 为表头,后面挂的是n多L2*/
} LosArchMmu;
- 百文相当于摸出内核的肌肉和器官系统,让人开始丰满有立体感,因是直接从注释源码起步,在加注释过程中,每每有心得处就整理,慢慢形成了以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切。
- 与代码需不断
debug
一样,文章内容会存在不少错漏之处,请多包涵,但会反复修正,持续更新,v**.xx
代表文章序号和修改的次数,精雕细琢,言简意赅,力求打造精品内容。 - 百文在 < 鸿蒙研究站 | 开源中国 | 博客园 | 51cto | csdn | 知乎 | 掘金 > 站点发布,百篇博客系列目录如下。
按功能模块:
基础知识 | 进程管理 | 任务管理 | 内存管理 |
---|---|---|---|
双向链表 内核概念 源码结构 地址空间 计时单位 优雅的宏 钩子框架 位图管理 POSIX main函数 | 调度故事 进程控制块 进程空间 线性区 红黑树 进程管理 Fork进程 进程回收 Shell编辑 Shell解析 | 任务控制块 并发并行 就绪队列 调度机制 任务管理 用栈方式 软件定时器 控制台 远程登录 协议栈 | 内存规则 物理内存 内存概念 虚实映射 页表管理 静态分配 TLFS算法 内存池管理 原子操作 圆整对齐 |
通讯机制 | 文件系统 | 硬件架构 | 内核汇编 |
通讯总览 自旋锁 互斥锁 快锁使用 快锁实现 读写锁 信号量 事件机制 信号生产 信号消费 消息队列 消息封装 消息映射 共享内存 | 文件概念 文件故事 索引节点 VFS 文件句柄 根文件系统 挂载机制 管道文件 文件映射 写时拷贝 | 芯片模式 ARM架构 指令集 协处理器 工作模式 寄存器 多核管理 中断概念 中断管理 | 编码方式 汇编基础 汇编传参 链接脚本 内核启动 进程切换 任务切换 中断切换 异常接管 缺页中断 |
编译运行 | 调测工具 | ||
编译过程 编译构建 GN语法 忍者无敌 ELF格式 ELF解析 静态链接 重定位 动态链接 进程映像 应用启动 系统调用 VDSO | 模块监控 日志跟踪 系统安全 测试用例 |
-
百万汉字注解内核目的是要看清楚其毛细血管,细胞结构,等于在拿放大镜看内核。内核并不神秘,带着问题去源码中找答案是很容易上瘾的,你会发现很多文章对一些问题的解读是错误的,或者说不深刻难以自圆其说,你会慢慢形成自己新的解读,而新的解读又会碰到新的问题,如此层层递进,滚滚向前,拿着放大镜根本不愿意放手。
期间不断得到小伙伴的支持,有学生,有职场新人,也有老江湖,在此一并感谢,大家的支持是前进的动力。尤其每次收到学生的赞助很感慨,后生可敬。 >> 查看捐助名单
据说喜欢 点赞 + 分享 的,后来都成了大神。:)