
Browser edos-web
Type a URL, get the page. Links, history, images, tables and CSS, over HTTPS to the real internet; the page here is this site, fetched by the guest that drew it.
EDOSx86_64
EDOS boots on UEFI, brings up every core on the machine, and drops you into a compositing desktop: a browser, an editor, a file manager and a package manager, over its own scheduler, filesystem, network stack, USB stack and window system.
Verbatim serial output from a four-core boot, replayed at its own timestamps. The long pause is the PCI scan; the second one is mounting the root filesystem.

The applications menu
Four graphical programs. Each is an ordinary std Rust binary with a main(), and each draws through the same toolkit. None of them lives in the compositor: kill one and the desktop stays up.

edos-webType a URL, get the page. Links, history, images, tables and CSS, over HTTPS to the real internet; the page here is this site, fetched by the guest that drew it.

edos-editOpen a file, change it, save it. A tree of the folder down one side, a tab per open file, and the code coloured by language.

edos-filesMove around the disk without typing a path. Every mounted volume down one side, and a pane that previews the selected image and says how big it is and where it lives.

edos-grabSearch for a program and install it. Removing one takes back exactly the files it wrote, and nothing installs unless its checksum matches the signed index it came from.
The shell is a scripting language: functions, arithmetic, globbing, heredocs and job control, with every block closed by end rather than fi and done.The language reference.
ps, on an idle desktop
Nothing below is a wrapper around someone else's driver. Each of these threads is spawned by name at boot, and each one is a subsystem written for this kernel.
| PID | Name | What it does |
|---|---|---|
| 1 | reaper | Tears down dead threads and releases their file descriptors and mappings. |
| 2 | evict-inode | Does the blocking half of inode eviction, so no drop path ever waits on disk. |
| 3 | klogger | Drains the kernel log ring into /dev/klog, which is what dmesg reads. |
| 4 | ahci | Submits and completes NCQ commands, up to 32 tags in flight at once. |
| 5 | xhci | Runs USB transfers: HID keyboard and mouse, and mass storage. |
| 6 | e1000e | Moves Ethernet frames and drives DHCP and DNS. |
| 7 | hda | Intel HDA playback, exposed as /dev/dsp. |
| 8 | vga | virtio-gpu scanout and the hardware cursor. |
| 9 | tcp-retransmit | TCP timers: retransmission, delayed ACK, and TIME-WAIT expiry. |
| 10 | keyboard | Decodes scancodes into key events. |
| 11 | mouse | Reads HID boot-protocol reports and moves the pointer. |
| 12 | block_writeback | Flushes dirty pages, gated on the journal having committed. |
| 13 | journal_committer | Commits EFS metadata transactions. |
| 14 | fs | VFS work that cannot run inline: mounts, evictions, async page fill. |
| 15 | window-input | Routes keyboard and pointer events to the focused window. |
| 17 | ahci_watchdog | Catches NCQ commands that never complete. |
EFS is an extent-based filesystem with a metadata journal, written for this kernel and formatted by efs-mkfs, which runs on the host and inside EDOS. Mounting replays the journal when the last shutdown was unclean. Above it sit a page cache, a block cache, write-back gated on journal commits, and read-ahead; below it, AHCI with native command queuing.

Ethernet, ARP, IPv4 with fragment reassembly, ICMP, UDP and a TCP state machine, plus DHCP and DNS clients. The guest takes its address from DHCP within a millisecond of the NIC coming up. The same driver runs on real Intel I219 and I218 hardware.

The kernel owns a window registry and routes input to whichever window has focus. Everything you can see is an ordinary process: edos-wm composites and draws decorations, edos-taskbar and edos-terminal are separate programs, and they share pixel buffers with the compositor through shared memory.

50 seconds, no cuts
A shell, the file manager over /bin, the package manager fetching the editor off this site, and the browser reading the page that lists it. Recorded straight off the framebuffer over QEMU's monitor socket: keystrokes and pointer events go in, frames come out. It is how the OS gets tested.
The tree
Get it running
git clone https://github.com/edg-l/edos-v2
cd edos-v2
make all # userspace, kernel, bootable ISO
make run # QEMU: q35, UEFI, KVM, 4 coresThe kernel builds on plain nightly. Userspace links a real std, so it needs a custom toolchain built from a Rust fork; the build guide walks through it. Prefer a prebuilt image? Downloads.