鸿蒙内核系统

一、系统设计总纲

1.1鸿蒙战略设计目标 全场景
1.2鸿蒙操作系统目标实现的技术支撑
1.2.1分布式设计
1.2.2一次开发,多端部署
1.2.3系统与硬件解耦,弹性部署
1.3鸿蒙操作系统技术架构
1.3.1内核层
1.3.2系统服务层
1.3.3框架层
1.3.4应用层
1.4本章小结

二、鸿蒙的特性和优点

2.1  可裁剪  

2.2 虚拟超级终端  

2.3 易开发  

OpenHarmony系统的本质特性 分布式和软总线  

2.4.1 分布式操作系统基础概念

2.4.2 OpenHarmony分布式总体设计思想  

2.4.3 分布式软总线

2.4.4 分布式文件系统

2.4.5 分布式数据库

2.4.6 分布式调度

3.0 鸿蒙系统进程间通信IPC 

3.1 事件(event)

3.2 互斥量(mutex)  

3.3 队列(queue)

3.4 信号灯(semaphore)

3.5 快速锁(futex)

3.6 自旋锁(spinlock)

3.7 信号(signal)

3.8 LiteIPC

4.0 跨进程服务/特性调用

4.1 跨进程调用的使用

4.2 跨进程调用的实现

三、鸿蒙内核系统架构层次理论

1. 内核态与用户态  

1.1 内核态与用户态的区别  

1.2 用户态切换到内核态  

1.3 内核态访问用户态数据

OpenHarmony的内核功能框架

2.1 多内核架构

2.2 LiteOS-m

2.3 LiteOS-a  38

2.4 LiteOS-m和LiteOS-a的对比

2.5  芯片适配

2.6  驱动程序框架

 

四、鸿蒙系统驱动子系统

 HDF驱动程序框架

4.1 基本概念 驱动框架的代码结构

4.2 HDF编程特点

4.2.1 HdfObject  

4.2.2 IDeviceIoService  

4.2.3 HdfDriverEntry

4.3 驱动代码编译链接

4.4 驱动程序配置信息的管理HCS  

4.4.1 树型结构

4.4.2 保留字与操作符

4.4.3 数值类型

4.4.4 重载操作

4.4.5 文件引用

4.4.6 HC-GEN编译器

4.5 加载驱动程序

4.5.1 驱动框架的启动流程


4.6 通用的驱动示例程序

4.6.1 硬件平台和原理图
4.6.2 代码结构和编译配置
4.6.3 驱动程序的开发要点

5.1 在LiteOS_A内核部署驱动框架
5.2 在Linux内核部署驱动框架
5.3 在小型系统的用户空间部署驱动框架
5.4 在标准系统的用户空间部署驱动框架

6 HDI和驱动模型
6.1 HDI概述

五、鸿蒙系统驱动子系统运行态

5 驱动框架的启动流程
5.1 驱动框架的启动入口

5.2 启动DeviceManager进程
5.3 启动HostList的每个Host
5.4 启动DevHostService
5.5 启动Host的每个Device

6.用户态驱动框架的hdf_devhost进程
6.1 启动hdf_devhost进程
6.2 Host的IPC消息处理函数
6.3 Host的进程内消息处理函数
6.4 Device的Bind子流程
6.5 Device的Init子流程
6.6 Device的PublishService子流程
6.7 Device的AttachDevice子流程

6.8 Device的IPC消息处理函数


7 用户态程序与内核态驱动的交互
7.1 用户态驱动框架的hdf_devmgr进程

7.2 启动hdf_devmgr进程
7.3 启动DevmgrServiceStub服务

8.1 HDI和驱动模型
8.2.1 HDI概述
8.2.2 HDI的声明和定义
8.2.3 驱动模型概述


9 代码部署和编译配置
9.1 序列化数据的交互
9.2 HdfIoService接口
9.3 消息机制的实现

9.4 驱动框架的关键结构体
9.4.1 DevmgrService和DevmgrServiceClnt
9.4.2 DevSvcManager和DevSvcManagerClnt
9.4.3 Host的HdfHostInfo和HostList
9.4.4 Host的DevHostService和DevHostServiceClnt
9.4.5 Host的DriverInstaller
9.4.6 Device的HdfDriverLoader

六、鸿蒙内核系统的安全特性

七、鸿蒙内核系统的实施案例

鸿蒙内核系统编译环境搭建

鸿蒙内核系统芯片适配

鸿蒙内核系统应用

超级终端理念、技术与演进

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8-图像缩放

