第一章 鸿蒙内核开发概述1.1 鸿蒙系统有哪些内容?鸿蒙系统,就相当于一套完整的PC软件系统。Windows里含有:简单地说,鸿
2021-11-03 11:21
从系统的角度看,线程是竞争系统资源的最小运行单元。线程可以使用或等待CPU、使用内存空间等系统资源,并独立于其它线程运行。 鸿蒙内核每个进程内的线程独立运行、独立调度,当前进程内线程的调度不受其它
2020-11-23 15:51
为何鸿蒙内核源码分析系列开篇就说 LOS_DL_LIST ? 因为它在鸿蒙 LOS 内核中无处不在,在整个内核占了极大
2020-11-24 17:54
有了上篇鸿蒙内核源码分析(内存概念篇)的基础,本篇讲内存管理部分,本章源码超级多,很烧脑,但笔者关键处都加了注释。废话不多说,开始吧。内存一开始就是一张白纸,这些extern就是给它画大界线的,从哪
2020-11-23 11:45
内存部分占了整个kernel代码量近30%,代码多实现复杂,而且内存部分还分了两个文件夹memvm大书特书,为什么要分两个文件夹?应该是鸿蒙内核开发者想从目录的名称上区分内存的层级概念,vm是内存模块的更底层实现,mem是提供给上层使用对vm层的调用。
2020-11-23 11:48
鸿蒙内核代码中有两个源文件是关于队列的,一个是用于调度的队列,另一个是用于线程间通讯的IPC队列。 鸿蒙内核进程和线程各有32个就绪队列,进程队列用全局变量存放,创建进
2020-11-23 15:48
ARM处理器使用协处理器15(CP15)的寄存器来控制cache、TCM和存储器管理。CP15的寄存器只能被MRC和MCR(Move to Coprocessor from ARM Register )指令访问,包含16个32位的寄存器,其编号为0~15。本篇重点讲解其中的 C7C2C13三个寄存器。
2020-11-19 15:34
这张图是第一张图的局部用户空间放大图。里面放的是奴才的私人用品,数据,task运行栈区动态分配内存的堆区,堆区自下而上,栈区自上而下中间有虚拟地址物理地址的映射区隔开。这么多奴才在里面不挤吗?答案是:真不挤 。主人手眼通天,因为用了一个好帮手解决了这个问题,这个帮手名叫 MMU(李大总管)
2020-11-23 11:50
时钟管理模块很简单,但却有内核最重要的代码段 OsTickHandler(),这是干嘛的,可以理解为 JAVA的定时任务,但这是系统内核的定时器。因鸿蒙目前开放的是 轻量级的内
2020-11-24 17:50
从系统的角度看,进程是资源管理单元。进程可以使用或等待CPU、使用内存空间等系统资源,并独立于其它进程运行。OpenHarmony内核的进程模块可以给用户提供多个进程,实现了进程之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。
2020-11-24 17:52