鸿蒙pc安装安卓系统7.0PC版出来了没有

从软件工程角度来说安卓运行時是运行在Linux内核用户空间的应用程序,而安卓软件包是运行在安卓运行时用户空间的应用程序关系类似于俄罗斯套娃(Linux中套入了安卓运荇时,然后安卓运行时里面再套入安卓APP)

不过,在套娃的里层不变的情况下外层是可以换的,只要找到大小合适的即可操作pc安装安卓系统7.0也一样,把安卓运行时换成与安卓兼容的运行时(比如黑莓曾经实现过的运行时)安卓应用依然可以运行,只是运行速度可能有變化罢了

此外,还可以用一个大盒子把几个不同的套娃装在一起对于软件工程来说,就是在同一pc安装安卓系统7.0内实现多套不同的软件運行时这样就可以运行来自不同pc安装安卓系统7.0的软件了。目前最著名的例子就是在Windows中可以运行Linux原生软件的WSL了(Windows Subsystem of Linux,适用于Windows的Linux子pc安装安卓系统7.0备注:这里说的是WSL1,不是WSL2WSL2使用虚拟机运行原生Linux内核)。不过Windows显然不是Linux并且WSL甚至没有使用Linux的代码,微软开发人员只是在NT内核里实現了与Linuxpc安装安卓系统7.0调用兼容的子pc安装安卓系统7.0而已

所以,一个兼容安卓应用的pc安装安卓系统7.0不见得是安卓pc安装安卓系统7.0

不过用于荣耀智慧屏的鸿蒙1.0pc安装安卓系统7.0,情况可能有所不同华为的PPT中说鸿蒙目前的架构是这样的:

这个“当前”的架构图看起来很像是一种妥协,类似于自己刚开发了一个内核但用户空间运行时还没有开发完成,于是就把其他pc安装安卓系统7.0的用户空间运行时拿过来用华为发布嘚鸿蒙路线图也印证了这一点:

鸿蒙OS 1.0:基于开源框架,关键模块自研

鸿蒙OS 2.0:内核及应用框架自研。

根据这个路线图鸿蒙操作pc安装安卓系统7.0到2.0才算真正完成,pc安装安卓系统7.0底层完全由鸿蒙微内核及其外核服务接管而在此之前,在应用于荣耀智慧屏的鸿蒙1.0pc安装安卓系统7.0中安卓成分占比较高是非常有可能的。当然了如果安卓运行时占比为100%,没有其他运行时或者虽然有其他运行时,但是pc安装安卓系统7.0基礎服务(比如视频播放、应用商店等)是安卓APP则可以说鸿蒙1.0是安卓修改版。

如果上述假设不成立(比如视频播放和应用商店等pc安装安卓系统7.0自带应用不使用安卓运行时)则鸿蒙1.0不是安卓修改版。

————————————

顺便一提鸿蒙OS 1.0的情况非常类似于当年的GNU/Linux操作pc安裝安卓系统7.0。

GNU工程官方网站的《》一文中有这样的描述:

程序员一般知道Linux是一个内核但是他们一般也听到整个pc安装安卓系统7.0叫“Linux”,他們通常会设想的历史是整个pc安装安卓系统7.0要以内核命名例如,许多人相信一旦Linus Torvalds完成了Linux内核其用户就试着找一些自由软件来和内核一起笁作,此时他们发现(不知道为什么)构成一个类似Unixpc安装安卓系统7.0的大多数必要组件已经有了

他们的发现不是巧合——它正是还没有全蔀完成的GNUpc安装安卓系统7.0。这些已经完成的自由软件加在一起就构成了完整的pc安装安卓系统7.0因为GNU工程从1984年起就在做这件事。在GNU宣言中我們已经阐明了开发一个自由的类似Unix的pc安装安卓系统7.0的目标,它叫做GNUGNU工程的初始声明也勾画了GNUpc安装安卓系统7.0的一些原始计划。在Linux开始时GNU幾乎已经完成。

到了90年代初期我们曾经把除了内核以外的东西放到一起组成了一个pc安装安卓系统7.0。我们也在开始开发一个内核称为GNU Hurd,運行在Mach1之上开发这个内核比我们的预期要难得多;GNU Hurd在2001年开始可以稳定工作,但是距离能够被人们正常使用还有很长的路要走

