鸿蒙系统扫盲(四):鸿蒙使用的是微内核?

我们常说,看一个系统是不是自研,就看它的内核,常见的内核分为:宏内核和微内核,当然还有两者结合体,他们到底有什么区别?

1.白话宏内核和微内核

有一天,你结婚了,你和你的爱人住一套房子,你的父母和你爱人的父母,希望和你们住一起,能够照应的到,那么就出现一个问题,你们是买三套房子住,还是买一间大房子?

买一间房子的好处是,大家能够互相照应的很及时,一旦有人不舒服或着需要帮助,另外的人能够非常方便地在20s内到达,只要打开自己的房门,进入对方的房间就可以,一家人其乐融融。但是也会带来坏处,比如有时候会一起抢占资源(卫生间,电视机),也没什么太多的隐私空间。而且如果你家夏天如果停电了,那门整个家庭都得热死。

买三间房子呢?好处是,大家不会再抢占资源,你和你的爱人可以独享卫生间,有很好的隐私空间,如果不想做饭了,就可以去父母或着爱人的父母家蹭饭,换换不同的口味,此外如果夏天你家停电或着电器坏了,可以暂时去其他家继续生活;当然这样也会带来坏处,那就是如果有人需要帮助,你得先出房门,再出家门,然后等电梯,进入他家门(假设你有钥匙),然后进入房门,才能达到,这个过程时间不可控,可能电梯要等很久。

翻译成内核的模样就是这样:

当然,操作系统内核比笔者图示的复杂很多很多,这里只是简单示意一下,优点和缺点会更加直观,混合内核就是两者混合在一起,在一些频繁交互的接口直接放入到内核中,以达到快速通讯的目的。

2.鸿蒙设备分级

1、Linux 面向手机 (L5级别设备) 

2、LiteOS-a 面向有MMU的设备 (>=L1级别且<L5) 

3、LiteOS-m 面向无MMU的嵌入式设备 (L0级别)

可以看到,目前并非所有的鸿蒙版本都是使用的微内核,对于L5以下的设备,由于设备功能比较单一, 不需要那么多功能,所以资源的分配和争夺并不激烈,是可以通过微内核达到自由裁剪的目的,一次开发多段部署。

3.举个冰箱的例子

我们经常用的冰箱,如果是普通冰箱,大概具备下图左边的功能,如果它运行了鸿蒙系统(比如海尔就有鸿蒙版本的冰箱),其实它可以把文件管理,网络功能,多媒体功能全部裁剪掉,成为L0级别的设备,各个模块之间,通过微内核通讯,就非常简单,发送简单的指令就行,也不用那么高的实时性;而右图的智能冰箱,就需要跟服务器通讯,上传冰箱信息,也可以通过蓝牙直接连上手机,更高端点的,可能还有摄像头,监控实物的新鲜程度然后再门外的屏幕上显示,此时智能冰箱,就需要更高的处理器能力,并且加载功能的功能,成为L3-L4级别的设备,但是比起手机的功能还是要简单很多,当成为L3-L4级别的设备后,就需要加载网络,蓝牙,多媒体等功能,此时资源的调度就会复杂一些。

PS:这里补充一个知识点,Linux内核也是可以裁剪的,只是它的裁剪成本很高,你需要重新配置内核选项,然后去除不要的模块,然后重新编译成镜像,替换,再开机,可能出现开机不了的情况,然后得继续排查,而微内核的情况下,只要不加载该模块就行了,就像乐高积木上,把一些不要的形状拔下来,需要的时候再插上去一样,简单高效率。

总结:

微内核和宏内核各有各的好处,而现在鸿蒙系统,除了L5级别,由于设备的高要求,无法达到所需的高实时性,还用着Linux的内核,其他设备已经全部使用鸿蒙内核(LiteOS-m和LiteOS-A,根据设备的等级,选择不同的内核),希望在华为的努力下,L5也可以接入微内核,让我们一起期待!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【降本增笑?滴滴史上最严重服务故障,裁员真不能裁测试】

2023 年 11 月 27 日晚间&#xff0c;滴滴因系统故障导致 App 服务异常&#xff0c;不显示定位且无法打车。11 月 27 日晚&#xff0c;滴滴出行进行了回复&#xff1a;非常抱歉&#xff0c;由于系统故障。 前言 2023 年 11 月 28 日早间&#xff0c;滴滴出行消息称&#xff0c;…

SQLserver通过字符串中间截取然后分组

当我们存的数据是json的时候可以全部取出在模糊查询但是有多个重复数据的时候就没办法准确的模糊出来这个时候我们就需要用的字符串截取 --创建函数create FUNCTION [dbo].[Fmax] (str varchar(50),start VARCHAR(50),length VARCHAR(50)) RETURNS varchar(max) AS BEGINDEC…

js性能优化

1.http\TCP url:资源定位符 1. HTTP和TCP是互联网上应用广泛的两种协议&#xff0c;其中HTTP是应用层协议&#xff0c;而TCP是传输层协议。 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于在网络上传输数据的协议&#xff0c;它以客户端/服务器模型为…

python爬虫非对称加密RSA案例:某观鸟网站

声明&#xff1a; 该文章为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;违者后果自负&#xff0c;由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行 atob(‘aHR0cDovL2JpcmRyZXBvcnQuY24vaG9tZS9hY3Rpdml0eS9wYWdlLmh0bWw’) 拿到网址&#xf…

vue3+ts项目中导入组件时报错has no default export

下面这句会报错has no default export import Button from "./components/Button.vue";使用vetur这个插件&#xff08;我目前的版本是0.37.3&#xff0c;应该是这个版本之前的都不支持&#xff09;。但是依旧报错&#xff0c;所以我选择禁用了&#xff0c;就不报错了…

