认识 Fuchsia OS

news2024/12/30 2:25:39

认识 Fuchsia OS

1 说明背景

1.1 基本信息

  • 开发者: Google
  • 编程语言: C、C++、Rust、Go、Python、Dart
  • 内核: Zircon
  • 运作状态: 当前
  • 源码模式: 开放源代码
  • 初始版本: 2016年8月15日
  • 支持的语言: 英语
  • 支持平台: ARM64、X86-64
  • 内核类别: 微内核 基于能力 实时操作系统
  • 许可证: BSD 3 clause、MIT和Apache 2.0
  • 官方网站: https://fuchsia.googlesource.com/
  • 仓库: https://fuchsia.googlesource.com/

1.2 基本概念

Fuchsia 是 Google 开发的一个开源的基于 Capability 的操作系统。与谷歌基于 Linux 的操作系统(如 ChromeOS 和 Android)相比,Fuchsia 基于名为 Zircon 的自定义内核。

1.3 发展历史

  • 2016年8月,媒体报道了发布于 GitHub 上的神秘源码,显示 Google 正在开发一个名为 “Fuchsia” 的新操作系统,虽然官方没有正式公布,其源码检查显示其能够跨平台运行,包括“汽车的娱乐媒体系统和嵌入式设备,如红绿灯、数码手表、智能手机、平板电脑与个人电脑”。
  • 2017年5月,Ars Technica 编写了关于 Fuchsia 的新用户界面的文章,从 8月 首次披露时的命令行界面上升级,以及开发人员表示“此项目不是玩具项目,不是 20% 时间项目,不是我们不再关心的死去的项目的垃圾场”,多家媒体写到“Fuchsia项目”和Android似乎有密切联系,有人猜测Fuchsia可能是“重做” 或替换 Android9 以在某种程度上修复该平台上的问题。
  • 2017年11月,对Swift语言提供了初始支持。
  • 2018年1月3日,Google允许开发者以 Google Pixelbook 为目标设备,下载 Fuchsia OS 进行开发与测试。
  • 2018年4月,Fuchsia的源代码出现在 AOSP 的 ART 当中,疑似是 AOSP 已经开始将 ART 移植至Fuchsia 上,但源代码仍处于被注释处理的状态。
  • 2019年6月28日,Fuchsia OS 的开发者网站 Fuchsia.dev 上线。
  • 2020年12月8日,首度在 Google Open Source 博客亮相,呼吁开发者来做出贡献。
  • 2021年5月,谷歌员工证实,它已在第一代 Google Nest Hub 的软件更新中首次在消费者市场部署了 Fuchsia,该软件更新取代了其现有的基于 Chromecast 的软件。

2 软件架构

Fuchsia OS

设计原则: 简单、安全、可更新、高性能

3 配置开发环境

3.1 系统环境

wangjianfeng@dev:~/Desktop$ uname -a
Linux dev 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

3.2 依赖软件

sudo apt-get install curl git unzip

3.3 获取源码

git clone https://fuchsia.googlesource.com/fuchsia

cp fuchsia/scripts/bootstrap /home/wangjianfeng/source
cd /home/wangjianfeng/source && ./bootstrap

# curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash

3.4 构建源码

# Set configures to PATH for Fuchsia
export PATH="$PATH:/home/wangjianfeng/source/fuchsia/.jiri_root/bin"
source /home/wangjianfeng/source/fuchsia/scripts/fx-env.sh

fx set workstation.qemu-x64 --release
fx build

3.5 启动和管理模拟器

mkdir logs
nohup fx serve >> logs/serve-202202111635.log 2>&1 &

fx vdl start --help
# fx vdl start -N

ffx target --help
# ffx target list
# ffx target reboot
# ffx target off

9 相关参考

  • 官方文档 | 入门:获取源代码
  • 官方文档 | 入门:启动模拟器
  • 官方文档 | 入门:探索模拟器
  • 官方文档 | 介绍:软件架构
  • 新操作系统层出不穷,但什么样的操作系统有前途呢 | 魏永明

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

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

相关文章

