OpenHarmony(鸿蒙南向开发)——子系统开发内核

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

内核概述

内核简介

用户最常见到并与之交互的操作系统界面,其实只是操作系统最外面的一层。操作系统最重要的任务,包括管理硬件设备,分配系统资源等,我们称之为操作系统内在最重要的核心功能。而实现这些核心功能的操作系统模块,业界一般称之为操作系统“内核”。

实现原理

操作系统是位于应用和硬件之间的系统软件,向上提供易用的程序接口和运行环境,向下管理硬件资源。内核位于操作系统的下层,为操作系统上层的程序框架提供硬件资源的并发管理。

图1 操作系统架构

多内核架构和基本组成

业界的内核有很多,但无论是什么内核,基本上有几个最重要的组成单元是每个内核均要具备的,分别是:

  • 负责持久化数据,并让应用程序能够方便的访问持久化数据的“文件系统”。
  • 负责管理进程地址空间的“内存管理”。
  • 负责管理多个进程的“进程管理”或者“任务管理“。
  • 负责本机操作系统和另外一个设备上操作系统通信的“网络”。

OpenHarmony采用了多内核结构,支持Linux和LiteOS,开发者可按不同产品规格进行选择使用。Linux和LiteOS均具备上述组成单元,只是实现方式有所不同。多个内核通过KAL(Kernel Abstraction Layer)模块,向上提供统一的标准接口。

内核子系统位于OpenHarmony下层。需要特别注意的是,由于OpenHarmony面向多种设备类型,这些设备有着不同的CPU能力,存储大小等。为了更好的适配这些不同的设备类型,内核子系统支持针对不同资源等级的设备选用适合的OS内核,内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽内核间差异,对上层提供基础的内核能力。

图2 OpenHarmony架构图

不同内核适配的系统及设备类型

OpenHarmony按照支持的设备可分为如下几种系统类型:

  • 轻量系统(mini system) 面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。

  • 小型系统(small system) 面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为1MiB,可以提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行域的行车记录仪等。

  • 标准系统(standard system) 面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB,可以提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。

OpenHarmony针对不同量级的系统,使用了不同形态的内核

OpenHarmony鸿蒙南向开发)——标准系统内核(Linux) 标准系统类设备是面向应用处理器的设备,支持的设备最小内存为128MiB。OpenHarmony选择Linux内核作为基础内核,可以对不同资源受限的设备产品配置出适合的OS内核,为上层提供基础的操作系统能力。 阅读详情

相关推荐

鸿蒙OpenHarmony南向开发 轻量系统芯片内核移植

本文介绍了OpenHarmony系统中芯片架构移植的关键步骤。首先说明移植芯片架构是内核移植的基础,当系统不支持目标架构时需由厂商自行适配,并详细列出了已支持的架构类型。随后阐述了将厂商SDK整合进OpenHarmony编译框架的流程,包括文件目录配置、编译脚本编写和参数设置等。文章重点说明了内核配置文件的定制方法,列举了主要配置项及其作用。最后介绍了添加内核子系统和特性开关配置的方法,包括如何通过修改config.json文件来启用或禁用特定功能。整个移植过程涉及芯片架构适配、SDK整合、内核配置和子系统

yx525623的博客 852

鸿蒙HarmonyOS开发:零基础也能成为开发

HarmonyOS就是我们说的华为鸿蒙系统HarmonyOS是一款全新的面向全场景的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

在这里,我乐于倾囊相授,分享我的技术心得、项目实战经验、技术技巧。希望能够惠及更多的开发者,助力大家在技术的海洋中扬帆远航。 1万+

鸿蒙开发语言、工具以及开发环境。

鸿蒙应用的开发还涉及到鸿蒙自定义组件和布局的使用,以及与鸿蒙OS的API进行交互。1. Java:作为鸿蒙系统原生支持的开发语言之一,Java在鸿蒙应用开发中占据重要地位,尤其是对于Android开发人员来说,可以较为容易地迁移和开发应用。4. ArkTS:这是基于TypeScript的声明式UI开发框架,是鸿蒙系统提供的一种新型的开发语言,它可以让开发者以更加高效和声明式的方式开发UI界面。总的来说,鸿蒙操作系统开发者提供了丰富的开发框架、工具和资源,使得开发跨平台、高性能的鸿蒙应用成为可能。

this_is_bug的博客 4986

鸿蒙(HarmonyOS)应用开发指南

1. 概述1.1 简介鸿蒙(即 HarmonyOS开发代号 Ark,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的分布式操作系统。该系统利用“分布式”技术将手机、电脑、平板、电视、汽车和智能穿戴等多款设备融合成一个“超级终端”,使用户便于操作和共享各种设备的资源。1.2 本文读者收获帮助开发者全面了解 Harmon...

奇舞周刊 7783

鸿蒙南向开发OpenHarmony 子系统开发内核

用户最常见到并与之交互的操作系统界面,其实只是操作系统最外面的一层。操作系统最重要的任务,包括管理硬件设备,分配系统资源等,我们称之为操作系统内在最重要的核心功能。而实现这些核心功能的操作系统模块,业界一般称之为操作系统内核”。OpenHarmony的Linux内核基于开源Linux内核LTS分支演进,在此基线基础上,回合CVE补丁及OpenHarmony特性,作为OpenHarmony Common Kernel基线。针对不同的芯片,各厂商合入对应的板级驱动补丁,完成对OpenHarmony的基线适配。

adaedwa187545的博客 1031

OpenHarmony鸿蒙南向开发)——轻量系统芯片内核移植

