MCPcopy Index your code
hub / github.com/0x59616e/SteinsOS

github.com/0x59616e/SteinsOS @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
236 symbols 538 edges 30 files 1 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Introduction

SteinsOS is an operating system featuring non-preemptive kernel targeting on single-core armv8 architecture.

SteinOS is derived from following tutorials and software distributions:

Redox OS: The state-of-the-art Rust Operating System.

RISC Vに従うCPUの上で動作するOSをRustで書く(CPU実験余興: Very useful blog about Rust bare-metal programming.

Writing an OS in Rust: An excellent series about kernel dev with Rust.

xv6: An Unix-like OS written in C.

Document

Below are SteinsOS docuements, one in Taiwanese, and the other in English.

Taiwanese

English

Prerequisites

Here's what you need: - Rust compiler

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ sudo apt-get install -y qemu-system-aarch64

Build and run

Just run make qemu

$ make qemu

Feature

  • Preemptive multi-tasking
  • Memory management
  • Virtual Memory
  • File system
  • C library

Shell

$ ls
.
shell
ls
cat
READMD.md
$ cat ./README.md
...

Contribution

Pull requests, bug reports and any kind of suggestion are very welcomed.

Extension points exported contracts — how you extend this code

FileOperation (Interface)
(no doc) [2 implementers]
kernel/src/fs/file.rs
FrameAlloc (Interface)
(no doc) [1 implementers]
kernel/src/mm/mod.rs

Core symbols most depended-on inside this repo

current
called by 17
kernel/src/process/mod.rs
as_ptr
called by 14
kernel/src/vm/mod.rs
size
called by 13
kernel/src/fs/inode.rs
printf
called by 12
user/libc.c
write
called by 12
kernel/src/virtio.rs
read
called by 12
kernel/src/fs/mod.rs
write
called by 10
kernel/src/gic.rs
map
called by 10
kernel/src/vm/mod.rs

Shape

Function 97
Method 96
Class 39
Enum 2
Interface 2

Languages

Rust87%
C12%
C++1%

Modules by API surface

kernel/src/process/mod.rs33 symbols
kernel/src/vm/mod.rs20 symbols
kernel/src/virtio.rs20 symbols
user/libc.c19 symbols
kernel/src/fs/inode.rs19 symbols
kernel/src/syscall/mod.rs14 symbols
kernel/src/serial.rs12 symbols
kernel/src/fs/mod.rs11 symbols
kernel/src/gic.rs10 symbols
kernel/src/mm/buddyallocator.rs9 symbols
kernel/src/mm/slaballocator.rs8 symbols
kernel/src/fs/file.rs8 symbols

For agents

$ claude mcp add SteinsOS \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact