欢迎访问“民生财经杂志网”,我们向网民提供非常全面的股票,期货,黄金,外汇,个股等金融投资相关的资讯财经新闻,帮助新手股民学习掌握股票入门基础知识,了解更多丰富精彩的股票金融知识。

主页 > 商业信息 > 财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

来源:民生财经杂志作者:金家骏更新时间:2021-01-13 09:42:01阅读:

本篇文章2813字,读完约7分钟

机器的心

机心报道

机器的心

谷歌的新一代操作系统还在进行中,清华率先推出了“山寨”版。

在移动操作系统市场上,安卓和ios是最强大的两个领导者。

其实早些年,谷歌就开始开发一种叫fuchisia的新操作系统。 与安卓不同,fuchisia基于zircon而不是linux内核。 业内人士推测,该系统可能成为安卓的强大替代者。

根据当初的推测,谷歌有可能在今年的i/o开发者会议上发表fuchsia os开发测试版。 但是由于疫情的影响,本年度的i/o大会被取消了,fuchisia也失去了消息。

但是问题不大! 明明拿到了开源文件,为什么还要等官方发表呢?

谷歌I/o大会倒计时100天前,来自清华大学的团队开始了神秘的项目。 试图用rust语言重新实现fuchsia的微内核zircon。

经过100天的秘密开发,他们在官方发表前就出了zircon核心。 现在可以正常执行外壳等基础程序,总代码量只有1万行左右。

这个“山寨”版的zircon名是zcore。 zcore继承和改善了在rcore项目中用rust语言创建os的实践经验,开发者希望将其定位为继rcore之后的下一代rust os。

项目地址: github/rcore-os/zcore

据作者介绍,这个项目是清华大学计算机系王润基等同学合作完成的。 他们在rust os方面的工作已经进行了两年,最初只是课程项目,后来被正式课改项目收购,后来被作为毕业设计项目。

现在这个项目继续由他们和参加操作系统课程设计的同学们开发,下一步的目标是支持驱动程序,真正成为实用的系统。

zcore后面的家人

在说zcore之前,有必要知道该民的“ucore”和“rcore”。

“ucore”是清华大学计算机系副教授陈瑜写的操作系统,基于MIT Frans Kaas Hoek等人2006年写的操作系统xv6的设计,该操作系统也被称为“麻将”

“rcore”是用rust重新实现的linux内核,出生于年,现在在清华计算机系的OS教育实验中被试验应用。

zcore是rcore的后辈,和rcore有“血缘关系”。 其实zcore不是独立的操作系统。 那个仓库里藏着一个小rcore。 一个指令可以快速调用rcore。

这一点的隐藏好处是,基于zircon提供的内核中最重要的内存管理和过程管理功能,将linux作为宏内核的其他功能(例如文件系统)进行补充,将linux系统调用接口排除在外

zcore的特点

总结起来,zcore有以下优点:

第一个完整的山村zircon内核

通过使用rust创建,实现了简化和清晰的级别。

支持客户状态的开发、测试和运行

一是内核采用async机制

至少从现在来看,zcore是第一个完整的山寨zircon内核,也是用rust语言重新实现的第一个zircon微内核。 这在内核状态下运行,向外部提供与zircon完全相同的系统调用。 这是因为您可以运行本机fuchsia客户端程序。

在qemu上运行zcore。

根据项目作者的介绍,zcore还可以创建正常客户进程在linux或macos上运行的客户的状态。 此模式通常称为libos或user-mode os操作系统,不需要安装qemu模拟器,只需安装rust官方工具链即可编译运行体验zcore。

gitclonegithub/r core-OS/zcorecdzcoregitlfspullcargorun-- release-p zircon-loader pre built/zircon

由此,实现了开发者在顾客状态下开发、在gdb上与ide调试、在cargo test上运行单元测试、测量统计测试的目标率等功能,迄今为止的内核开发无法实现。

zcore的整体架构如下图所示。 首先,为了使zcore能够在内核状态和客户端状态下工作,项目制作者在最下部设计硬件抽象层( hal ),封装内核依赖的基础操作,在裸金属环境和linux/macos环境下分别

hal上面的核心是zircon-object,即zircon内核对象,包括所有内核机制的实现。

对象层上面有系统调用层,负责将内核对象的功能封装为zircon syscall abi,暴露给客户的流程。

另外,上面是整个操作系统的顶层模块,它完成了系统初始化和第一个客户流程的加载,组装了所有模块,生成了可执行文件。

经过粗略的统计,现在各模块的代码量大致如下。

图源:知乎@王润基。

汇总每个模块的代码量约为12300行(采用loc工具,仅汇总code )。 这也是该系统的“紧凑”,1w以上即可实现2个os,同时以2种模式行驶。

作者说,这是因为zircon内核本身足够简单(因为客户端程序相对足够多且复杂),而linux端也最大限度地重复使用了zircon内核对象的功能。 “当然这里也有作弊。 因为有些功能是作为外部依赖引入的,没有合并(例如,rcore的文件系统部分)。 "。

财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

据作者介绍,zcore与用10万行CR+写的公式zircon相比,1万行rust可以实现大部分核心功能。

当然,关于rust语言的unsafe代码块问题,作者说:“hal上大约有20个unsafe,其中大部分用于在两个对象之间取weak参照的操作,剩下的也容易验证正确性。 hal下面多是unsafe,离底层硬件很近,所以几乎到处都是unsafe,和C没什么区别。 但幸好hal代码还很少,不过几百行。 "。

财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

除此之外,zcore也首次在内核中引入了async无堆栈协调机制。 利益方面,空之间的占有少,上下文切换的开销小,同时量和吞吐量高,但不能合作式、抢占,有可能给系统实时性带来课题。 关于两者之间的对应,有待进一步的测试和分解。

财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

"麻雀虽小,五脏俱全. "

zcore雀很小,但五脏俱全。 现在可以在进入shell的基础上运行各种小程序。 当然是微核,所以zircon在进入壳之前经过很长一段时间,userboot ->; bootsvc ->; component _ manager→driver _ manager启动各种服务进程,也被用于各种系统机制。

财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

zircon一共是160多个系统调用,为了运行到shell,开发者实现了其中的65个。

fuchsia公式还提供了许多客户状态测试流程,大大提高了测试和完整内核的效率。 现在他们能通过大约一半的测试,剩下的还完整。

在zcore测试状态表中,github/r core-OS/z core/wiki/status:- core-tests出现在越来越多的副本中。

参考链接: zhuanlan.zhihu/p/137733625

本文为机心报道,转载请联系本公众号获得授权。

原题:“谷歌还没有发布代替安卓的操作系统。 一万行rust代码,清华学生“山寨”合二为一”

阅读原文。

标题:财讯:谷歌取代安卓的操作系统迟迟未发布,清华学生“山寨”了一个

地址:http://www.mnscw.cn/syxx/9801.html

免责声明:民生财经杂志网致力于提供权威、全面、专业、及时的财经资讯,的部分内容转载于网络,不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,民生财经杂志网将予以删除。

月度热文榜

民生财经杂志介绍

民生财经杂志是领先的财经周刊。以经济、时政及其他各社会领域的新闻资讯为核心,提供客观及时的报道和深度专业的评论,树立公信力和影响力,记录、推动、引领中国市场经济的宏伟进程。依托专业的团队和强大的原创新闻优势,以“新闻+数据”为两翼的业务平台全面覆盖中文媒体、英文媒体、高端金融数据等多层次的产品,为中国最具影响力的受众群,提供全天候国内外权威财经信息,包括宏观、海外、证券、产经、房产、金融、消费、科技、数码、宏观经济看点、微观市场走向、知名财经专家意见等行业权威及时的财经新闻。