编译框架搭建完成后,需要将芯片厂商的SDK加入OpenHarmony编译框架,从而可以编译出带SDK的烧录文件(此时编译出的是不带系统的裸机工程),以便OpenHarmony可以调用SDK中的接口。参考文件路径:“device/hisilicon/hispark_pegasus/sdk_liteos/platform/os/Huawei_LiteOS/targets/hi3861v100/include/target_config.h”路径:“kernel/liteos_m/kal/BUILD.gn”

weixin_44796857的博客 1476

鸿蒙南向开发】轻量级系统内核移植

编译框架搭建完成后,需要将芯片厂商的 SDK 加入 OpenHarmony 编译框架,从而可以编译出带 SDK 的烧录文件(此时编译出的是不带系统的裸机工程),以便 OpenHarmony 可以调用 SDK 中的接口。参考文件路径:“device/hisilicon/hispark_pegasus/sdk_liteos/platform/os/Huawei_LiteOS/targets/hi3861v100/include/target_config.h”添加完内核子系统后,可以编译出带有系统的工程。

huchenghe2的博客 1097

鸿蒙-南向内核开发实战系列(一)基于小熊派鸿蒙开发板环境搭建

前言 前一段时间,我写过一篇关于LiteOS-A开发环境搭建的文章(实际上是将其作为独立的RTOS来开发的),今天正式讲一讲LiteOS作为鸿蒙内核子系统该如何开发。 对于HarmonyOS开发工作大致可以分为南向开发内核、驱动)和北向开发(App应用)。我们主讲南向开发。在目前的鸿蒙2.0版本下,南向内核开发的资料相对更加完善,主要是针对LiteOS内核。讲到这里,能完整编译到手机上运行的鸿蒙镜像,可能大家还要再等一等了(笔者也很期待)。 概述 为了帮大家理清楚鸿蒙开发的套路,我们从头再梳理一遍相关

一口Linux的专栏 2597

鸿蒙南向开发】—— 小型系统STM32MP1芯片移植案例

配置产品加载驱动,产品的所有设备信息被定义在源码文件//vendor/bearpi/bearpi_hm_micro/hdf_config/device_info/device_info.hcs中。moduleName要与驱动文件中定义的相同,deviceMatchAttr要与驱动私有配置信息文件gpio_config.hcs中定义match_attr的相同。系统启动时会根据//vendor/bearpi/bearpi_hm_micro/init_configs中的启动配置来启动系统

pengjiadashaoye的博客 488

OpenHarmonyHarmonyOS联系与区别

OpenHammony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的,开源项目么,开放原子开源基金会由华为、阿里、腾讯、百度、浪潮、招商银行、360等十家互联网企业共同发起组建。目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建-个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

qq_40207692的博客 1742

鸿蒙HarmonyOSOpenHarmony傻傻分不清?

OpenHarmony的这个“发动机”是开源的,这意味着其他厂商可以自由地拿去,根据自己的需求安装到自己的“车身”上,可能是大型SUV,也可能是小型经济车,还可以对“发动机”进行调校,以适应不同的性能需求。想象一下,HarmonyOS就像是华为生产的一辆完整的汽车,这辆汽车设计精良,内饰豪华,功能齐全,有自家的导航系统,智能联网功能等,而且它是专门为特定消费者群体设计的,比如销售给华为手机用户,或者与特定的硬件和服务搭配使用。我们可以把HarmonyOSOpenHarmony的关系比作汽车和发动机。

weixin_42082058的博客 1476

鸿蒙:Harmony开发基础知识详解

工欲善其事,必先利其器。 上一篇博文实现了一个"Hello Harmony"的Demo,今天这篇博文就以Demo"Hello Harmony"为例,以官网开发文档为依据,从鸿蒙开发主要的几个方面入手,详细了解一下鸿蒙开发所需的基础知识。

肖云鹤的博客 7847

OpenHarmony 简介:使用鸿蒙操作系统开发者能做的是啥呢,学习NodJS,可以开发应用了。后续慢慢学习,赶紧去加星星。

目录前言1,关于鸿蒙2,使用地址3,gitee代码4,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/81665552 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys 1,关于鸿蒙 OpenHarmony是开放原子开源基金会(OpenAtom Foundation)旗下开源项目,定位是一款面向全场景的开源分布式操作系统OpenHarmony在传统的单设备系统能力的基础

freewebsys的专栏 1万+

鸿蒙开发|开启鸿蒙开发之旅-发工具下载安装、项目创建和预览

除了上述主要语言外,鸿蒙OS还提供了对其他语言的支持,如Python和Kotlin等。开发者可以根据自己的喜好和项目需求选择合适的编程语言进行鸿蒙OS应用的开发。JavaScript是一种广泛应用于Web开发的脚本语言,也可以在鸿蒙OS开发中使用。在鸿蒙OS开发中,开发者可以使用C/C++语言进行系统级别的开发和底层驱动的编写。Java是一种广泛使用的编程语言,也是Android应用开发的主要语言之一。鸿蒙OS开发支持多种编程语言,开发者可以根据自身技术背景和项目需求选择合适的语言进行开发

肥晨开发的学习之路 9459

openhomeny鸿蒙调用so示例(亲测有效)

oh-package.json5:提供so名称和jni文件的配置。2.9、运行到模拟器之后的效果,点击我调用so api。2.7、如何引用so的api,打开Index.ets。2.5、选择entry,鼠标右键,创建libs目录。CMakeLists.txt:提供编译so的配置。1.2、选择Native C++,点击Next。2、在新项目如何引用so并调用对应的api。index.d.ts:提供jni接口的定义。2.1、如何引用编译成功的so。

szdenny的博客 3380
上一篇: OpenHarmony(鸿蒙南向开发)——标准系统方案之扬帆移植案例
下一篇: OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)
OpenHarmony_小贾
博客等级 码龄3年 1万+粉丝 · 1181原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值