WingOS is a small hobbyist 64 bit kernel made with <3 in C++
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.
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)
- 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
- Basic Render
- Render fill
- Render text
- Transform
- Shader
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).
WingOS is made by Humans, and not by a generative AI.
More information can be linked to the by-human repository.

