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

    鸿蒙内核开发概述

    第一章 鸿蒙内核开发概述 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
  • 来自专栏个人路线

    鸿蒙 PageSlider 滑动组件基础用法【鸿蒙专题9

    最近还在学习鸿蒙开发, 学到了PageSlider 滑动组件类似安卓里面 viewpager 可以实现 屏幕左右滑动的效果 ,那么废话不多说我们正式开始 准备工作 1 安装鸿蒙开发环境 大家可以看我之前的文章 center_in_parent="true" ohos:text="PageSlider2" ohos:text_size="25fp"/> </DependentLayout> 到此鸿蒙的 最后总结: 鸿蒙里面的 PageSlider 组件对标的是安卓的里面viewpager 做过安卓开发同学应该都比较熟悉 也容易理解 PageSlider 的各种用法包添加view 滑动监听 绑定适配器等等

    1.2K10编辑于 2022-03-30
  • 来自专栏运维记录

    rocky 9 升级内核版本

    环境 rockylinux 9.2 安装步骤 查看系统现在内核版本 # uname -r 5.14.0-284.11.1.el9_2.x86_64 下载需要的内核版本 网站:http://mirrors.coreix.net _64.rpm 安装内核 # dnf localinstall kernel-lt-modules-6.1.80-1.el9.elrepo.x86_64.rpm kernel-lt-core-6.1.80 -1.el9.elrepo.x86_64.rpm kernel-lt-6.1.80-1.el9.elrepo.x86_64.rpm 设置系统默认内核版本 查看系统中所有的内核 # grubby --info 1.el9.elrepo.x86_64 设置默认内核索引 # grubby --set-default 0 如果第2步查看现在系统默认版本就是新装的版本这一步就不需要执行(执行了也没问题) 最后重启系统查看内核版本 # uname -r 6.1.80-1.el9.elrepo.x86_64 升级内核完成

    1.2K10编辑于 2024-10-31
  • 来自专栏韦东山嵌入式

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

    9月18号开始在电子发烧友直播怎么移植,当天发布完全修改过的源码。 心急的同学,可以先体验。 请入群讨论、入群领资料: QQ群 : 869222007 二、鸿蒙目前适配哪些开发板? 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 鸿蒙也是一套完整的操作系统,Linux仅仅是鸿蒙支持的内核之一。 问2. 微内核是rtos或者uclinux之类的吗? 答: 微内核,并不是“微小的内核”。 但是liteos-a并不是对标安卓、对标Windows,鸿蒙才是对标安卓。鸿蒙是一个庞大的系统,liteos-a是鸿蒙支持的内核之一。

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

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

    1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript 入门学习手册7.OpenHarmony 经典面试题(含参考答案)8.OpenHarmony设备开发入门【最新版】9.沉浸式剖析OpenHarmony源代码10.系统定制指南11. 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......内核态根进程创建过程创建 32个优先级(0-31) 其中0-9级为内核进程,用户进程可配置的优先级有22个(10-31) if (ret ! 当任何进程或者中断异常进入内核后,都是使用相同的内核代码段描述符和内核数据段描述符,它们是__KERNEL_CS和__KERNEL_DS。这里要明确记得,内核数据段实际上就是内核态堆栈段。

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

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

    [下载 source insight 4.0 破解版]可以豪不夸张的说理解LOS_DL_LIST及相关函数是读懂鸿蒙内核的关键。 1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript 入门学习手册7.OpenHarmony 经典面试题(含参考答案)8.OpenHarmony设备开发入门【最新版】9.沉浸式剖析OpenHarmony源代码10.系统定制指南11. 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 构建系统。 make ${MAKE_OPTIONES} -j32 uImage # 编译uImage内核镜像 当然,上面的对构建脚本的分析也不是没有用处,因为接下来要为使用 QEMU 模拟 vexpress-a9

    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 ,我想邀请你帮我三个小忙:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力;关注小编,同时可以期待后续文章ing,不定期分享原创知识;想要获取更多完整鸿蒙最新学习知识点,可关注B站:码牛课堂;

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

    鸿蒙OpenHarmony轻内核Kconfig使用笔记

    鸿蒙内核使用Kconfig进行图形化配置,本文专门讲解下鸿蒙内核LiteOS-M和LiteOS-A的图形化配置方法。 本文首先简单介绍下kconfig的基础知识,接着介绍下如何使用图形化配置。 鸿蒙内核使用的是Python的开源三方库kconfiglib(menuconfig只是其提供的命令之一,相关命令还有genconfig, savedefconfig等等)。 入门学习手册7.OpenHarmony 经典面试题(含参考答案)8.OpenHarmony设备开发入门【最新版】9.沉浸式剖析OpenHarmony源代码10.系统定制指南11. /vendor/hisilicon/hispark_aries/config/release.config3、Kconfig高级语法Kconfig大部分工程师都了解,快速介绍几个鸿蒙内核中使用到的稍微高级的语法 olddefconfig等同于silentoldconfig,对于新符号使用默认值–savedefconfig <file>把当前最小的配置保持到文件<file>小结本文介绍了Kconfig的基础知识,和鸿蒙内核的图形化配置

    49420编辑于 2025-06-09
  • 来自专栏C++核心准则原文翻译

    自学鸿蒙应用开发(9)- TimePicker组件

    本文介绍在鸿蒙应用中TimePicker组件的基本用法。 增加TimePicker组件 如下代码中46行~52行所示,在布局中增加TimePicker组件。 <?

    59020发布于 2021-01-13
  • 来自专栏reizhi

    Debian 9 更换内核安装锐速

    随着 Debian 8 进入 old stable 分支,Debian 9 开始成为了新的稳定版,不过随之而来的是锐速开心版的内核匹配问题。 不过感谢 Vicer 大佬的及时更新,现在 Debian 9 也可以手动更换内核来安装锐速了。 具体来说 Debian 9 上匹配锐速的内核是 4.9.0-4-amd64,下面我们就来手动更换内核安装锐速。 1.下载内核到 VPS: wget http://security.debian.org/debian-security/pool/updates/main/l/linux/linux-image-4.9.0 -4-amd64_4.9.65-3+deb9u1_amd64.deb 2.安装内核: dpkg -i linux-image-4.9.0-4-amd64_4.9.65-3+deb9u1_amd64.deb

    1K30编辑于 2022-09-26
  • 来自专栏JAVA烂猪皮

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

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

    1.2K42发布于 2020-09-18
  • 来自专栏HarmonyOS知识集合

    【HarmonyOS NEXT】鸿蒙应用点9图的处理(draw9patch)

    【HarmonyOS NEXT】鸿蒙应用点9图的处理(draw9patch)一、前言:首先在鸿蒙中是不支持安卓 .9图的图片直接使用。 只有类似拉伸的处理方案,鸿蒙提供的Image组件有与点九图相同功能的API设置。可以通过设置resizable属性来设置ResizableOptions,也就是图像拉伸时可调整大小的图像选项。

    56300编辑于 2025-03-24
  • 来自专栏个人路线

    鸿蒙 API 9工程转换为API 10工程

    运行环境 DevEco Studio:4.0Release OpenHarmony SDK API10 开发板:润和DAYU200 目前我们能够看到的是鸿蒙已经到API10,甚至今天在看OpenHarmony 这个时候,我们最起码要将API 9工程转换为API 10工程。然后再慢慢的迁移到未来的11上。 接下来我们说一下如何迁移。

    3.6K10编辑于 2023-12-21
  • 来自专栏Debian中国

    Debian 9更新到最新的Linux内核

    喜欢折腾的同学,会豪气如何升级 Debian Stretch 的内核到新版。 遗憾的是现在能搜到的升级 Debian Linux 内核的文章多数是使用Ubuntu的deb安装包,其实这样装上去是有问题,常见的问题是,总会提示需要 apt --fix-broken install 这里简单记录一下,如何使用Debian官方源更新到最新的内核;以及如何是用 Kernel.org 的deb源,更新内核到最新的 5.x 版本。 另一种方式,是通过 kernel.org 官方提供的安装包,更新到最新的内核。 最后一步安装后,重启一次,就可以用 dpkg -l | grep linux 看到新安装的 5.0.2 的内核了。

    5.7K30发布于 2020-01-21
  • 来自专栏鸿蒙开发笔记

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

    `1.OpenHarmony开发基础2.OpenHarmony北向开发环境搭建3.鸿蒙南向开发环境的搭建4.鸿蒙生态应用开发白皮书V2.0 & V3.05.鸿蒙开发面试真题(含参考答案) 6.TypeScript 入门学习手册7.OpenHarmony 经典面试题(含参考答案)8.OpenHarmony设备开发入门【最新版】9.沉浸式剖析OpenHarmony源代码10.系统定制指南11. NO修改内核中断。 内核提供了两种中断修改方式:使用厂商默认中断。 添加内核子系统添加完内核子系统后,可以编译出带有系统的工程。通过以下步骤添加内核子系统:在“config.json”中添加内核子系统。 轻量级系统的内核提供了一些特性,此步骤将指导如何查看、开启/关闭这些特性。内核特性:liteos_m提供了包括文件系统、backtrace在内的一系列内核特性开关。

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

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

    而宏内核,用户应用是通过系统调用直接来使用系统服务。所以微内核,消息传递是基本形态。基于这样的理解,RT-Thread目前是宏内核,更严谨些应该是Unikernel(内核与应用都运行在内核态)。 ——熊大 下面让我们重温俊小哥的微内核科普文章: ? 什么是微内核内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。 而后来,为了在宏内核与微内核之间扬长避短,也发展出了中间的混合内核的形态,部分服务也会放置于内核中。上图右侧表示即是混合内核的架构。 其实微内核与混合内核,混合内核与宏内核之间并无十分明确的界限,一般情况下把最多只具备IPC(进程通信),进程调度,内存管理功能的内核称为微内核、把包含所有系统服务的内核称为宏内核、有少部分系统服务在用户态或者比微内核多一些系统服务的内核称为混合内核 本来第一代微内核的设计隔离了使内核安全性降低的系统服务,让系统服务漏洞不会影响内核,进而提高了内核安全性,可以说是关上了破坏系统的门, 但是第二代系统却又给攻击者开了个窗户;由于第二代微内核内核中省去了关于安全性检查等步骤

    1.3K40发布于 2019-08-16
  • 来自专栏LINUX阅码场

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

    而宏内核,用户应用是通过系统调用直接来使用系统服务。所以微内核,消息传递是基本形态。基于这样的理解,RT-Thread目前是宏内核,更严谨些应该是Unikernel(内核与应用都运行在内核态)。 ——熊大 下面让我们重温俊小哥的微内核科普文章: ? 什么是微内核内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。 而后来,为了在宏内核与微内核之间扬长避短,也发展出了中间的混合内核的形态,部分服务也会放置于内核中。上图右侧表示即是混合内核的架构。 其实微内核与混合内核,混合内核与宏内核之间并无十分明确的界限,一般情况下把最多只具备IPC(进程通信),进程调度,内存管理功能的内核称为微内核、把包含所有系统服务的内核称为宏内核、有少部分系统服务在用户态或者比微内核多一些系统服务的内核称为混合内核 本来第一代微内核的设计隔离了使内核安全性降低的系统服务,让系统服务漏洞不会影响内核,进而提高了内核安全性,可以说是关上了破坏系统的门, 但是第二代系统却又给攻击者开了个窗户;由于第二代微内核内核中省去了关于安全性检查等步骤

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

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

    为了试图解决这些挑战,人们开始尝试使用微内核的思想来设计系统内核。 什么是微内核? 微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。 而后来,为了在宏内核与微内核之间扬长避短,也发展出了中间的混合内核的形态,部分服务也会放置于内核中。 当然此时Mach内核还不算完全的微内核。而考虑到微内核可以更高效地利用多处理器计算机的处理器核心资源,人们期待着等Mach把系统服务都搬到内核之外后可以把运行效率损失降下来。 第二代微内核:解决性能问题 第二代微内核的主要代表是L3和L4,以及QNX系统使用的Neutrino内核。 本来第一代微内核的设计隔离了使内核安全性降低的系统服务,让系统服务漏洞不会影响内核,进而提高了内核安全性,可以说是关上了破坏系统的门, 但是第二代系统却又给攻击者开了个窗户;由于第二代微内核内核中省去了关于安全性检查等步骤

    6.5K30发布于 2019-07-04
领券