
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文系统性地介绍了操作系统中断机制的核心概念,包括中断源、中断控制器和CPU的协同工作,以及中断处理流程中的关键环节。通过生动的"海公公"比喻,阐释了中断控制器作为CPU与外设之间仲裁者的重要作用。文章详细讲解了中断的硬件架构、中断源分类(外部/内部)、中断类型(PPI/SGI/SPI)以及中断处理过程中的优先级管理、中断请求触发机制等核心概念。最后提及中断向量表作为中断服务程

鸿蒙系统调用全流程解析:从用户态到内核态的七段代码追踪 本文通过一张流程图和七段代码详细剖析了鸿蒙操作系统从用户态到内核态的系统调用全过程。关键环节包括: 应用程序通过mq_open发起系统调用 库函数将调用号存入R7寄存器,参数存入R0-R3 SVC指令触发模式切换至内核态 汇编处理程序_osExceptSwiHdl保存用户现场 内核根据调用号执行注册函数SysMqOpen 处理完成后恢复用户现

本文介绍了鸿蒙内核的时间管理机制,系统以Tick为基本时间单位,通过g_sysClock系统时钟提供服务。核心内容包括: 时间单位转换 用户使用秒/毫秒计时 系统以Tick为单位,默认每秒100Tick(10ms/Tick) 提供LOS_MS2Tick/LOS_Tick2MS进行毫秒-Tick转换 时钟层级 时钟周期(Cycle):硬件晶振决定的最小计时单位 Tick周期:操作系统基本时间单位,用
测试任务Example_TaskEntry创建一个信号量,锁任务调度,创建两个任务Example_SemTask1、Example_SemTask2,Example_SemTask2优先级高于Example_SemTask1,两个任务中申请同一信号量,解锁任务调度后两任务阻塞,测试任务Example_TaskEntry释放信号量。Example_SemTask2得到信号量,被调度,然后任务休眠20
本文介绍了鸿蒙系统中的消息队列机制。消息队列是一种用于任务间通信的重要数据结构,支持异步消息传递和缓冲功能。鸿蒙的消息队列具有先进先出特性,支持读写超时机制,允许不同长度的消息传输。系统通过消息队列池管理所有队列,默认支持1024个队列。文章详细解读了队列控制块的结构设计,包括队列长度、消息大小、读写指针等核心字段。同时分析了队列的初始化流程和创建过程,展示了鸿蒙如何高效管理队列资源。消息队列机制

本文介绍了鸿蒙系统基于ARMv6架构LDREX和STREX指令实现的原子操作机制。通过汇编指令确保对共享内存的"读取-修改-写入"操作具有原子性,防止多任务访问导致的数据不一致问题。文章详细解析了LOS_AtomicAdd和LOS_AtomicSub等关键函数的实现原理,包括C语言内嵌汇编代码的运作过程,以及volatile关键字在保证内存访问一致性中的作用。这些原子操作接口为

CPU工作模式解析:鸿蒙内核中的特权与异常处理 摘要:本文深入剖析了CPU的七种工作模式(用户模式、快速中断、普通中断、管理、终止、系统和未定义模式),揭示了鸿蒙内核如何通过特权等级和异常处理机制构建安全稳定的系统环境。重点分析了三种核心技术实现: 栈空间分配方案:每种模式独立分配栈空间(如管理模式8K),并支持多核扩展; 异常入口机制:遵循ARM架构的固定入口地址表,建立从开机代码到各类异常处理

鸿蒙内核汇编解析 本文分析了鸿蒙操作系统的关键汇编代码,重点介绍了用户空间与内核空间数据拷贝机制以及系统启动流程。 用户空间数据拷贝(hw_user_get.S) 实现用户空间到内核空间的安全数据拷贝 通过汇编指令完成不同长度数据的精确传输 包含错误处理机制,确保数据可靠性 系统启动代码 分为多核(reset_vector_mp.S)和单核(reset_vector_up.S)两种版本 单核启动流
鸿蒙事件机制解析 事件是鸿蒙系统中任务间通信的核心机制,主要用于任务同步。其特点包括: 通过32位无符号整型记录31种事件类型(第25位保留) 支持一对多和多对多的同步模型 提供三种事件读取模式(AND、OR、CLR) 关键结构体EVENT_CB_S包含: uwEventID:记录发生的事件类型 stEventList:挂载等待该事件的任务链表 核心流程: 生产者任务通过LOS_EventWrit

本文包含两部分内容:鸿蒙开发系列文章推荐和内核技术要点解析。 鸿蒙开发系列文章探讨了移动开发行业前景、鸿蒙应用与系统开发比较、嵌入式开发转型、大前端开发者转鸿蒙等问题,并提供了鸿蒙全栈学习笔记。 内核技术解析重点讲述了: 任务(线程)是CPU执行指令的基本单位,内核通过任务调度管理CPU资源 多线程的实现机制,包括main函数和新线程的入口处理 定时器是通过高优先级系统任务实现的 Percpu结构








