Study how an operating system kernel, scheduler, and filesystem work by reading a from scratch Swift implementation.
Boot a custom desktop environment with a terminal, file manager, and text editor inside QEMU.
Experiment with low level Swift programming outside of Apple's usual frameworks.
| mweinbach/swift-os | thebriangao/pebble | easychen/markmark | |
|---|---|---|---|
| Stars | 84 | 84 | 85 |
| Language | Swift | Swift | Swift |
| Setup difficulty | hard | moderate | easy |
| Complexity | 5/5 | 3/5 | 1/5 |
| Audience | developer | vibe coder | writer |
Figures from each repo's GitHub metadata at analysis time.
Requires macOS on Apple Silicon, QEMU, and a specific pinned Swift 6.2 toolchain.
SwiftOS is a real operating system built entirely in the Swift programming language. It runs as a bare metal kernel on 64 bit ARM hardware, using a stripped down version of Swift with no standard library runtime, and it boots inside the QEMU emulator configured to look like a Raspberry Pi 5. Nothing borrows from Linux or from Apple's own frameworks. Every piece, from the disk driver to the window manager, was written from scratch in Swift by the project. The kernel side handles the basics an operating system needs: reading the hardware layout automatically instead of hardcoding addresses, running threads across all four CPU cores, managing memory, talking to a virtual disk through its own filesystem called SwiftFS, and networking with support for ping and DNS lookups. It can also power the virtual machine on and off for real, and it recovers cleanly from being killed mid write thanks to a journal that replays on the next boot. On top of that kernel sits a small desktop environment. There is a window manager with dragging, resizing, and minimizing, a taskbar and desktop icons, and a terminal emulator with command history and colored text. A custom shell called swish supports about 35 familiar commands such as ls, cat, grep, ps, and top, along with pipes and file redirection. Extra apps include a file manager, a text editor, and a system monitor that reads real data from the kernel, like CPU usage and memory allocation. To try it, you need a Mac with Apple Silicon, QEMU installed, and a specific Swift 6.2 toolchain. Running a build command compiles the kernel, and a second command boots it in a QEMU window where you can click around or type into the terminal, which starts already focused and ready for commands like neofetch or ls. The project is upfront about what is missing. It currently targets the QEMU virtual machine rather than real hardware, most work runs on a single CPU core by design, and full networking such as TCP is still on the roadmap alongside real hardware support.
A complete operating system, kernel and desktop included, written from scratch in Swift and run in an emulator.
Mainly Swift. The stack also includes Swift, QEMU, aarch64.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.