鸿蒙内核源码分析(源码结构篇) | 内核每个文件的含义 | 百篇博客分析OpenHarmony源码 | v18.04
百篇博客系列篇.本篇为:
前因后果相关篇为:
- v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 百篇博客分析 | 51.c.h .o
- v09.xx 鸿蒙内核源码分析(调度故事篇) | 用故事说内核调度过程 | 51.c.h .o
- v10.xx 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 51.c.h .o
- v13.xx 鸿蒙内核源码分析(源码注释篇) | 鸿蒙必定成功,也必然成功 | 51.c.h .o
- v18.xx 鸿蒙内核源码分析(源码结构篇) | 内核每个文件的含义 | 51.c.h .o
- v52.xx 鸿蒙内核源码分析(静态站点篇) | 五一哪也没去就干了这事 | 51.c.h.o
鸿蒙内核源码注解分析
点击文件查看源码
- kernel_liteos_a_note
- kernel
- base
- core -> -> 这个core指的是与CPU core相关的文件
- los_bitmap.c -> -> 位图管理器有什么作用 ? 在内核常应用于哪些场景 ?
- los_process.c -> 鸿蒙内核源码分析(进程管理篇) -> 进程是内核的资源管理单元,它是如何管理 任务, 内存,文件的 ? 进程间是如何协作的 ?
- los_sortlink.c -> -> 排序链表的实现,它的应用场景是怎样的 ?
- los_swtmr.c -> -> 内核的定时器是如何实现和管理的 ?
- los_sys.c -> -> 几个跟tick相关的转化函数
- los_task.c -> 鸿蒙内核源码分析(Task管理篇) -> Task是内核调度的单元,它解决了什么问题 ? 如何调度 ?
- los_tick.c -> 鸿蒙内核源码分析(时钟管理篇) -> 是谁在一直触发调度 ? 硬时钟中断都干了些什么事?
- los_timeslice.c -> -> 进程和任务能一直占有CPU吗 ? 怎么合理的分配时间 ?
- ipc -> -> 进程间通讯有哪些方式 ? 请说出三种 ? 是如何实现的 ?
- los_event.c -> -> 事件解决了什么问题 ? 怎么管理的 ?
- los_futex.c -> -> futex 是Fast Userspace muTexes的缩写(快速用户空间互斥体),它有什么作用 ?
- los_ipcdebug.c -> -> 进程间通讯如何调试 ?
- los_mux.c -> -> 互斥量,有你没我的零和博弈, 为什么需要互斥量 ? 是如何实现的 ?
- los_queue.c -> -> 内核消息队列是如何实现的 ? 对长度和大小有限制吗 ?
- los_queue_debug.c -> -> 如何调试消息队列 ?
- los_sem.c -> -> 信号量解决了什么问题 ? 它的本质是什么 ?
- los_sem_debug.c -> -> 如何调试信号量 ?
- los_signal.c -> -> 信号解决了什么问题? 你知道哪些信号 ?
- mem -> -> 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一
- bestfit -> -> 动态内存管理的优点是按需分配,那缺点又是什么?
- los_memory.c -> -> 鸿蒙内核中动态内存池由哪三个部分组成 ?
- los_multipledlinkhead.c -> -> 什么是最佳适应算法? 是如何实现 ?
- bestfit_little -> -> bestfit_little算法是在最佳适配算法的基础上加入slab机制形成的算法。
- los_heap.c -> -> slab算法机制是怎样的? 又是如何实现的 ?
- common -> ->
- membox -> -> 静态内存池的优点是分配和释放效率高,无碎片, 那缺点呢 ?
- los_membox.c -> -> 静态内存有什么用? 是如何实现的?
- bestfit -> -> 动态内存管理的优点是按需分配,那缺点又是什么?
- misc -> ->
- kill_shellcmd.c -> -> shell命令kill的实现,熟悉的 kill 9 18 的背后发生了什么?
- los_misc.c -> ->
- los_stackinfo.c -> -> 栈有哪些信息 ? 如何检测栈是否异常 ?
- mempt_shellcmd.c -> -> 和内存相关的shell命令有哪些 ?
- swtmr_shellcmd.c -> -> 和软时钟相关的shell命令有哪些 ?
- sysinfo_shellcmd.c -> -> 和系统信息相关的shell命令有哪些 ?
- task_shellcmd.c -> -> 和任务相关的shell命令有哪些 ?
- vm_shellcmd.c -> -> 和虚拟内存相关的shell命令有哪些 ?
- mp -> -> MP指支持多处理器的模块
- los_lockdep.c -> -> 死锁是怎么发生的 ? 如何检测死锁 ?
- los_mp.c -> -> 鸿蒙最大支持多少个CPU ? 它们是如何工作的? CPU之间是如何通讯的 ?
- los_percpu.c -> -> CPU有哪些信息 ?
- los_stat.c -> -> CPU的运行信息如何统计 ?
- om -> ->
- los_err.c -> ->
- sched/sched_sq -> ->
- los_priqueue.c -> 鸿蒙内核源码分析(调度队列篇) -> 为什么只有就绪状态才会有队列 ?
- los_sched.c -> 鸿蒙内核源码分析(调度机制篇) -> 哪些情况下会触发调度 ? 调度算法是怎样的 ?
- vm -> 鸿蒙内核源码分析(内存规则篇) -> 什么是虚拟内存 ? 虚拟内存全景图是怎样的 ?
- los_vm_boot.c -> -> 开机阶段内存是如何初始化的 ?
- los_vm_dump.c -> -> 如何 dump 内存数据 ?
- los_vm_fault.c -> -> 为什么会缺页 ? 缺页怎么处理 ?
- los_vm_filemap.c -> -> 文件和内存是如何映射? 什么是 写时拷贝技术(cow) ?
- los_vm_iomap.c -> -> 设备和内存是如何映射 ?
- los_vm_map.c -> 鸿蒙内核源码分析(内存映射篇) -> 内核空间,用户空间,线性区是如何分配的,虚拟内存<-->物理内存是如何映射的 ?
- los_vm_page.c -> -> 什么是物理页框,哪些地方会用到它 ?
- los_vm_phys.c -> 鸿蒙内核源码分析(物理内存篇) -> 段页式管理,物理内存是如何分配和回收的 ?
- los_vm_scan.c -> -> LRU算法是如何运作的 ?
- los_vm_syscall.c -> -> 系统调用之内存, 用户进程如何申请内存 ? 底层发生了什么 ?
- oom.c -> -> 内存溢出是如何检测的 ?
- shm.c -> -> 共享内存是如何实现的 ?
- common -> ->
- console.c -> -> 熟悉的控制台是如何实现的 ?
- hwi_shell.c -> -> 如何查询硬件中断 ?
- los_cir_buf.c -> -> 环形缓冲区的读写是如何实现的 ? 常用于什么场景下 ?
- los_config.c -> -> 内核有哪些配置信息 ?
- los_exc_interaction.c -> -> 任务出现异常如何检测 ?
- los_excinfo.c -> -> 异常有哪些信息 ? 如何记录异常信息 ?
- los_hilog.c -> -> 内核是如何封装日志的 ?
- los_magickey.c -> -> 魔法键有什么作用 ?
- los_printf.c -> -> 内核对 printf 做了哪些封装 ?
- los_rootfs.c -> -> 什么是根文件系统 ? 为什么需要它 ?
- los_seq_buf.c -> ->
- virtual_serial.c -> -> 如何实现访问串口如同访问文件一样方便 ?
- extended -> ->
- cppsupport -> ->
- los_cppsupport.c -> -> 对C++是如何支持的 ?
- cpup -> ->
- cpup_shellcmd.c -> -> 如何实时查询系统CPU的占用率 ?
- los_cpup.c -> -> 内核如何做到实时统计CPU性能的 ?
- dynload/src ->
- los_exec_elf.c -> -> 鸿蒙如何运行ELF ? 什么是腾笼换鸟技术 ?
- los_load_elf.c -> -> 鸿蒙如何动态加载 ELF ?
- liteipc -> ->
- hm_liteipc.c -> -> 如何用文件的方式读取消息队列 ? liteipc和普通消息队列区别有哪些 ?
- tickless -> ->
- los_tickless.c -> -> 新定时机制新在哪里 ? 它解决了哪些问题 ?
- trace -> ->
- los_trace.c -> -> 如何实现跟踪 ? 内核在跟踪什么 ?
- vdso -> -> 用户空间访问内核空间有哪些途径 ?
- src -> ->
- los_vdso.c -> -> VDSO(Virtual Dynamically-linked Shared Object) 是如何实现的 ?
- los_vdso_text.S -> ->
- usr -> ->
- los_vdso_sys.c -> ->
- src -> ->
- cppsupport -> ->
- user/src -> ->
- los_user_init.c -> ->
- kernel
鸿蒙内核源码分析.总目录
v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 百篇博客分析 | 51.c.h .o
百万汉字注解.百篇博客分析
百万汉字注解 >> 精读鸿蒙源码,中文注解分析, 深挖地基工程,大脑永久记忆,四大码仓每日同步更新< gitee| github| csdn| coding >
百篇博客分析 >> 故事说内核,问答式导读,生活式比喻,表格化说明,图形化展示,主流站点定期更新中< 51cto| csdn| harmony| osc >
关注不迷路.代码即人生
QQ群:790015635 | 入群密码: 666
原创不易,欢迎转载,但请注明出处.
鸿蒙内核源码分析(源码结构篇) | 内核每个文件的含义 | 百篇博客分析OpenHarmony源码 | v18.04的更多相关文章
- 鸿蒙内核源码分析(文件句柄篇) | 深挖应用操作文件的细节 | 百篇博客分析OpenHarmony源码 | v69.01
百篇博客系列篇.本篇为: v69.xx 鸿蒙内核源码分析(文件句柄篇) | 深挖应用操作文件的细节 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说 ...
- 鸿蒙内核源码分析(根文件系统) | 先挂到`/`上的文件系统 | 百篇博客分析OpenHarmony源码 | v66.01
百篇博客系列篇.本篇为: v66.xx 鸿蒙内核源码分析(根文件系统) | 先挂到/上的文件系统 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...
- 鸿蒙内核源码分析(内存规则篇) | 内存管理到底在管什么 | 百篇博客分析OpenHarmony源码 | v16.02
百篇博客系列篇.本篇为: v16.xx 鸿蒙内核源码分析(内存规则篇) | 内存管理到底在管什么 | 51.c.h .o 内存管理相关篇为: v11.xx 鸿蒙内核源码分析(内存分配篇) | 内存有哪 ...
- v76.01 鸿蒙内核源码分析(共享内存) | 进程间最快通讯方式 | 百篇博客分析OpenHarmony源码
百篇博客分析|本篇为:(共享内存篇) | 进程间最快通讯方式 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁) | 同样 ...
- 鸿蒙内核源码分析(静态站点篇) | 五一哪也没去就干了这事 | 百篇博客分析OpenHarmony源码 | v52.02
百篇博客系列篇.本篇为: v52.xx 鸿蒙内核源码分析(静态站点篇) | 五一哪也没去就干了这事 | 51.c.h.o 前因后果相关篇为: v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 ...
- 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 百篇博客分析OpenHarmony源码 | v10.04
百篇博客系列篇.本篇为: v10.xx 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 51.c.h .o 前因后果相关篇为: v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 ...
- 鸿蒙内核源码分析(调度故事篇) | 用故事说内核调度 | 百篇博客分析OpenHarmony源码 | v9.07
百篇博客系列篇.本篇为: v09.xx 鸿蒙内核源码分析(调度故事篇) | 用故事说内核调度过程 | 51.c.h .o 前因后果相关篇为: v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 ...
- 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 | 百篇博客分析OpenHarmony源码 | v71.01
子曰:"我非生而知之者,好古,敏以求之者也." <论语>:述而篇 百篇博客系列篇.本篇为: v71.xx 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 ...
- 鸿蒙内核源码分析(管道文件篇) | 如何降低数据流动成本 | 百篇博客分析OpenHarmony源码 | v70.01
百篇博客系列篇.本篇为: v70.xx 鸿蒙内核源码分析(管道文件篇) | 如何降低数据流动成本 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...
随机推荐
- docker 安装 sonarQube
sonarQube 是一款开源代码检测工具.本篇介绍通过 docker 来安装.大概的一个运作流程是这样的,先通过 sonar-scanner 插件扫描代码,把数据存储到数据库,sonarQube 读 ...
- QT中的对象模型――QPointer
QPointer是一个模板类,为QObject对象提供了守卫指针(Guarded Pointer).什么是守卫指针?守卫指针QPointer<T>类似于普通C++指针T *,有且仅有一点不 ...
- [SWMM]弗汝德数
弗汝德数(Froude number)是流体内惯性力与重力的比值.弗汝德数(Fr)是水力学中重要的无量纲数之一,它表示过水断面上单位重量液体具有的平均动能与平均势能的比值,它也表示水流惯性力与重力的比 ...
- docker-compose权限不够
root@kali:~# docker-compose version -bash: /usr/local/bin/docker-compose: 权限不够 chmod +x /usr/local/b ...
- 《网页布局基础篇》—浮动布局和float属性
浮动布局 <html> <head> <meta charset="utf-8"> <title>浮动</title> ...
- Ubuntu16.04 Linux 下安装、配置SSH
本人在Win7+VMware下利用两个ubuntu虚拟机安装.配置.测试了SSH. 在Server端安装openssh-server. sudo apt-get install ssh # 安装ssh ...
- JAVA 之 每日一记 之 算法( 给你一个Excel表列序号,返回出它对应的数字 )
代码结果:(只想要代码的可以离开了,代码给你了,绝对能用的.想要思路的往下看.) class Solution { public int titleToNumber(String s) { int a ...
- 从synchronize到CSA和
目录 导论 悲观锁和乐观锁 公平锁和非公平锁 可重入锁和不可重入锁 Synchronized 关键字 实现原理 Java 对象头 Monitor JVM 对 synchronized 的处理 JVM ...
- java代码覆盖实战
Jacoco原理 代码插桩 On-the-fly插桩: JVM中通过-javaagent参数指定特定的jar文件启动Instrumentation的代理程序,代理程序在通过Class Loader装载 ...
- tar 命令简介
tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在 ...