其实,就是开辟一个zoomwidth,zoomheight的内存,再分别赋值即可。 void CDib::Scale(float xZoom, float yZoom) { //指向原图像指针 LPBYTE p_data GetData(); //指向原像素的指针 LPBYTE lpSrc; //指向缩放图像对应像素的指针 LPBYTE lpDs…

数据结构——lesson8二叉树的实现

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

论文阅读——BLIP

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation (1)单模态编码器,它分别对图像和文本进行编码。图像编码器用ViT,并使用附加的 [CLS] 标记来表示全局图像特征。文本…

springcloud:4.1 GateWay

概述 Gateway 简介 Spring Cloud Gateway基于Spring 5.0、SpringBoot 2.0和Project Reactor等技术开发 旨在为微服务架构提供一种简单有效的、统一的API路由管理方式,并为微服务架构提供安全、监控、指标和弹性等功能 其目标是替代Zuul特点 易于编写谓词和过滤器&…

解决谷歌浏览器最新chrome94版本CORS跨域问题

项目场景: 谷歌浏览器升级到chrome94版本出现CORS跨域问题 问题描述 解决谷歌浏览器最新chrome94版本CORS跨域问题。 CORS跨域问题: 升级谷歌浏览器最新chrome94版本后,提示Access to XMLHttpRequest at ‘http://localhost:xxxx/api’ fro…

zabbix企业微信接入结合海螺问问编写的shell脚本

前言 博客懒得写详细了,视频剪的累死了,看视频就好了 白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 shell脚本 #!/bin/bash #set -x CorpID"" #我的企业下面的CorpID Secret"" #创建的应用那…

【Numpy】(3)数组操作

索引 基本索引 NumPy索引类似于Python列表的索引,但它提供了更多的功能。对于一维数组,你可以使用整数索引访问特定位置的元素: import numpy as nparr = np.array([1, 2, 3, 4]) print(arr[2]) # 输出:3对于多维数组,你可以使用逗号分隔的索引元组来访问元素: arr …

C++:什么情况下函数应该声明为纯虚函数

在C中,函数应该在以下情况下声明为纯虚函数: 抽象基类:当你希望定义一个基类,该基类不能被实例化,只能作为其他类的基类时,你应该在基类中声明至少一个纯虚函数。这样的基类被称为抽象基类。纯虚函数通过在…

python实现多进程循环共享内存队列

python实现多进程循环共享内存队列 python >=3.8 1、原理流程 生产者消费者模式: 创建一个size大小的共享内存列表,前三个分别保存头指针、尾指针、锁 一个进程生产数据 多个进程消费数据 消费数据时通过锁来保证已消费的数据不能再被取出,已消费的数据置为None1、创建…

C到C++的敲门砖-1

文章目录 关键字命名空间输入和输出缺省参数函数重载 关键字 相较于C语言32个关键字: autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilesta…

全量知识系统“全基因序列”程序构想之1

序 这段时间使用AI工具来完善系统的设计。这几天的话题一直都是 使设计可能完成的一个起点,就是“全基因序列”。从这个文字表述上就可以看出,它将可能是需求文档、程序概要结构和数据库三部分的融合体。 计划从今天开始 深入这个话题,目标…

Everything:文件查找工具,一搜即得

名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、软件介绍①Everything②核心功能③原理二、下载安装①下载②安装三、使用方法①文件搜索②高级搜索③快捷唤起四、总结

用python写网络爬虫:2.urllib库的基本用法

文章目录 urllib库抓取网页data参数timeout参数更灵活地配置参数登录代理Cookies 参考书籍 建议新入门的小伙伴先看我同一专栏的文章:用python写网络爬虫:1.基础知识 urllib库 urllib是python中一个最基础的HTTP库,一般是内置的,…

spotbugs不兼容IDEA2023.2

运行时出现报错,之后spotBugs就是灰色的了 spotbugs java.lang.LinkageError: loader constraint violation: when resolving method org.slf4j.ILoggerFactory org.slf4j.impl.StaticLoggerBinder.getLoggerFactory() the class loader com.intellij.ide.plugins.…

2024年 前端JavaScript Web APIs 第三天 笔记

3.1-表单全选反选案例 <!DOCTYPE html><html><head lang"en"><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}table {border-collapse: collapse;border-spacing: 0;border: 1px solid …

网络安全实训Day5

写在前面 昨天忘更新了......讲的内容不多&#xff0c;就一个NAT。 之前记的NAT的内容&#xff1a;blog.csdn.net/Yisitelz/article/details/131840119 网络安全实训-网络工程 NAT 公网地址与私网地址 公网地址 可以在互联网上被寻址&#xff0c;由运营商统一分配全球唯一的I…

在 Windows 上利用Qwen大模型搭建一个 ChatGPT 式的问答小助手

本文首发于公众号&#xff1a;Hunter后端 原文链接&#xff1a;在 Windows 上利用Qwen大模型搭建一个 ChatGPT 式的问答小助手 最近 ChatGPT 式的聊天机器人比较火&#xff0c;可以提供各种问答功能&#xff0c;阿里最近推出了 Qwen1.5 系列的大模型&#xff0c;提供了各个参数…

在线BLOG网|基于springboot框架+ Mysql+Java+JSP技术的在线BLOG网设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 系统功能设计 数据库E-R图设计 lunwen参考 摘要 研究…

【C#算法实现】可见的山峰对数量

文章目录 前言一、题目要求二、算法设计及代码实现2.1 算法思想2.2 代码实现 前言 本文是【程序员代码面试指南&#xff08;第二版&#xff09;学习笔记】C#版算法实现系列之一&#xff0c;用C#实现了《程序员代码面试指南》&#xff08;第二版&#xff09;栈和队列中的可见的…

OpenCV-Java 开发简介

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a; 如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序 下一篇&#xff1a;暂无 ​ 警告&#xff1a; 本教程可能包含过时的信息。 从 OpenCV 2.4.4 开始&…