node.js+uni计算机毕设项目高校迎新管理小程序(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…

【2023 AR元宇宙过圣诞!】《Merry Meta Christmas》

啥也不说了,先看最终效果 3D场景资源、EasyAR_Plugin、图片与安卓App资源均已上传,点击该处下载 一、前言 圣诞节的真正含义是为了纪念耶稣诞生,象征着团圆美满,万物复苏,日子变得愈发美好 2021年是元宇宙的元年&…

UE5 狐獴演示Demo分析

1.特效的生成方式 1.1临时特效的生成:使用了已生成轨道临时创建该特效(不用在场景中放入该特效,而是临时创建即可)、系统生命周期轨道设置该特效的播放时长 1.2长期特效的生成:特效时长为该镜头片段长度 2.特效的类…

输出数组中每一行(列)中的最小值(最大值)numpy.amin()numpy.amax()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 输出数组中每一行(列)中的最小值(最大值) numpy.amin() numpy.amax() [太阳]选择题 对下面代码中np.amin(myList, 0)输出的结果为?…

java基于ssh的旅游系统

本项目主要发西安各个旅游景点和附近酒店信息的网站,用户可以根据旅游团一起旅游,可以也可以自驾游,还可以发布旅游活动等。 演示视频 https://www.bilibili.com/video/BV1wv411x7cg/?share_sourcecopy_web&vd_sourceed0f04fbb713154db…

【Vue】七、Vue-cli工程化开发

后端程序员的vue学习之路一、 Vue-cli安装Vue-cli1、安装node.js2、配置node.js环境变量3、 Npm仓库设置淘宝源4、全局安装 vue-cli5、创建vue应用程序1、 创建vue项目基础骨架:2、 运行项目:6、vue项目结构二、Vue.js项目运行逻辑分析1、 npm run dev命…

3.11.2、虚拟局域网 VLAN 实现机制

虚拟局域网 VLAN 技术是在交换机上实现的,需要交换机能够实现以下两大功能 能够处理带有 VLAN 标记的帧:IEEE 802.1Q 帧交换机的各端口支持不同的端口类型(帧的处理方式有所不同) 1、IEEE 802.1Q 帧 IEEE 802.1Q 帧&#xff08…

Java项目:SpringBoot美容院预约管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统分为管理员与普通用户两种角色; 管理员角色包含以下功能: 登录,首页,新增管理员,管理员信息列表,网站用户信息列表…

node.js+uni计算机毕设项目基于微信小程序校园心理咨询(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…

RabbitMQ 第一天 基础 1 MQ的基本概念 1.1 MQ 概述 1.2 MQ的优势和 劣势 1.3 MQ的优势

RabbitMQ 【黑马程序员RabbitMQ全套教程,rabbitmq消息中间件到实战】 文章目录RabbitMQ第一天 基础1 MQ的基本概念1.1 MQ 概述1.1.1 MQ 概述1.1.2 小结1.2 MQ的优势和 劣势1.2.1 概述1.3 MQ的优势1.3.1 应用解耦1.3.2 异步提速1.3.3 削峰填谷1.3.4 小结第一天 基础…

【SpringMVC】SpringMVC模型数据+视图解析器

目录 一、模型数据-如何将数据存入request域 二、模型数据-如何将数据存入session域 三、ModelAttribute 四、视图解析器 相关文章 【SpringMVC】入门篇:带你了解SpringMVC的执行流程【SpringMVC】入门篇:带你了解SpringMVC的执行流程 【SpringMVC】使用…

springboot整合swagger

特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响。 springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理 springboot整合mybatis-plusdurid数据库连接池 springboot整合…

node.js+uni计算机毕设项目儿童健康成长档案小程序(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…

暂时性死区以及函数作用域

暂时性死区 暂时性死区也就是变量声明到声明完成的区块,这个区块是一个封闭的作用域,直到声明完成。 如果在变量声明之前使用该变量,那么该变量是不可用的,也就被称为暂时性死区。 var 没有暂时性死区,因为var存在变…

Python编程 递归函数

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.函数执行注意点 二.递归函数 1.递归的介绍 2.例子 前言 本章将会讲解…

新版H5微信网页JS-SDK自定义分享功能实现

1.先用 微信官方文档demo,下载下来去改就行, 概述 | 微信开放文档 2.(后端)填写上认证后的,公众号appid,appsecret。 3.(前端代码) 配置好需要的接口(调试打开debug&a…

自研框架(Webx)整合Zuul网关工作总结

写在前面,最近被分配了一个技术任务,简单描述为自研框架(类比Spring)整合一个微服务网关,并且能用就行。 有人可能会问,想用微服务网关,不是直接引入zuul或者gateway相关的依赖,然后…

【Pandas入门教程】如何合并多个表中的数据

如何合并多个表中的数据 来源:Pandas官网:https://pandas.pydata.org/docs/getting_started/intro_tutorials/index.html 笔记托管:https://gitee.com/DingJiaxiong/machine-learning-study 文章目录如何合并多个表中的数据导包数据准备【1】…

Linux系统基础——文件子系统

title: Linux系统文件子系统 date: 2022-12-18 15:48:24 modify: 2022-12-18 16:48:43 author: wangjianfeng tags: 001-computer-technology, OS, Linux aliases: Linux系统文件子系统 特此说明: 刘超的趣谈linux操作系统是比较重要的参考资料,本文大部分内容和图…

腾讯云轻量应用服务器搭建LAMP 开发环境

LAMP(LinuxApacheMySQLPHP)是目前国际流行的 Web 应用框架,包括了 Linux 操作系统、Apache Web 服务器、MySQL/MariaDB 数据库和 PHP 编程语言环境以及相关组件支持。 说明 LAMP 应用镜像底层基于 CentOS 7.6 64位操作系统。 登录 轻量应用服…