2024清理软件排名第一的是CCleaner

CCleaner2024版是一款专业好用的系统优化和隐私保护工具。CCleaner官方版主要用来清除Windows系统不再使用的垃圾文件和使用者的上网记录以空出硬盘容量&#xff0c;按工具同时注重保护用户隐私&#xff0c;被誉为“世界上最受欢迎的PC清洁剂”。 CCleaner下载如下&#xff1a…

龙迅分配器LT86102UXE/LT86104UX,HDMI一分二/HDMI一分四

龙迅LT86102UXE描述; Lontium LT86102UXE HDMI2.0分配器具有1&#xff1a;2的分配器&#xff0c;符合HDMI2.0/1.4规范&#xff0c;最大6Gbps高速数据速率&#xff0c;自适应均衡RX输入和预先强调的TX输出&#xff0c;以支持长电缆应用程序&#xff0c;内部TX通道交换灵活的PCB…

【自习室预约系统源码】基于springboot框架的自习室管理和预约系统设计

&#x1f345; 简介&#xff1a;500精品计算机源码学习 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 文末获取源码 目录 一、以下学习内容欢迎领取&#xff1a; 二、文档资料截图&#xff1a; 三想了解更多&#xff0c;请收藏、评论、留言&#xff1a;…

在windows server系统下,快速部署自己的网站

目录 xampp简介xampp的作用xampp的安装方法Apache简介Apache的作用 本文主要介绍使用xampp软件包在windows server系统下&#xff0c;快速部署自己的网站。 xampp简介 XAMPP是一款基于Apache、MySQL、PHP和Perl的开源Web服务器软件包。XAMPP支持多个操作系统&#xff0c;包括W…

活动回顾|德州仪器嵌入式技术创新发展研讨会(上海站)成功举办,信驰达科技携手TI推动技术创新

2023年11月28日&#xff0c;德州仪器(TI)嵌入式技术创新发展研讨会在上海顺利举办。作为TI中国第三方IDH&#xff0c;深圳市信驰达科技有限公司受邀参加&#xff0c;并设置展位&#xff0c;展出CC2340系列低功耗蓝牙模块及TPMS、蓝牙数字钥匙解决方案&#xff0c;与众多业内伙伴…

网络层之无分类编址CIDR(内涵计算例题)

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引

文章目录 openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引141.1 背景信息141.2 重建索引141.3 操作步骤 openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引 141.1 背景信息 数据库经过多次删除操作后&#xff0c;索引页面上的索引键将被…

ai绘画Midjourney绘画提示词Prompt教程

一、Midjourney绘画工具 SparkAi【无需魔法使用】&#xff1a; SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01;本系统使用NestjsVueTypescript框架技术&#xff0c;持续集成AI能力到…

理论与实践相结合之交换机通信(数据链路层)

前提 本文所使用的演示工具是“Cisco Packet Tracer”&#xff0c;没有安装的请参考以下链接进行安装 理论与实践相结合之Cisco Packet Tracer网络模拟器安装教程-CSDN博客 交换机简介 交换机是一种网络硬件设备&#xff0c;每个交换机都维护了一个mac地址和端口的对应表&a…

【C进阶】C程序是怎么运作的呢?-- 程序环境和预处理(上)

前言&#xff1a; 由于c语言的程序编译链接的这块知识点不清楚&#xff0c;回来复习一遍&#xff0c;以便于好理解c知识&#xff0c;我会尽快更新下一篇文章。 目录 1.程序的翻译环境和执行环境 2.翻译环境&#xff08;编译链接&#xff09; 编译&#xff08;编译器&#xf…

Mybatis异常org.apache.ibatis.binding.BindingException: Parameter “xxx“ not found

问题1: 可能是 mybatis 的xml&#xff0c;对应的mapper接口缺少Param注解&#xff0c;或者Param注解的value与xml的不一致 切记只要参数不是一个集合类型向下图或者多个参数值就要加Param注解 问题2: mybatis的xml&#xff0c;存在多余的注释。注释中包含#{}、${}。注释掉的代…

【C#】读取ini配置文件的内容

一、编写ini配置文件 ini文件时初始化文件&#xff0c;通常是系统配置文件所采用的存储格式。ini文件有自己的固定格式&#xff0c;是由若干个“节”&#xff08;section&#xff09;组成&#xff0c;每个节由若干个“键”&#xff08;key&#xff09;组成&#xff0c;每个key…

【Cesium】实现卷帘对比

一、创建滑块 <style>import url(../Build/CesiumUnminified/Widgets/widgets.css);import url(./Sandcastle/templates/bucket.css);#slider {position: absolute;left: 50%;top: 0px;background-color: #d3d3d3;width: 5px;height: 100%;z-index: 9999;}#slider:hover…

STM32使用SIM900A、SIM800C、SIM800A完成短信发送、连接onenet上传数据、拨打电话_完整教程

一、前言 本篇文章介绍SIM800C 、SIM800A、SIM900A 等等系列的模块的常用AT指令,讲解模块的使用方法,演示短信发送、拨打电话、网络连接,与服务器通信等常用案例。 如果只是用到发送短信、拨打电话、连接网络通信、这些模块的AT指令是兼容的。 文章最后贴了完整的STM32代码…

学习极市开发平台

这是官网的链接&#xff1a;极市开发者平台-计算机视觉算法开发落地平台-极市科技 (cvmart.net) 第一次用这个平台有很多问题&#xff0c;首先在使用这个平台之前&#xff0c;我大部分时候使用的是百度的飞浆平台&#xff0c;也就是BML&#xff0c;去训练一些深度学习的模型。 …