昨日(2020.9.10),在华为开发者大会2020上,华为宣布推出鸿蒙OS2.0版本(HarmonyOS 2.0),并且将其开源,代码捐赠给开放原子开源基金会。

  • 笔者带大家进入开源社区,看看鸿蒙的神秘面纱

可以看到,现在的鸿蒙OS还没有明确说明可以应用在手机终端,目前可应用在智能家居物联网终端、智能穿戴、智慧大屏、汽车智能座舱、音箱等智能终端。手机终端是非常复杂的存在, 无论是芯片还是软件,能做好手机上应用的OS,那才是真的试金石,由此可见,鸿蒙依然还是任重而道远。

目前市场上两大霸主就是安卓和苹果了,而10年前大火的塞班也都渐渐退出了历史舞台。

  • 进入gitee社区,查看鸿蒙代码文件目录

安卓代码架构如下:

可以看到,鸿蒙的架构还是相对安卓比较轻量级的。与安卓相比,主要是少了java和虚拟机的一些内容,可能在接口支持上也少了一些。

  • 下载源码后,查看代码目录和内核文件(代码目前大概220多M,比安卓小了很多,安卓都在几个G以上)内核感觉都是liteOS的东西

    可以看到,内核文件夹里有两个系列,查看说明

    感觉跟ARM开发板的cortex-M,cortex-A这种系列很像,应该就是针对这两种平台设计的吧

  • 进入a系列里面的内核文件

    可以看到有一些基本的消息通信(IPC),内存管理(mem),任务管理(sched),设备管理(misc),多进程处理(mp),vm下面貌似是虚拟内存的东西,不知道和安卓java虚拟机有啥关系

fs是文件系统,net里是tcp/ip协议的东西,主要是lwIP

  • 粗略看了下代码框架,实在看不出什么东东,我要放弃治疗了,只能进一步看代码,慢慢研究鸿蒙的真实架构了。不过粗略看了下代码,有个印象就是,鸿蒙的单独文件的大小都很小,基本上都是不到10k的样子

  • 宏内核与微内核

    宏内核将所有的系统功能(包括内存管理、文件系统、设备驱动等)都在内核里实现,而微内核则只在内核中保留了必须在内核态运行的功能,而把其他功能都移至用户态以服务线程的方式来实现。(有待查看鸿蒙的代码,看看微内核到底是咋实现的……)咋理解呢?举个不恰当的例子,仅代表个人观点,宏内核是朝鲜,所有资源为内核掌握,优点是办事麻利,说干你就干你,三下五除二,事情嗖嗖的就办好了,缺点是内核太庞大,一旦事情办的卡住了,那就真的卡住了微内核是美国,内核只掌握有限的资源,大部分功能在内核外,需要什么服务还得发消息申请,办事效率慢,但是业务和业务之间相当独立,这个业务挂了不影响另外的业务。

  • 代码还得深入研究啊,暂时看不出来和安卓,linux有嘛关系,毕竟和安卓相比,目前实在是太精简了,而和linux比,设计思想都不一样,毕竟一个是宏内核(linux),一个是微内核(鸿蒙)。但是说实话,刚开始看,还没摸清代码消息管理、进程管理、内存管理这些东西,还得进一步看看,到底啥是个微内核

linux进程卡住_鸿蒙系统,Linux? Android?相关推荐

  1. 实测:华为鸿蒙系统比 Android 系统快 60%!

    作者 | 陆首群,中国开源软件推进联盟名誉主席 封图 | CSDN 付费下载自东方 IC 本文来自 COPU 开源联盟 [程序人生 编者按]7 月 4 日,任正非在法国新闻周刊<观点>中谈 ...

  2. 如何恢复隐藏的窗口 已知进程名称_如何判断Linux系统是否被黑客入侵?可以用这种方法...

    恶意软件有时会使用Linux内核进程伪装来隐藏其运行时,让我们研究一下如何使用这种策略来揭露Linux恶意软件. Linux内核进程伪装了什么? 在Linux上,内核创建了许多线程来帮助完成系统任务, ...

  3. Linux正在更新缓存卡住,Linux 进程卡住了怎么办?

    在我们使用 Linux 系统时,如果网络或者磁盘等 I/O 出问题,会发现进程卡住了,即使用kill -9也无法杀掉进程,很多常用的调试工具,比如strace,pstack等也都失灵了,是怎么回事? ...

  4. Linux 进程卡住了怎么办?

    在我们使用 Linux 系统时,如果网络或者磁盘等 I/O 出问题,会发现进程卡住了,即使用 kill -9 也无法杀掉进程,很多常用的调试工具,比如 strace, pstack 等也都失灵了,是怎 ...

  5. python做Linux进程运行,Python实现在Linux系统下更改当前进程运行用户

    在上一篇文章中,我们讲了如何在linux上用python写一个守护进程.主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程.细心观察的可能会发现 ...

  6. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  7. linux 父子进程 资源_linux 父子进程 资源_实验4 Linux父子进程同步

    实验 4  Linux 父子进程同步 [实验目的] ( 1 )熟悉在 c 语言源程序中使用 linux 所提供的系统调用界面的方法. ( 2 )理解同步的概念. ( 3 )使用系统调用 wait() ...

  8. linux mysql怎么样_最强Linux和Mysql面试题套餐,让你的面试无懈可击!

    引言: 大家好,我是一菲,在软件测试当中linux 操作系统和Mysql数据库的内容是十分的知识同时也是十分重要的.所以一菲这两天通过查阅资料等其他方式为大家梳理了liunx和Mysql面试题大礼包, ...

  9. Linux进程退出详解(do_exit)--Linux进程的管理与调度(十四)

    Linux进程的退出 linux下进程退出的方式 正常退出 从main函数返回return 调用exit 调用_exit 异常退出 调用abort 由信号终止 _exit, exit和_Exit的区别 ...

最新文章

  1. 前端入门(水球特效,css)
  2. 简单图片浏览器的实现
  3. 循环结构作业c语言,c语言循环结构练习题带答案
  4. 2008一打开项目就闪退_UE4[C++]项目编译相关的坑
  5. OpenCL列举平台列表以及平台属性信息
  6. 插图 引用 同一行两个插图_提出食物主题中的插图
  7. CodeForces 1361E James and the Chase(dfs + 结论)
  8. poj 2503 Trie树
  9. python的合法语句_Python练习2
  10. RedHat Linux 5企业版安装telnet
  11. 如何使用WordPress美化网站
  12. idea创建一个javaweb项目
  13. Win7,Win10电脑内显示文件后缀(扩展名)的方法
  14. Poco库使用:任务管理器TaskManager
  15. 阿里云大数据分析师(ACP)认证,该如何备考?
  16. 怎么把cad做的图分享给别人_怎么将CAD图转换
  17. ThinkPHP6 验证码(点击刷新)
  18. 邮箱验证(正则表达式)
  19. 中国机器人最新统计数据发布及分析(附图)
  20. 使用 Fastai 构建食物图像分类器

热门文章

  1. Python学习笔记:第三方模块2
  2. Python学习笔记:入门(2)
  3. Matlab练习:timer(2)
  4. ”语义分割”中的“语义”
  5. 【SVM最后一课】详解烧脑的Support Vector Regression
  6. 扫描过程_高考试卷扫描、阅卷过程以及答题过程注意的事项
  7. Delphi与c++ 数据类型对照表(从万一的博客园摘录)
  8. delphi 中的dll编程注意事项
  9. 常用:javascript字符串函数 收藏
  10. STM32单片机工作日记