Git Product home page Git Product logo

zircon's Introduction

Zircon

这是从Fuchsia官方的20190715版本代码仓库中分离出来的Zircon代码,用于进行Zircon内核学习。可以通过简陋的Makefile脚本进行编译并在qemu上运行。
目前支持在ubuntu 18.04和Mac上编译运行。
一些我们关于zircon的分析放在这里,欢迎补充!

关于代码分析工具

  • 这里是适用于fuchsia仓库的文档(需要科学上网)。我们使用vscode,相关的vscode设置在仓库中的.vscode目录,希望有所帮助。
  • 解析代码依赖的compile_commands.json将会随build过程生成到out文件夹,建议先成功build再用vscode打开zircon目录。

关于编译运行

为了减小仓库体积,我们将prebuilt目录进行了大幅调整;因此运行之前请下载google预编译好的clang,解压后放到某个权限合适的位置,然后在代码的这个位置绝对目录修改为对应位置。

当前只支持在Mac OS及Linux x64上进行编译。

默认的make runmake build是针对x64架构的,如果希望编译运行arm架构的zircon,那么需要:

  • 修改out/args.gn中的legacy-image-x64legacy-image-arm64
  • 重新make build
  • make runarm

Zircon is the core platform that powers the Fuchsia OS. Zircon is composed of a microkernel (source in kernel/...) as well as a small set of userspace services, drivers, and libraries (source in system/...) necessary for the system to boot, talk to hardware, load userspace processes and run them, etc. Fuchsia builds a much larger OS on top of this foundation.

The canonical Zircon Git repository is located at: https://fuchsia.googlesource.com/zircon

The Zircon Kernel provides syscalls to manage processes, threads, virtual memory, inter-process communication, waiting on object state changes, and locking (via futexes).

Currently there are some temporary syscalls that have been used for early bringup work, which will be going away in the future as the long term syscall API/ABI surface is finalized. The expectation is that there will be about 100 syscalls.

Zircon syscalls are generally non-blocking. The wait_one, wait_many port_wait and thread sleep being the notable exceptions.

This page is a non-comprehensive index of the zircon documentation.

zircon's People

Contributors

panql avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.