基础了解
Google开发全新操作系统,主要针对嵌入式设备和个人计算机
完全不同于基于Linux内核
开发出来的Android
和Chrome
Fuchsia
基于Zircon Kernel
开发
Fuchsia os
使用c、c++、dart、go、python、FIDL
进行开发
Fuchsia os
设计旨在跨平台,如红绿灯、数字手表、智能手机、平板电脑与个人计算机等
Fuchsia
对swift
语言也做了支持
Flutte
作为跨平台开发框架也能开发出在Fuchsia os
上运行的程序
Zircon内核
Zircon内核是微内核,Zircon供核心驱动程序和Fuchsia的libc实现
Zircon内核的核心是LK(Little Kernel),LK以微控制器为中心,缺乏对MMU,用户空间和系统调用的支持,Zircon上增加了LK缺乏的功能
用户空间操作内核通过Handles(句柄),Handles被认为是与特定内核对象的会话或连接
Zircon架构支持
- arm64
Fuchsia支持arm64(也称为AArch64),对支持的微体系结构没有限制。- x86-64
Fuchsia支持x86-64(也称为IA32e或AMD64),但对受支持的微体系结构有一些限制。- Intel
对于Intel CPU,只有Broadwell及更高版本受到积极支持,并且会为其添加新功能。接受补丁以保持Nehalem并在以后启动。- AMD
AMD CPU不受主动支持(googe没有进行主动测试),googol表示会接受补丁以确保正确启动。
Zircon Core
- Device Manager & Device Hosts
- Device Driver Model (DDK为驱动)
- C Library (libc c库)
- POSIX I/O (libfdio)
- Process Creation(进程孵化)
Framework
- Core Libraries(核心库)
- Application model(应用程序组件)
- Interface definition language (FIDL用于RPC机制,相当于binder)
- Services
- Environments
- Boot sequence(启动顺序)
- Device, user, and story runners
- Components
- Namespaces
- Sandboxing
- Story
- Module
- Agent
存储
- Block devices
- File systems
- Directory hierarchy
- Ledger
- Document store
- Application cache
网络
- Ethernet
- Wireless
- Bluetooth
- Telephony
- Sockets
- HTTP
图像处理
- Magma (vulkan driver)
- Escher (渲染引擎)
- Scenic (合成器)
- Input manager
- Flutter (UI 工具包)
多媒体
- Audio
- Video
- DRM
在音视频处理上该系统支持FFmpeg
,FFmpeg
是处理多媒体内容(如音频,视频,字幕和相关元数据)的库和工具的集合。
libavcodec
提供更广泛的编解码器的实现。libavformat
实现流协议,容器格式和基本I / O访问。libavutil
包括垫圈,解压缩器和其他实用功能。libavfilter
提供通过过滤器链改变解码的音频和视频的方法。libavdevice
提供访问捕获和回放设备的抽象。libswresample
实现音频混合和重采样例程。libswscale
实现颜色转换和缩放例程。
当前很多操作系统的内核都是基于Linux内核实现 ,Zircon是Google开发的全新内核,Google在CPU激活迁移资源分配、线程优先级管理做了自己的设计,Fuchsia吸取了Android的一些教训,看上去更加完善,或许未来会替代Android成为下一代移动操作系统
Google在新的Android源码中也增加了对Fuchsia的支持
Android支持Fuchsia的提交记录