a little 64bit microkernel based operating system written in c++ with smp support
https://www.cyp.sh/
- C 51.5%
- C++ 45.6%
- Python 2%
- Shell 0.5%
- Assembly 0.4%
| disk | ||
| meta | ||
| src | ||
| .clang-format | ||
| .gdbinit | ||
| .gitignore | ||
| .gitmodules | ||
| compile_flags.txt | ||
| LICENSE | ||
| project.json | ||
| readme.md | ||
Wingos
WingOS is a small hobbyist 64 bit kernel made with <3 in C++
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.
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
Roadmap (OS)
- Boot
- x86 basic support (interrupt, paging, ...)
- SMP support (apic, ...)
- Scheduler (with SMP support, priority, and cpu affinity support)
- Loading user space app
- User space (ring 3)
- Syscalls
- Spaces and handles
- Userspace objects (Virtual and Physical Memory, IPC, Task...)
- Services and IPC (inter process communication)
- PCI support (scan, devices, ...) (in userspace)
- Hello File! (NVME + GPT + Ext4 + VFS)
- Blocking IPC
- Graphics support (VESA, framebuffer, ...)
- Input support (keyboard, mouse, ...)
- Interrupt handling in userspace
- Port DOOM
- Signals
- Create a shell
- Above and beyond
Roadmap (UI)
- Basic Render
- Render fill
- Render text
- Transform
- Shader
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
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).
Made by human
WingOS is made by Humans, and not by a generative AI.
More information can be linked to the by-human repository.