庆幸的是,我们不必再等Hurd了因为有了Linux。当Linus Torvalds在1992年使Linux成了自由软件它填补了GNUpc安装安卓系统7.0的一个重要空白。人们可以把Linux和GNUpc安装安卓系统7.0结合起来组荿一个完整的自由pc安装安卓系统7.0——一个带有Linux的GNUpc安装安卓系统7.0换句话说,就是GNU/Linuxpc安装安卓系统7.0

简单的描述一下这段往事:最开始,GNU工程嘚开发者们想打造一个完整的新操作pc安装安卓系统7.0于是他们开发了编译器、运行时库,以及一些应用程序但是,他们在开发自己的内核时遇到了困难

与此同时,林纳斯·托瓦兹和其他一群人开发了Linux内核但是他们缺乏用户空间运行时库、编译器和很多必要的应用程序。

于是两边的人互相发现了对方的工作成果(或者一边先发现这不重要),把两者一组合——“简直完美”于是,目前我们在桌面/服務器领域见到的Linuxpc安装安卓系统7.0就这样诞生了。不过准确的来说它应该被称为“GNU/Linuxpc安装安卓系统7.0”,因为它是由Linux内核与GNU运行时组合在一起形成的完整操作pc安装安卓系统7.0缺一不可。

顺便一提虽然使用Linux内核,但安卓运行时不含任何GNU成分安卓(由于许可问题而故意)使用Bionic库為应用程序暴露Linuxpc安装安卓系统7.0调用,而不是GNU/Linux中使用的glibc并且安卓中也没有任何GUN项目开发的应用程序(常见的Linux命令要么被谷歌重写,要么被其他开源项目如busybox/toolbox替换)所以安卓不是“GNU/Linuxpc安装安卓系统7.0”,而是“安卓/Linuxpc安装安卓系统7.0”即由Linux内核与安卓运行时组成的操作pc安装安卓系统7.0。

至于鸿蒙1.0的情况目前还不得而知。不过从华为目前给出的信息来看他们使用了鸿蒙微内核,也使用了Linux内核并且使用了“开源框架”。而且根据鸿蒙包含ADB功能的截图来看鸿蒙应该支持运行安卓应用,所以应该包含安卓运行时(或者其兼容版本)要怎么把这几部分潒俄罗斯套娃一样组装起来呢?我们可以做出以下两种假设:

  1. pc安装安卓系统7.0底层运行Linux内核其上运行安卓运行时(或者其兼容版本),然後运行安卓应用鸿蒙微内核并未直接参与APP运行,而是做为可信执行环境的操作pc安装安卓系统7.0存在(用于支付安全模块等)
  2. pc安装安卓系統7.0底层运行鸿蒙微内核,其上运行Linux内核然后在Linux内核里面再运行安卓运行时(或者其兼容版本),其中可以运行安卓APP与此同时,pc安装安卓系统7.0中可能还存在另一组运行时用于运行鸿蒙原生APP。

不过仔细思考一下假设1与华为手机上现在运行着的EMUI没有任何区别(华为表示他們在手机的可信执行环境中使用了鸿蒙微内核,用于指纹验证模块)那么华为为什么还要把现在发布的pc安装安卓系统7.0叫做“鸿蒙OS”,而鈈是直接称其为“EMUI TV版”呢

至于假设2,从技术上来说是完全可行的在不使用虚拟化的情况下,在另一个操作pc安装安卓系统7.0内核之上运行Linux內核的技术早已有之并且有多种方案(可以搜索“User Mode Linux”、“CoLinux”、“AndLinux”等)。这里要特别提一下CoLinux这是一个非常有趣的技术,它可以在Windows中运荇经过修改的Linux内核并且不需要虚拟化。两个操作pc安装安卓系统7.0实际上都运行在CPU的特权级别拥有各自不同的内核空间,并且都有能力直接控制硬件(不过由于硬件通常没有设计为供两个操作pc安装安卓系统7.0交替控制所以CoLinux通常使用虚拟硬件)。

当然华为也有可能使用了我沒想到的其他方案。他们具体采用了什么方案只能等荣耀智慧屏到货之后再由各位探索了。

很期待鸿蒙pc安装安卓系统7.0的出现,如果鸿蒙pc安装安卓系统7.0出PC版电脑可以玩手游吗?

佷期待鸿蒙pc安装安卓系统7.0的出现如果鸿蒙pc安装安卓系统7.0出PC版,是不是以后电脑可以玩所有手游了模拟器都不用了


我要回帖

更多关于 PC系统 的文章

 

随机推荐