子系统开发

爱桥代码的程序媛3 个月前
内核·harmonyos·鸿蒙·鸿蒙系统·内存管理·openharmony·子系统开发
鸿蒙OpenHarmony【小型系统基础内核(虚拟内存管理)】子系统开发虚拟内存管理是计算机系统管理内存的一种技术。每个进程都有连续的虚拟地址空间,虚拟地址空间的大小由CPU的位数决定,32位的硬件平台可以提供的最大的寻址空间为0-4GiB。整个4GiB空间分成两部分,LiteOS-A内核占据3GiB的高地址空间,1GiB的低地址空间留给用户态进程使用。各个进程空间的虚拟地址空间是独立的,代码、数据互不影响。
爱桥代码的程序媛3 个月前
嵌入式硬件·内核·harmonyos·鸿蒙·鸿蒙系统·openharmony·子系统开发
鸿蒙OpenHarmony【小型系统基础内核(物理内存管理)】子系统开发物理内存是计算机上最重要的资源之一,指的是实际的内存设备提供的、可以通过CPU总线直接进行寻址的内存空间,其主要作用是为操作系统及程序提供临时存储空间。LiteOS-A内核管理物理内存是通过分页实现的,除了内核堆占用的一部分内存外,其余可用内存均以4KiB为单位划分成页帧,内存分配和内存回收便是以页帧为单位进行操作。内核采用伙伴算法管理空闲页面,可以降低一定的内存碎片率,提高内存分配和释放的效率,但是一个很小的块往往也会阻塞一个大块的合并,导致不能分配较大的内存块。
爱桥代码的程序媛3 个月前
嵌入式硬件·harmonyos·鸿蒙·openharmony·鸿蒙开发·子系统开发·虚实映射
鸿蒙OpenHarmony【小型系统基础内核(虚实映射)】子系统开发虚实映射是指系统通过内存管理单元(MMU,Memory Management Unit)将进程空间的虚拟地址与实际的物理地址做映射,并指定相应的访问权限、缓存属性等。程序执行时,CPU访问的是虚拟内存,通过MMU页表条目找到对应的物理内存,并做相应的代码执行或数据读写操作。MMU的映射由页表(Page Table)来描述,其中保存虚拟地址和物理地址的映射关系以及访问权限等。每个进程在创建的时候都会创建一个页表,页表由一个个页表条目(Page Table Entry, PTE)构成,每个页表条目描述虚拟地址
爱桥代码的程序媛3 个月前
嵌入式硬件·内核·harmonyos·鸿蒙·openharmony·鸿蒙开发·子系统开发
鸿蒙OpenHarmony【轻量系统内核(异常调测)】子系统开发OpenHarmony LiteOS-M提供异常接管调测手段,帮助开发者定位分析问题。异常接管是操作系统对运行期间发生的异常情况进行处理的一系列动作,例如打印异常发生时异常类型、发生异常时的系统状态、当前函数的调用栈信息、CPU现场信息、任务调用堆栈等信息。
爱桥代码的程序媛3 个月前
嵌入式硬件·harmonyos·鸿蒙·openharmony··鸿蒙开发·子系统开发
鸿蒙OpenHarmony【轻量系统内核通信机制(互斥锁)】子系统开发互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式处理。任意时刻互斥锁的状态只有两种,开锁或闭锁。当任务持有互斥锁时,该互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。当该任务释放互斥锁时,该互斥锁被开锁,任务失去该互斥锁的所有权。当一个任务持有互斥锁时,其他任务将不能再对该互斥锁进行开锁或持有。