- 博客(365)
- 资源 (3)
- 收藏
- 关注
原创 【OpenHarmony】communication_ipc模块
OpenHarmony的communication_ipc模块是一个进程间通信(IPC)与远程过程调用(RPC)基础框架组件,提供本地Binder通信和跨设备DSoftBus通信能力。核心功能包括数据序列化、服务注册发现、死亡通知及多语言支持(C++/C/JS/Rust等)。该模块采用代理/存根分离、抽象传输层等设计模式,统一管理本地与跨设备通信,支持128MB大数据传输,并与系统服务管理(SAMgr)深度集成,是OpenHarmony分布式能力的关键基础设施。
2026-06-15 11:14:22
629
原创 【OpenHarmony】startup_init 模块
startup_init模块是OpenHarmony系统的用户态启动入口(pid=1),负责从内核引导到系统服务拉起的全流程管理。该模块采用分阶段设计:第一阶段完成设备节点创建和关键分区挂载,第二阶段实现参数服务、配置加载和服务管理。核心功能包括服务生命周期管理(启动/停止/重启)、配置驱动的命令执行机制,以及崩溃恢复等容错处理。模块通过.cfg/JSON配置文件定义jobs和服务,采用状态机模式和事件驱动机制,支持多种启动场景如正常开机、充电模式等。
2026-05-19 11:48:32
616
原创 【Linux】调度器底层原理深入探索
本文深入解析了Linux调度器的底层原理。首先介绍了调度基础概念,包括调度目标、进程状态和调度时机。接着详细讲解了Linux的多种调度策略(SCHED_OTHER/FIFO/RR/DEADLINE等)及其适用场景。重点剖析了CFS(完全公平调度器)的核心机制,包括虚拟运行时间(vruntime)的计算方法、红黑树管理就绪队列的数据结构,以及nice值与权重的映射关系。文章还对比了Linux调度器的发展历程,从早期的O(n)调度器到现代CFS调度器的演进过程,帮助读者全面理解Linux进程调度的实现原理。
2026-03-23 17:03:00
628
原创 【Linux】线程底层原理完全指南
本文全面解析Linux线程底层原理,从基础概念到实际应用。主要内容包括:1) 线程与进程的核心差异对比;2) Linux轻量级进程(LWP)实现机制;3) 线程创建与管理(pthread_create/std::thread);4) 线程同步机制(互斥锁/读写锁)及其C++11实现;5) 死锁避免策略。重点剖析了线程共享/独有资源、内核级实现细节,以及现代C++多线程编程的最佳实践。
2026-03-09 14:52:10
502
原创 【Linux】进程底层原理完全指南
本文深入解析了Linux进程的底层原理,主要内容包括: 进程基础概念:介绍了进程的定义、组成结构(栈、堆、数据段、代码段等)、进程控制块(task_struct)以及进程标识符获取方法。 进程创建机制:详细讲解了fork()系统调用的工作原理、Copy-on-Write(COW)优化技术,以及exec系列函数的使用方法和fork+exec的经典模式。 进程状态管理:阐述了Linux进程的7种状态(运行、睡眠、停止等)及其转换关系,包括进程的生命周期变化。
2026-03-09 10:46:41
633
原创 【OpenHarmony】ability_base 模块
OpenHarmony ability_base模块是元能力子系统的基础组件,提供Want(组件启动参数)、Configuration(系统配置)、URI(资源标识符)等核心功能,支持应用组件启动、参数传递和资源访问。该模块采用接口抽象化、类型包装和序列化设计,包含WantParams、ElementName等数据结构,为上层框架提供基础支持。系统架构包含NDK层C API和Native C++ API层,采用构建器、工厂方法等设计模式实现跨进程通信和数据传输。
2026-03-05 11:18:41
511
原创 【C++】锁底层原理与死锁排查完全指南
本文深入解析C++多线程编程中的锁机制,包括原子操作基础、互斥锁原理及死锁排查方法。主要内容涵盖:1) 原子操作的必要性及std::atomic的实现;2) 互斥锁底层原理与std::mutex、lock_guard等RAII封装的使用;3) 递归锁、内存序等高级特性。文章采用分层架构展示锁机制从硬件原子指令到应用层的完整调用链,并详细解释了CAS操作、生产者-消费者模式等典型应用场景。最后还提供了死锁检测与预防的实用方法,是C++并发编程的全面指南。
2026-03-03 15:15:47
757
1
原创 【C++】结构体精通:从基础到底层原理
本文深入解析C++结构体的核心概念与应用技巧。首先介绍了结构体的基本定义、内存布局和多种初始化方式。然后对比了struct与class的区别,指出struct默认成员为public而class默认为private。重点讲解了内存对齐原理,包括对齐规则、填充机制和优化方法,如成员重排序和使用#pragma pack。最后详细介绍了位域技术,展示了如何精确控制成员位数,以及联合体与位域结合使用的技巧。这些知识对优化内存使用、提升程序性能具有重要意义。
2026-03-03 10:27:57
935
原创 【C++】多态底层实现原理:从虚函数表到内存布局
C++多态实现机制解析 本文深入探讨了C++多态特性的底层实现原理,重点分析了虚函数表(vtable)和虚指针(vptr)的工作机制。主要内容包括: 多态的基本概念与实现方式:通过基类指针/引用调用派生类方法,区分静态绑定与动态绑定 虚函数表核心机制:每个含虚函数的类拥有独立的vtable,存储函数指针;对象通过vptr指向对应的vtable 内存布局分析:展示了虚函数与非虚函数类的内存结构差异,解释了vptr的位置和初始化时机 继承场景下的vtable变化等
2026-02-28 16:45:42
920
1
原创 【C++】内存管理精通指南
C++内存管理是程序性能与稳定性的关键,本文深入剖析了内存模型的核心机制: 程序内存布局:详细解析了虚拟地址空间中.text、.data、.bss、堆、栈等各段的特性与用途 栈内存机制: 采用LIFO结构管理函数调用和局部变量 每个函数调用创建独立栈帧 自动管理但大小有限(1-8MB) 堆内存管理: 通过new/delete或malloc/free手动控制 分配器采用小内存桶和大内存块策略 存在内存碎片问题(外部/内部碎片) 常见陷阱:内存泄漏、悬垂指针、重复释放、分配释放不匹配
2026-02-27 14:57:44
681
原创 【C++】指针底层原理深度解析
本文深入解析C++指针的底层原理,从内存模型到指针运算。指针本质是存储变量地址的变量,其大小由系统架构决定。文章详细讲解了栈/堆内存分配、指针算术运算规则(地址增减基于类型大小)、多级指针间接访问机制,以及指针与数组的关系(数组名退化为指针)。同时介绍了指针比较、差值运算等特性,揭示了指针在动态内存管理、数据结构和多态实现中的核心作用,为深入理解C++内存操作提供理论基础。
2026-02-26 11:24:16
821
原创 【OpenHarmony】输入法imf框架
OpenHarmony输入法框架(IMF)模块是系统基础服务层的核心组件,提供应用与输入法间的桥梁功能。主要功能包括输入法生命周期管理、软键盘面板控制、多用户会话管理、安全输入等。采用Client-Service-IME三层架构设计,基于IPC通信实现跨进程交互。模块包含应用客户端(InputMethodController)、输入法服务(InputMethodSystemAbility)和输入法应用(InputMethodAbility)三个核心部分,支持单例、代理、观察者等多种设计模式。
2026-02-04 10:27:18
1069
原创 【C++】【Linux】从零实现日志库:LogLib 设计与实现详解
本文详细介绍了从零实现高性能C++日志库LogLib的设计与实现。该日志库采用分层架构设计,包含用户接口层、日志器层、格式化层、输出层和基础设施层,支持同步和异步两种日志模式。核心技术包括无锁环形缓冲区实现多线程并发写入、分级内存池优化内存管理、多种设计模式组合提升扩展性。通过CMake构建系统支持示例程序、测试和性能基准测试,实现了百万级日志吞吐量和纳秒级延迟的性能目标。该项目不仅具有实用价值,也是学习C++高性能编程的绝佳范例。
2026-01-19 11:15:38
828
原创 Git 完全指南:从入门到精通
Git 完全指南摘要 Git 是一个分布式版本控制系统,由 Linus Torvalds 创建,具有高性能、数据完整性和强大分支管理能力。
2026-01-14 14:38:32
1168
原创 【OpenHarmony】Updater 升级包安装组件
OpenHarmony Updater是升级子系统的核心组件,运行在独立分区中,主要实现升级包管理、程序执行、差分还原、分区管理等功能。采用分层架构和模块化设计,包含Package、Script、ApplyPatch等独立模块,支持多种升级模式(OTA、SD卡、Flashd等)。设计上注重可靠性(断点续传、异常回滚)、安全性(多重校验)和可扩展性(模块化),通过单例、工厂、策略等设计模式实现功能,为OpenHarmony系统提供安全稳定的升级服务。
2026-01-05 11:43:15
1291
原创 【OpenHarmony】升级服务组件(UpdateService)
OpenHarmony升级服务组件(UpdateService)是系统升级的核心模块,提供版本检查、升级包下载、策略管理、升级执行等功能。作为System Ability(SA 3006)独立运行,采用分层架构设计,包含应用层、框架层、服务层和系统服务层。该组件支持OTA在线升级、本地升级包安装及设备恢复出厂设置,通过状态机管理升级流程,采用代理模式、单例模式等多种设计模式确保可靠性。模块结构清晰,包含接口定义、服务实现、工具类等目录,实现安全可靠的系统升级能力。
2026-01-05 11:16:28
1084
原创 【C++】深入理解回调函数:从入门到精通完全指南
回调函数(Callback Function)是指通过函数指针、函数对象或其他机制传递给另一个函数的可调用实体,它会在特定条件满足时被"回调"执行。你把一个函数A交给函数B,让B在某个时刻调用A,这个A就是回调函数。
2026-01-04 11:27:57
1529
原创 【OpenHarmony】HiAppEvent模块
HiAppEvent是OpenHarmony DFX子系统的核心组件,为应用提供轻量级事件打点能力。该模块支持JS/TS、Native C/C++等多种编程接口,提供事件记录、分类(故障/统计/安全/行为)、存储及订阅功能。采用分层架构设计,包含接口层、核心业务层和数据存储层,使用单例模式、观察者模式等实现高性能异步处理。HiAppEvent适用于应用故障分析、用户行为追踪等场景,与多个系统模块协作,为开发者提供全面的应用运行状态分析能力。
2025-12-31 10:15:36
1095
原创 【OpenHarmony】Hiview架构
Hiview是OpenHarmony系统中的跨平台终端设备维测服务集,采用插件化架构设计,提供系统事件管理、故障日志收集、性能监控等核心功能。其架构分为服务层、核心层、基础层和插件层,支持事件驱动和流水线处理机制。通过工厂模式、观察者模式等设计模式实现松耦合的插件管理,与HiSysEvent、FaultLoggerd等模块协作,为系统维护和故障诊断提供统一解决方案。
2025-12-25 15:43:33
1367
原创 【OpenHarmony】日志服务hilog_lite
HiLog_Lite 是 OpenHarmony 系统的轻量级日志组件,提供多级别日志输出、模块化管理、隐私保护和多种输出方式。采用分层架构设计,支持轻量系统(LiteOS-M)和小型系统(LiteOS-A),包含接口层、框架层、服务层和驱动层。核心功能包括异步日志处理、日志流量控制、隐私标记等,通过单例模式、观察者模式等设计实现高效低耗的日志服务,为系统调试和问题定位提供基础设施。
2025-12-16 16:59:47
932
原创 【OpenHarmony】日志服务hilog
HiLog是OpenHarmony操作系统的核心日志系统,提供统一的日志打印和管理功能。该模块采用客户端-服务端架构,支持多语言接口(C/C++/JS/Rust)和多种日志类型(APP/CORE/INIT/KMSG)。主要功能包括日志分级管理(DEBUG/INFO/WARN/ERROR/FATAL)、流控机制、日志落盘和压缩存储。系统由三部分组成:接口层提供API,框架层处理日志格式化和传输,服务层通过hilogd常驻服务实现日志收集和管理。
2025-12-16 16:37:53
1467
2
原创 【OpenHarmony】USB服务组件
USB Manager模块是OpenHarmony系统中负责USB设备管理的核心服务模块,采用分层架构设计,主要提供四大功能:USB Host设备管理(设备枚举、数据传输)、USB Device功能切换(ACM/ECM/HDC等模式)、USB端口角色管理以及串口设备控制。模块采用单例模式、观察者模式等设计模式,通过SystemAbility方式运行,与驱动子系统、权限管理、公共事件服务等模块交互。
2025-12-16 14:14:53
1458
原创 【OpenHarmony】轻量级公共基础库commonlibrary_utils_lite
OpenHarmony轻量级公共基础库(commonlibrary_utils_lite)是系统的核心基础模块,提供文件操作、定时器、KV存储、JS API等通用功能。该模块采用分层架构设计,包含接口层、实现层和硬件适配层,支持跨平台兼容性和轻量化需求。作为公共基础子系统,它为上层应用和框架层提供基础服务,同时依赖底层内核和硬件抽象层。模块采用适配器、单例等设计模式,确保高可靠性和易用性,适用于物联网设备等资源受限场景。
2025-12-15 10:30:35
948
原创 【OpenHarmony】Docker镜像打包指南
本文介绍了pack-openharmony-rootfs.sh脚本的使用方法,该脚本可将OpenHarmony构建输出打包为Docker镜像,无需本地安装Docker。脚本支持两种输出格式:完整的Docker镜像格式(推荐)和rootfs格式,并允许自定义镜像名称、标签和输出路径。详细说明了目录结构要求、命令行参数、打包过程以及两种输出格式的区别。Docker镜像格式包含完整的配置信息,可直接通过docker load导入;而rootfs格式更精简,需使用docker import导入。
2025-12-15 09:36:19
1038
原创 【OpenHarmony】OpenHarmony ETS Utils实现
OpenHarmony ETS Utils模块是一个综合性工具库,为OpenHarmony系统提供核心JavaScript/TypeScript运行时支持。该模块包含四个主要子模块:js_api_module(URL/URI/XML/Buffer处理)、js_util_module(容器/JSON/流工具)、js_sys_module(进程/控制台/定时器)和js_concurrent_module(任务池/Worker线程/异步锁)。
2025-12-12 17:49:12
1111
原创 【OpenHarmony】匿名共享内存模块详解
Ashmem匿名共享内存模块解析 Ashmem是Android/Linux系统提供的匿名共享内存机制,通过文件描述符实现高效进程间通信。核心特点包括:基于文件描述符访问、跨进程共享内存区域、自动回收机制。相比传统IPC方式,Ashmem实现了零拷贝数据传输,避免了数据复制开销,特别适合大数据量场景。 工作原理包含四个关键步骤:创建共享区域(open/ioctl)、内存映射(mmap)、数据读写(直接访问)、资源释放(munmap/close)。
2025-12-12 10:41:46
1590
原创 【OpenHarmony】设计模式模块详解
设计模式模块摘要 本模块提供两种经典设计模式的实现: 单例模式:确保类只有一个实例,包含3种实现: Singleton:饿汉式(启动时创建) DelayedSingleton:懒汉式+智能指针(首次使用时创建) DelayedRefSingleton:懒汉式+裸指针(首次使用时创建) 观察者模式:实现对象间一对多的依赖关系,包含: Observable:被观察者基类 Observer:观察者基类 所有实现均为线程安全,适用于多线程环境。模块通过模板类和智能指针提供灵活、高效的对象管理方案。
2025-12-12 10:34:53
1057
原创 【OpenHarmony】智能指针模块详解
智能指针模块摘要 智能指针是一种自动管理对象生命周期的机制,通过引用计数技术解决传统裸指针常见的内存泄漏、悬空指针等问题。
2025-12-10 10:47:04
665
原创 【OpenHarmony】线程管理模块
线程管理模块提供线程创建、线程池、读写锁和信号量等工具,简化多线程编程。Thread类封装原生pthread,支持优雅退出;ThreadPool实现线程复用;RWLock提供读写分离的锁机制;Semaphore控制并发数量。采用RAII锁守卫模式确保资源安全释放,适用于高并发场景。
2025-12-10 10:30:19
1006
原创 【OpenHarmony】Parcel容器详解
Parcel 是一个智能数据容器,用于进程间通信的数据序列化和传输。它支持多种数据类型(基本类型、字符串、数组、自定义对象等)的打包和解包操作。Parcel 通过三大核心类协同工作:Parcel 作为数据容器,Parcelable 接口使对象可序列化,Allocator 负责内存管理。这种设计实现了高效的数据跨进程传输,采用类似"快递箱"的机制,将数据序列化为字节流传输后再反序列化还原。Parcel 还通过引用计数和智能指针确保内存安全,是Android系统进程间通信的重要基础组件。
2025-12-09 16:10:21
1306
原创 【OpenHarmony】commonlibrary_c_utils实现
C++公共基础库(c_utils)是OpenHarmony系统的核心基础模块,提供常用C++开发工具类,包括智能指针管理、数据序列化、线程同步、安全容器、文件操作、定时器等核心功能。该模块采用分层设计、RAII原则和线程安全机制,应用单例、观察者等多种设计模式,为上层子系统提供通用基础能力。模块包含base/include头文件目录和base/src实现目录,支持Rust语言绑定扩展,并通过单元测试、性能测试等确保质量。作为系统底层基础服务,c_utils被IPC/RPC框架、分布式数据管理等模块广泛依赖。
2025-12-09 15:48:16
2032
原创 Binder IPC 实现机制深度解析
本文深入剖析Binder IPC(进程间通信)的实现机制。通过Binder架构,实现了WebView进程与后台服务进程的解耦,大幅提升了系统稳定性、安全性和可维护性。
2025-11-27 10:41:36
891
原创 【OpenHarmony】HDF 核心框架
HDF核心框架是OpenHarmony驱动子系统的核心模块,提供驱动生命周期管理、服务发布与发现、IPC通信、配置解析等功能。该框架采用分层设计,包括设备管理层、宿主进程层和设备节点层,通过HCS配置驱动加载策略。支持工厂模式、观察者模式等设计模式,实现硬件抽象和跨平台适配。架构上连接应用层与底层硬件,提供统一的HDI接口,支持轻量和标准两种系统形态,实现一次开发,多系统部署目标。
2025-10-18 18:51:20
1556
1
原创 【OpenHarmony】外部设备管理器架构
OpenHarmony外部设备管理器架构概述 OpenHarmony的外部设备管理器(External Device Manager)是驱动子系统中的核心组件,负责管理可插拔设备。该模块位于HDF框架内,提供设备生命周期管理、驱动包管理、总线扩展支持等功能。
2025-10-18 18:50:24
1087
原创 【OpenHarmony】医疗传感器模块架构
医疗传感器模块是OpenHarmony系统中负责健康数据采集与处理的核心组件。该模块采用分层架构设计,包含应用层API、框架层、服务层和HDI接口层,支持PPG、ECG、心率等多种医疗传感器。主要功能包括健康数据采集、传感器管理、数据预处理和算法集成,通过严格权限控制确保数据安全。模块采用单例模式、观察者模式等设计模式,实现传感器生命周期管理和数据订阅机制。该模块作为传感器子系统的专用部分,为健康监测、医疗设备等应用场景提供统一的数据接口,是OpenHarmony健康生态的关键基础设施。
2025-10-17 11:51:21
1157
原创 【OpenHarmony】sensors_miscdevice小器件模块架构
OpenHarmony的小器件模块(sensors_miscdevice)是传感器子系统中的核心服务模块,主要用于控制马达振动和LED灯等小器件设备。模块采用分层架构设计,包括接口层、服务层、适配层和驱动层,支持多种控制模式如定时振动、预设效果振动等。其核心功能包含设备管理、权限控制和优先级管理,应用场景涵盖系统通知、用户交互反馈等。模块采用单例模式、代理模式等设计模式,通过HDF硬件抽象层实现硬件控制,并依赖系统服务框架提供服务注册。
2025-10-17 11:50:25
1108
原创 【OpenHarmony】传感器轻量级服务模块架构
OpenHarmony传感器轻量级服务模块(sensors_sensor_lite)是传感器子系统的核心组件,为上层应用提供统一的传感器数据访问接口。该模块采用分层架构设计,包含代理模式、工厂模式、观察者模式等多种设计模式,支持多传感器类型(如加速度计、陀螺仪等)的数据查询、订阅、控制等功能。主要结构包括SensorInfo(传感器信息)、SensorEvent(传感器事件)和SensorUser(用户数据)等核心数据结构,通过代理接口实现客户端与服务端通信。
2025-10-16 09:19:12
1268
1
Linux 调度器底层原理深入探索
2026-03-23
Linux 线程底层原理项目,深入探索 Linux 线程的底层原理,包括线程创建、同步原语、原子操作、线程池等核心概念
2026-03-09
Linux 进程底层原理项目,深入探索 Linux 进程的底层原理,包括进程创建、进程状态、进程间通信、进程调度等核心概念
2026-03-09
C++ 锁底层原理与死锁排查完全指南
2026-03-03
C++ 多态底层实现,深入探索 C++ 多态机制的底层实现,包括虚函数表、vptr、RTTI 等核心概念
2026-02-28
C++ 内存管理精通,深入理解C++内存模型,从底层原理到高级优化技术,全面掌握内存管理的艺术
2026-02-27
一个全面的C++指针学习项目,通过可视化代码示例深入展示指针的底层工作机制
2026-02-26
C++ 日志库的完整实现,涵盖无锁队列、内存池、异步日志、设计模式等核心技术
2026-01-19
asp.net基于三层模式教研室教学资料管理系统毕业源码案例设计.zip
2023-10-12
Web前端大作业.zip
2020-05-22
简单的javaweb项目实现登陆注册修改删除等
2020-07-01
网络嗅探器的设计与使用.zip
2020-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