首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏韦东山嵌入式

    鸿蒙内核开发概述

    第一章 鸿蒙内核开发概述 1.1 鸿蒙系统有哪些内容? 鸿蒙系统,就相当于一套完整的PC软件系统。 ? Windows里含有: 简单地说,鸿蒙系统里含有 ① 电脑一开机,那些界面是谁显示的? 类似的,这个BIOS对应于鸿蒙里的bootloader。Bootloader的作用就是去Flash、SD卡等设备上读入鸿蒙内核,并启动它。 ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上同样的,鸿蒙系统中也有各种APP,它们位于根文件系统上。 ①bootloader:用于启动鸿蒙内核Liteos-a②内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等③ 根文件系统:系统运行必需的文件、程序④ APP:保存于根文件系统上 1.2 日常工作中开发流程是怎样 Bootloader、内核、APP等等软件,需要在Ubuntu中编译;但是阅读、修改这些源码时,在Windows下会比较方便。 所以,我们需要在Windows、Ubuntu上都存有源码。

    1.2K41发布于 2020-09-30
  • 来自专栏韦东山嵌入式

    韦东山鸿蒙开发教程03 - 鸿蒙内核开发概述

    1.1 鸿蒙系统有哪些内容? 鸿蒙系统,就相当于一套完整的PC软件系统。 Windows里含有: ① 电脑一开机,那些界面是谁显示的? 是BIOS,它做什么? 类似的,这个BIOS对应于鸿蒙里的bootloader。 Bootloader的作用就是去Flash、SD卡等设备上读入鸿蒙内核,并启动它。 ④ Windows启动之后,我们就是聊QQ、玩游戏了,这些就是APP,它们存在磁盘上 同样的,鸿蒙系统中也有各种APP,它们位于根文件系统上。 简单地说,鸿蒙系统里含有: ① bootloader:用于启动鸿蒙内核Liteos-a ②内核(含有驱动程序):提供进程管理、文件管理、硬件驱动等 ③ 根文件系统:系统运行必需的文件、程序 ④ APP: Bootloader、内核、APP等等软件,需要在Ubuntu中编译;但是阅读、修改这些源码时,在Windows下会比较方便。 所以,我们需要在Windows、Ubuntu上都存有源码。

    64020编辑于 2022-05-05
  • 来自专栏韦东山嵌入式

    鸿蒙OS最新进展】鸿蒙内核liteos-a体验

    elecfans_trackid=t_index 2.直播内容: 鸿蒙OS内核liteos-a 操作系统框架 鸿蒙OS内核liteos-a 框架分析 鸿蒙OS内核liteos-a 启动流程 鸿蒙OS 内核liteos-a 移植1:串口 鸿蒙OS内核liteos-a 移植2:MMU 鸿蒙OS内核liteos-a 移植3:中断体系 鸿蒙OS内核liteos-a 移植4:定时器 鸿蒙OS内核liteos-a 常见问题汇总 问1. liteos-a 和鸿蒙2.0有啥区别? 答: 鸿蒙是一套庞大的系统,它含有UI子系统、多媒体子系统等等。 鸿蒙支持多种内核:Linux、liteos-a。 鸿蒙也是一套完整的操作系统,Linux仅仅是鸿蒙支持的内核之一。 问2. 微内核是rtos或者uclinux之类的吗? 答: 微内核,并不是“微小的内核”。 但是liteos-a并不是对标安卓、对标Windows,鸿蒙才是对标安卓。鸿蒙是一个庞大的系统,liteos-a是鸿蒙支持的内核之一。

    2.8K61发布于 2020-09-30
  • 来自专栏鸿蒙开发笔记

    鸿蒙内核源码分析(进程管理篇) | 谁在管理内核资源?

    thread ID */ //进程ID,由进程池分配,范围[0,64] UINT16 processStatus; /**< [15:4] 如果需要多个工作人员怎么办,就是通过fork,简单说就是复制一个,复制的前提是需要有一个,鸿蒙里就是KProcess,其他工作人员都是通过它fork的。 那用户怎么来的呢? 1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......内核态根进程创建过程创建 当任何进程或者中断异常进入内核后,都是使用相同的内核代码段描述符和内核数据段描述符,它们是__KERNEL_CS和__KERNEL_DS。这里要明确记得,内核数据段实际上就是内核态堆栈段。

    33010编辑于 2025-03-06
  • 来自专栏鸿蒙开发笔记

    谁是鸿蒙内核最重要的结构体?

    [下载 source insight 4.0 破解版]可以豪不夸张的说理解LOS_DL_LIST及相关函数是读懂鸿蒙内核的关键。 前后指针(注者后续将比喻成一对左右触手)灵活的指挥着系统精准的运行,越是深入分析内核源码,越能感受到内核开发者对LOS_DL_LIST非凡的驾驭能力,笔者仿佛看到了无数双手前后相连,拉起了一个个双向循环链表 1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript holds the waitLits to support wait/waitpid *///进程持有等待链表以支持wait/waitpid} LosProcessCB;解读pendList 个人认为它是鸿蒙内核功能最多的一个链表 waitpid系统调用为SysWait,具体看进程回收篇.双向链表是内核最重要的结构体,精读内核的路上它会反复的映入你的眼帘,理解它是理解内核运作的关键所在!

    21110编辑于 2025-03-06
  • 来自专栏大龄程序员的人工智能之路

    鸿蒙系统研究之二:内核编译

    一个操作系统,最重要的部分无疑是内核鸿蒙系统声称自研了内核,从之前开源的 OpenHarmony OS 代码中可以看到,是一款名为 LiteOS 的面向 IoT 领域构建的轻量级物联网操作系统。 目录则存放的是编译脚本和内核配置。 从中也可以看出,鸿蒙系统选用的是 linux 4.19.y LTS 版本。 在之前的文章 聊一聊鸿蒙的构建系统 中,我们知道鸿蒙采用了 GN 构建系统。 生成内核.config。

    3K30发布于 2021-07-14
  • 来自专栏鸿蒙开发笔记

    鸿蒙内核源码分析(内存主奴篇)

    主子和奴才请想一个问题,内核本身也是程序要在内存运行, 用户程序一样也要在内存运行,大家都在一个窝里吃饭, 你凭什么就管我了.好像内核程序是主子,用户程序是奴才似的.哎!  其实用户进程就是内核的一个个奴才, 被捏的死死的.  按不住奴才那这主子就不合格,就不是一个稳定系统. 请想想实际内存就这么点大, 如何满足众多用户进程的需求? 内核空间和用户空间如何隔离? 1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......举例说明TLB B奴才 1 9 美术室 B奴才 2 7 武术室 再模拟一个他们的活动场景:奴才 动作1 动作2 动作3 动作4

    15110编辑于 2025-03-08
  • 来自专栏鸿蒙开发笔记

    鸿蒙OpenHarmony轻内核Kconfig使用笔记

    鸿蒙内核使用Kconfig进行图形化配置,本文专门讲解下鸿蒙内核LiteOS-M和LiteOS-A的图形化配置方法。 本文首先简单介绍下kconfig的基础知识,接着介绍下如何使用图形化配置。 鸿蒙内核使用的是Python的开源三方库kconfiglib(menuconfig只是其提供的命令之一,相关命令还有genconfig, savedefconfig等等)。 `1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript /vendor/hisilicon/hispark_aries/config/release.config3、Kconfig高级语法Kconfig大部分工程师都了解,快速介绍几个鸿蒙内核中使用到的稍微高级的语法 olddefconfig等同于silentoldconfig,对于新符号使用默认值–savedefconfig <file>把当前最小的配置保持到文件<file>小结本文介绍了Kconfig的基础知识,和鸿蒙内核的图形化配置

    49420编辑于 2025-06-09
  • 来自专栏嵌入式ARM和Linux

    sel4-微内核与宏内核

    代表OS:L4系列微内核。 宏内核——也称为单内核,所有的系统服务,包括任务调度,系统资源访问等等,都由内核态通过系统调用向用户态提供系统服务。 第二代微内核: 目标是解决第一代微内核的性能问题。代表是Liedtke的L3和L4。主要贡献是通过改进IPC机制,大幅提高了性能,并支持运行Linux,即L4 Linux(虚拟化)。 第三代微内核: 目标是解决第二代微内核的安全性问题,引用了形式化验证,号称世界上最安全的内核OS。代表是OKL4、seL4(我们后面的研究重点)。 第三代微内核的主要贡献是提出enndpoint的IPC机制、基于capability的权限管理机制,提高了安全性. 3 参考资料 如果想要深入了解微内核以及sel4,请参考下面的文章: sel4白皮书 sel4官方资料 网友laokz翻译的seL4内核参考手册

    3K30编辑于 2022-08-15
  • 来自专栏JAVA烂猪皮

    鸿蒙内核四大基础功能介绍

    本文将为大家介绍鸿蒙内核中的进程、线程、内存和网络四大基础功能,包括一些基础概念、实现功能和使用场景等,供想要深入了解鸿蒙操作系统的初学者学习参考。 OpenHarmony内核中的进程采用抢占式调度机制,支持时间片轮转调度方式和FIFO调度机制。 OpenHarmony内核每个进程内的线程独立运行、独立调度,当前进程内线程的调度不受其它进程内线程的影响。 OpenHarmony内核中的线程采用抢占式调度机制,同时支持时间片轮转调度和FIFO调度方式。 OpenHarmony内核的线程一共有32个优先级(0-31),最高优先级为0,最低优先级为31。 MREMAP_MAYMOVE:允许内核将映射重定位到新的虚拟地址。

    1.2K42发布于 2020-09-18
  • 来自专栏C++核心准则原文翻译

    自学鸿蒙应用开发(4)- 画面布局

    match_content" ohos:width="match_content" ohos:layout_alignment="horizontal_center" ohos:text="你好,鸿蒙 DirectionalLayout的详细信息可以参照鸿蒙官方的开发文档: https://developer.harmonyos.com/cn/docs/documentation/doc-guides

    64320发布于 2020-12-31
  • 来自专栏鸿蒙开发笔记

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

    `1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript ALIGN(0x180, 4)LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT具有相同优先级任务的最长执行时间。 NO修改内核中断。 内核提供了两种中断修改方式:使用厂商默认中断。 添加内核子系统添加完内核子系统后,可以编译出带有系统的工程。通过以下步骤添加内核子系统:在“config.json”中添加内核子系统。 轻量级系统的内核提供了一些特性,此步骤将指导如何查看、开启/关闭这些特性。内核特性:liteos_m提供了包括文件系统、backtrace在内的一系列内核特性开关。

    53220编辑于 2025-06-23
  • 来自专栏人人都是极客

    熊大微评微内核|华为“鸿蒙”所涉及的微内核究竟是什么?

    和L4内核,对IPC部分进行了很彻底的精简:1. 后面L4内核又发展出了很多相关系统,比如Pistachio,L4/MIPS,与Fiasco等等,这些内核组成了L4的大家族。 ? 为了增强安全性,且不过分影响性能,人们开始研发第三代微内核。 seL4是在第二代内核L4的基础上发展而来的。 seL4不仅仅继承了L4内核家族的高性能特性,还具备基于端点(enndpoint)的IPC机制。 seL4还是第一个完全通过形式化验证的内核,通俗说形式化验证就是在数学软件的帮助下使用数学语言自动化地推导检查系统的每一个运行状态。seL4形式化验证相关论文。

    1.3K40发布于 2019-08-16
  • 来自专栏不温卜火

    Spark内核详解 (4) | Spark 部署模式

    org.apache.spark.deploy.yarn.ExecutorLauncher").getName } amContainer } 至此, SparkSubmit 进程启动完毕. 4.

    2K30发布于 2020-10-28
  • 来自专栏LINUX阅码场

    熊大微评微内核|华为“鸿蒙”所涉及的微内核究竟是什么?

    和L4内核,对IPC部分进行了很彻底的精简:1. 后面L4内核又发展出了很多相关系统,比如Pistachio,L4/MIPS,与Fiasco等等,这些内核组成了L4的大家族。 ? 为了增强安全性,且不过分影响性能,人们开始研发第三代微内核。 seL4是在第二代内核L4的基础上发展而来的。 seL4不仅仅继承了L4内核家族的高性能特性,还具备基于端点(enndpoint)的IPC机制。 seL4还是第一个完全通过形式化验证的内核,通俗说形式化验证就是在数学软件的帮助下使用数学语言自动化地推导检查系统的每一个运行状态。seL4形式化验证相关论文。

    1.2K10发布于 2019-08-15
  • 来自专栏人人都是极客

    华为“鸿蒙”所涉及的微内核到底是什么?一文带你认识微内核

    第二代微内核:解决性能问题 第二代微内核的主要代表是L3和L4,以及QNX系统使用的Neutrino内核。 和L4内核,对IPC部分进行了很彻底的精简:1. 后面L4内核又发展出了很多相关系统,比如Pistachio,L4/MIPS,与Fiasco等等,这些内核组成了L4的大家族。 ? 为了增强安全性,且不过分影响性能,人们开始研发第三代微内核。 seL4是在第二代内核L4的基础上发展而来的。 seL4不仅仅继承了L4内核家族的高性能特性,还具备基于端点(enndpoint)的IPC机制。

    6.5K30发布于 2019-07-04
  • 来自专栏个人路线

    鸿蒙 模仿boss直聘客户端更新教程【鸿蒙专题4

    我是坚果 前言: 各位同学大家好 ,之前写过一篇鸿蒙模仿boss直聘文章。 那个时候我自己天真的以为鸿蒙里面没有类似安卓里面的fragment,所以就用布局显示隐藏来实现的 虽然效果是实现了但是并不是很理想 ,因为所有的逻辑都是写在同一个Ability 视图里面,当逻辑复杂了我们就很难处理了 ,不过之前·我查文档发现鸿蒙提供了 Fraction 小部分这个控件给我们开发使用,所以就更新一下之前的模仿boss直聘的客户端项目 那么废话不多说,我们正式开始。 layoutShow(3); break; default: break; } } 4多个 当然 Fraction 也有缺陷 在实际开发中,我们可能需要让Fraction嵌套Fraction,目前鸿蒙还不支持Fraction嵌套Fraction。

    85520编辑于 2021-12-16
  • 来自专栏鸿蒙开发笔记

    OpenHarmony(鸿蒙南向开发)——标准系统移植指南(二)Linux内核

    Linux内核,再加上基础OH内核态基础代码、以及HDF等OH内核态特性。 欢迎大家关注工粽号<程序猿百晓生>,0取以下学习清单:1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05 .鸿蒙开发面试真题(含参考答案) 6.TypeScript入门学习手册7.OpenHarmony 经典面试题(含参考答案)8.OpenHarmony设备开发入门【最新版】9.沉浸式剖析OpenHarmony 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......编译和运行HDF test.写在最后如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力;关注小编,同时可以期待后续文章ing,不定期分享原创知识;想要获取更多完整鸿蒙最新学习知识点

    83501编辑于 2025-06-25
  • 来自专栏编程技术宇宙

    内核地址空间大冒险4:线程切换

    进入sleep()函数后,又来到了nano_sleep()函数,接着看到了一个syscall系统调用指令,我继续执行,来到了内核空间。 进入内核空间后,我接连穿过了 --> nano_sleep() --> hrtimer_nanosleep() --> do_nanosleep() --> freezable_schedule() 把我累得够呛 告别了长者,我和小T踏上了这神秘的switch_to,跟随着一步一步的指令,我把自己线程上下文的寄存器都保存到了我的内核栈上面,然后将栈指针指向了小T的内核栈,最后把小T保存在他内核栈的指令地址加载进指令寄存器 我小心翼翼的执行了这里的代码,只是简单输出了一行日志,然后来到了一个叫__restore_rt()的函数,又一条syscall指令摆在了我的面前,我没有犹豫再一次一头扎进了内核空间。

    1K20发布于 2020-04-24
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 内核源码分析(编译环境篇) | 编译鸿蒙防掉坑指南

    几点说明kernel_liteos_a_note | 中文注解鸿蒙内核 是在 OpenHarmony 的 kernel_liteos_a 基础上给内核源码加上中文注解的版本.与官方源码按月保持同步,同步历史如下 windows + docker 方式编译鸿蒙. 记录编译鸿蒙的过程,以备后续不用再去一大堆无效的误导式软文中搜寻芝麻大点有用的信息,那样真挺费时费心力.针对不同场景使用不同的内核,openharmony有两个开源版本。 轻量和小型系统版本,也叫(liteos/L0~L1/嵌入式)版本,L0开源(2020/09/10),L1开源(2020/12/02),采用 lite-os-a/m内核,主要针对嵌入式设备。 LastWriteTime Length Name---- ------------- ------ ----da---- 2021/4/

    96710编辑于 2025-03-22
领券