freeCode@ITFuchsia 随笔-生活工作点滴

Fuchsia探索(一)

2019-07-11  本文已影响2人  youseewhat

基础了解

Google开发全新操作系统,主要针对嵌入式设备和个人计算机

完全不同于基于Linux内核开发出来的AndroidChrome

Fuchsia基于Zircon Kernel开发

Fuchsia os使用c、c++、dart、go、python、FIDL进行开发

Fuchsia os设计旨在跨平台,如红绿灯、数字手表、智能手机、平板电脑与个人计算机等

Fuchsiaswift语言也做了支持

Flutte作为跨平台开发框架也能开发出在Fuchsia os上运行的程序

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的提交记录

Android OpenGL上解决Fuchsia init函数bug

上一篇 下一篇

猜你喜欢

热点阅读