Giter Club home page Giter Club logo

starry's Introduction

StarryOS

简介

这里是StarryOS,一个基于ArceOS实现的宏内核。

Starry意指布满星星的,寓意本OS的开发学习借鉴了许多前辈的思路,并将其汇总归一为这个内核。

在线文档详见:Starry (azure-stars.github.io)

成员

陈嘉钰、郑友捷、王昱栋

Usage

# 构建镜像
./build_img.sh sdcard
# 运行内核
make run

# 使用 ramdisk 加载测例并且运行内核,可以显著提高文件 IO 速度
make FEATURES=img run

项目结构

整体结构图

image-20230603005345201

模块依赖图

graph TD;
axsync-->axdisplay
axdriver-->axdisplay

axhal-->axdriver
axalloc-->axdriver
axconfig-->axdriver

axdriver-->axfs
axsync-->axfs
axtask-.dev.->axfs

axconfig-->axhal
axalloc-->axhal
axlog-->axhal

axhal-->axnet
axsync-->axnet
axtask-->axnet
axdriver-->axnet

axalloc-->axruntime
axconfig-->axruntime
axdriver-->axruntime
axhal-->axruntime
axlog-->axruntime
axnet-->axruntime
axdisplay-->axruntime
axtask-->axruntime
axprocess-->axruntime
axtask-->axsync
axtask-->axprocess
axfs-->axprocess
axhal-->axprocess

axalloc-->axtask
axhal-->axtask
axconfig-->axtask
axlog-->axtask

axfs-->axmem
axalloc-->axmem
axhal-->axmem
axmem-->axprocess
  • crates:与OS设计无关的公共组件
  • modules:与OS设计更加耦合的组件
  • doc:每周汇报文档,当前位于doc分支上
  • apps:unikernel架构下的用户程序,继承原有ArceOS
  • scripts:makefile脚本,继承原有ArceOS
  • ulib:用户库,继承原有ArceOS

测例切换和执行

执行如下指令可以生成sdcard文件镜像

$ ./build_img.sh sdcard

如果想要切换到其他测例,如切换到gcc,请在保证testcases/gcc文件夹下对应文件夹内容满足需求之后,执行如下指令

$ ./build_img.sh gcc

当使用 gcc 测例时,由于 gcc 测例内容过大,不直接拷贝到 ramdisk 上,因此不能启动 FEATURES=img

通过修改指令可以切换生成的文件镜像中包含的测例。相应测例存放在testcases/文件夹下,如执行./build_img.sh libc-static可以生成libc静态测例。

文档

内核文档存放在doc/Starry决赛设计文档.pdf

另外,可以通过静态部署网页Starry (azure-stars.github.io)查看更好排版的文档。

starry's People

Contributors

equation314 avatar azure-stars avatar c0per avatar chyyuu avatar coolyjg avatar tim-c1 avatar chunchunyd avatar yfblock avatar kuangjux avatar reflyable avatar elliott10 avatar pymongo avatar mrrobertyuan avatar liang2kl avatar deathwish5 avatar johnkram avatar wenyxu avatar chyyuu-tsinghua-cs avatar hyuuko1 avatar lhw2002426 avatar scpointer 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.