MCPcopy Create free account
hub / github.com/Supercip971/WingOS

github.com/Supercip971/WingOS @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,800 symbols 6,623 edges 548 files ⚖ BSD-2-Clause 137 documented · 5% updated 8d ago★ 768

Browse by type

Functions 2,256 Types & classes 543 Endpoints 1
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Wingos-ui

Wingos

WingOS is a small hobbyist 64 bit kernel made with <3 in C++

latest milestone - blog - old branch

What the project is about

The project is about creating an operating system that is easy to program for, with a simple and clean API. - It tries to experiment with new ideas and API, ditching old and legacy concepts when possible. - WingOS is a microkernel based operating system, currently targetting x86_64. It tries to be a capability based OS, with a focus on security and stability. - The userspace is beginning to be fleshed out, with a VFS+ext4+nvme support. - Wingos has a working progress UI library inspired by flutter with a rasterizer and a widget system.

Wingos-doom

Wingos screenshot running DOOM in userspace

Milestones

Feature list

For now the kernel is still in development, but it has a few key features: - is 64 bit - is SMP capable (multiple CPU support) - has a basic scheduler with SMP support, priority, and CPU affinity support (and support cpu tree for NUMA systems) - Nvme (NVMe) disk support (in userspace) - Ext4 filesystem support (in userspace) - VFS support (in userspace)

Dependencies

  • The project uses the cutekit build system.
  • The project uses limine as a bootloader.

Roadmap (OS)

  • [x] Boot
  • [x] x86 basic support (interrupt, paging, ...)
  • [x] SMP support (apic, ...)
  • [x] Scheduler (with SMP support, priority, and cpu affinity support)
  • [x] Loading user space app
  • [x] User space (ring 3)
  • [x] Syscalls
  • [x] Spaces and handles
  • [x] Userspace objects (Virtual and Physical Memory, IPC, Task...)
  • [x] Services and IPC (inter process communication)
  • [x] PCI support (scan, devices, ...) (in userspace)
  • [x] Hello File! (NVME + GPT + Ext4 + VFS)
  • [x] Blocking IPC
  • [x] Graphics support (VESA, framebuffer, ...)
  • [x] Input support (keyboard, mouse, ...)
    • [ ] Interrupt handling in userspace
  • [x] Port DOOM
  • [ ] Signals
  • [ ] Create a shell
  • [ ] Above and beyond

Building the project

For now I don't have a complete dependency list, but you will need: - cutekit - Clang cross compiler for x86_64 - Everything needed to build a cross compiler - git, wget, gptfdisk, mkfs.fat (dosfstools), qemu

Run bash meta/build/make_cross_compiler.sh to build the Wingos specific version of gcc.

Now do ck s to start the build and run.

Do ck p to build ports (now no ports are buildable, do a git clone recursive to get all ports).

Codeberg

The project is synced to codeberg (github <-> codeberg), you can either use github or codeberg. Note that in the future the project aims to be fully ported to codeberg.

Made by human

Made by humand, not by gen AI badge

WingOS is made by Humans, and not by a generative AI.

More information can be linked to the by-human repository.

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 1,137
Method 1,119
Class 473
Enum 70
Route 1

Languages

C++85%
C12%
Python3%

Modules by API surface

src/external/stb/stb_image.hpp217 symbols
src/external/stb/stb_truetype.hpp151 symbols
src/kernel/loader/limine/limine.hpp67 symbols
src/wingos-headers/syscalls.h58 symbols
src/hw/mem/addr_space.hpp39 symbols
src/dev/pci/pci.hpp32 symbols
src/ui/widgets/widget.hpp31 symbols
src/kernel/generic/ubsan.cpp31 symbols
src/kernel/generic/scheduler.cpp30 symbols
src/kernel/generic/space.hpp28 symbols
meta/scheduler4.py28 symbols
meta/scheduler5.py25 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page