开源
KaihongOS 标签描述

作者:张志成 前言 本文基于OpenHarmony源码梳理应用的启动过程,介绍appspawn/ability_runtime/ace_engine/ets_runtime等重要模块的初始化流程,以及它们之间的相互关系。 不同形态的hap应用在具体细节上会有一些差异,但整体的流程上是一致的。本文基于OpenHarmoney3.2标准系统FA模式的ets应用进行阐述。 1.应用启动整体流程 查看各个进程的父子关系可知,OpenHarmony的系统应用和用户应用进程,都是由应用孵化器(appspawn)拉起的。 应用启动的整理流程如下图所示: 说明:应用启动时,appspawn进程会fork出...

  noedAHRF1iby   2023年11月02日   36   0   0 深开鸿KaihongOSOpenHarmony

作者:张守忠 1WPA_supplicant简介 WPA是WiFiProtectedAccess的缩写,中文含义为“WiFi网络安全存取”。WPA是一种基于标准的可互操作的WLAN安全性增强解决方案,可大大增强现有以及未来无线局域网络的数据保护和访问控制水平。wpa_supplicant是开源项目源码,支持Linux,Windows以及很多嵌入式系统。它是WPA的应用层认证客户端,负责完成认证相关的登录、加密等工作。wpa_supplicant是一个 独立运行的守护进程,其核心是一个消息循环,在消息循环中处理WPA状态机、控制命令、驱动事件、配置信息等。经过编译后 的wpa...

  noedAHRF1iby   2023年11月13日   22   0   0 深开鸿KaihongOSOpenHarmony

作者:陈迅 一,性能问题分析方式 一般来说,我们发现程序卡顿,排除其他程序问题和硬件问题,那一定是自身程序中某个位置运行时,消耗的时间过长导致,要找到耗时的代码段,才能有针对性的进行优化,那第一个问题就是如何找到耗时的代码段。 首先我们能想到,在程序中可能存在问题的地方,加入计算时间差的代码,然后不断缩小范围,找到最终耗时的点 include<sys/time.h> uint64_tGetTimeStampUS() { structtimevaltv; gettimeofday(&tv,NULL); returntv.tv_sec1000000+tv.tv_usec; } ...

  noedAHRF1iby   2023年11月02日   35   0   0 深开鸿KaihongOSOpenHarmony

作者:赵军霞 前言 服务卡片是一种界面展示形式,将服务的重要信息以卡片的形式展示给用户,用户可通过轻量交互行为实现服务直达、减少层级跳转的目的。原子化服务卡片的核心理念在于提供用户容易使用且一目了然的信息内容,将智慧化能力融入到原子化服务卡片的体验中供用户选择使用,同时满足在不同终端设备上的展示。 1.基本概念 卡片使用方 显示卡片内容的宿主应用,控制卡片在宿主中展示的位置,如桌面、原子化服务中心等。 卡片管理服务 用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。 卡片提供方 提供卡片显示内容的OpenHarmony应用或原子化服务,控制卡片的显示内容、...

  noedAHRF1iby   2023年11月02日   27   0   0 深开鸿KaihongOSOpenHarmony

作者:王清 由浅入深学习新模块之window_manager(二) 前言: 在上一篇文章https://ost.51cto.com/posts/20923中,主要介绍了window_manager的发展史和功能介绍,本文开始介绍OpenHarmony的window_manager的具体实现相关。 window_manager在OpenHarmony中的代码目录: foundation/window/window_manager/ ├──dmDislplayManagerClient实现代码 │├──BUILD.gn │├──include │├──src │└──test ├──dmserve...

  noedAHRF1iby   2023年11月02日   26   0   0 深开鸿KaihongOSOpenHarmony

作者:赵军霞 前言 关于NAPI接口相关知识,之前我们介绍过NAPI同步异步接口使用方法、应用启动触发的ArkUIets_runtime启动流程,从NAPI使用到整体流程给大家做了介绍,本次我们针对NAPI模块注册流程做深入介绍,给大家后续工作中开发、使用NAPI接口提供指导。 OpenHarmony源码解析之ACE(JavaScript运行环境初始化) OpenHarmony源码解析之JavaScriptAPI框架(NAPI) OpenHarmonyArkUIets_runtime启动流程源码解读 1.模块注册简介 NAPI模块注册是在系统框架层与应用层的相互配合下完成的,下面简要介绍一下大...

  noedAHRF1iby   2023年11月02日   33   0   0 深开鸿KaihongOSOpenHarmony

作者:蒋卫峰钟文清 <br> 引言 分析Overlayfs联合文件系统源自于培养OpenHarmony高端人才的动机,通过讲Overlayfs联合文件系统移植到Liteos_A内核的项目培养一批精通OpenHarmony内核的人才,也通过本文向各位热爱OpenHarmony内核的技术开发者和爱好者叙说一个复杂文件系统的具体实现过程和包含的软件思想,我们是一群热爱OpenHarmony,热爱开源,传递技术正能量的OpenHarmony开发工程师。 Overlayfs是一种联合文件系统,它以堆叠的形式将不同的目录挂载到同一个虚拟文件系统下。Overlayfs文件系统像其他文件系统一样,...

  noedAHRF1iby   2023年11月02日   35   0   0 KaihongOS源码解析OpenHarmony

作者:深开鸿技术团队-蒋卫峰深开鸿技术团队-钟文清 引言 在前篇中介绍了Linux是如何挂载Overlay文件系统的,重点关注了Overlay的挂载流程的实现和关键数据结构的关系,而在本文中主要介绍OverlayFS的目录相关的关键数据结构和目录的相关接口,其中比较复杂的接口将会在下一篇中展开介绍。 1.Overlay关键数据结构 1.1目录文件 structovl_dir_file{ boolis_real; boolis_upper; structovl_dir_cachecache; structlist_headcursor; structfilerealfile; structfi...

  noedAHRF1iby   2023年11月02日   36   0   0 深开鸿KaihongOSOpenHarmony

作者:查维 Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含多个Ability),OpenHarmonyOS支持应用以Ability为单位进行部署。Ability可以分为FA(FeatureAbility)和PA(ParticleAbility)两种类型,每种类型为开发者提供了不同的模板,以便实现不同的业务功能。 以上摘自官方文档,本文简要介绍Page应用(AceAbility为例)启动过程,减少入手难度。 1.AppSpawn进程响应应用start请求 启动应用命令: aastart-a<ability-name>-b<...

  noedAHRF1iby   2023年11月13日   43   0   0 深开鸿KaihongOSOpenHarmony

作者:赵军霞 前言 目前OpenHarmony系统开发或者设备开发使用的主流IDE为VSCode、DevEcoDeviceTool。DevEcoDeviceTool可以帮助开发者快速连接设备、安装应用程序、调试应用程序等。DevEcoDeviceTool提供了一些功能,如设备列表、应用程序列表、日志查看器等,可以让开发者更加方便地管理和调试设备。同时,DevEcoDeviceTool还提供了一些插件,如ADB插件、HDC插件等,可以扩展其功能。DevEcoDeviceTool底层平台是VSCode,所以DevEcoDeviceTool插件即VSCode插件。本文首先介绍一下插件相关的概念、分类...

  noedAHRF1iby   2023年11月13日   19   0   0 深开鸿KaihongOSOpenHarmony

作者:吴文璐 1简介 多模输入子系统是OpenHarmony输入事件管理框架。多模输入服务接收多种类型输入设备(触摸屏、鼠标、键盘、触摸板等)的输入事件,通过归一/标准化处理后,分发给多模客户端(应用,系统服务)。多模输入还提供事件注入接口,该接口目前仅对系统应用开放。 多模输入子系统分为框架部分和服务部分:框架部分封装了各种接口给其他子系统和应用来调用;服务部分实现了这些接口,并且实现了事件派发处理的核心逻辑。这两个部分运行在不同进程中,根据具体接口,通过socket或者binderipc机制进行通信。 1.1主要模块交互图 1.2代码目录 /foundation/multimodalin...

  noedAHRF1iby   2023年11月02日   26   0   0 深开鸿KaihongOSOpenHarmony

作者:苟晶晶 前言 当开发者为OpenHarmony系统框架开发某些功能时,有时需要将这个功能包装成一个独立的服务进程运行在系统中,为了其它应用进程能够调用此服务,开发人员需要基于系统IPC通信框架编写一套远程接口调用实现。实现Service远程调用接口需要开发人员熟悉IPC通信框架,了解proxy/stub的继承与实现方式,掌握C类型转为MessageParcel数据包的各种API方法,有一定的学习成本。而Service代码生成工具能够帮助使用者生成框架代码,提升开发效率。用户只需提供一个定义远程方法的.h头文件,工具会自动生成整个Service框架的代码,包含Ability注册、proxy...

  noedAHRF1iby   2023年11月02日   39   0   0 深开鸿KaihongOSOpenHarmony

1预备知识 Linux中主要的IPC机制有:管道(pipe)、信号(signal)、信号量(semophore)、消息队列(Message)、共享内存(ShareMemory)、套接字(Socket)等。OpenHarmony基于binder驱动封装了一套ipc机制(foundation\communication\ipc)用于实现设备内的跨进程通信。Binder机制通常采用客户端-服务器(Client-Server)模型,服务请求方(Client)可获取服务提供方(Server)的代理(Proxy),并通过此代理读写数据来实现进程间的数据通信。通常,系统能力(SystemAbility)Se...

  noedAHRF1iby   2023年11月02日   74   0   0 深开鸿KaihongOSOpenHarmony