Skip to content
kazah-png edited this page Jul 26, 2026 · 14 revisions

NyxOS Wiki

NyxOS is a from-scratch x86_64 operating system written in C and assembly — no libc, no third-party kernel code. It boots under QEMU (and on real hardware) into a windowed desktop, runs ring-3 ELF programs preemptively across multiple cores, speaks TCP/IP and TLS 1.2 to the live internet, and ships its own web browser.

Current release: v5.9.86 (KERNEL_VERSION in kernel/kernel.h) · Latest LTS: v5.9.0-LTS

At a glance

Architecture x86_64 long mode, 4-level paging, higher-half monolithic kernel
Multitasking Preemptive weighted round-robin — 512 processes, 1024 threads
Multi-core SMP up to 8 CPUs; user processes run in ring 3 on application processors
Memory Demand paging, copy-on-write, lazy sbrk, mmap, demand-grown user stacks
Syscalls 57, via syscall/sysret — threads, sockets, poll, mmap, signals
Filesystem VFS over ramdisk, read/write EXT2, /proc, /dev
Networking RTL8139 → Ethernet/ARP/IP/ICMP/UDP/TCP → DHCP/DNS/HTTP → TLS 1.2
Cryptography X25519, P-256, P-384, RSA, ECDSA, AES-GCM, SHA-2, X.509 chain verification
GUI 32-window compositor, 4 workspaces, taskbar, Start menu, 10 desktop apps
Browser Selene — HTTP/HTTPS, links, forms, tables, tabs, inline PNG/BMP/GIF
Games DOOM (ring-3 port), Minesweeper, Pong, Snake, Tetris
License GPL v2

Start here

I want to… Page
Build it and boot it Building
Ask a common question FAQ
Look up a term Glossary
Fix something that broke Troubleshooting
Understand the kernel layout Architecture
Follow what happens at power-on Boot Process
Read the syscall ABI Syscalls
Drive the shell Shell

HOWTO

Task-oriented procedures, each with a worked example, a checklist and a troubleshooting table.

Task Page
Write a ring-3 program HOWTO Write a userspace program
Add a system call HOWTO Add a system call
Add a shell command HOWTO Add a shell command
Add a GUI application HOWTO Add a GUI application

Subsystems

Area Page
Physical/virtual memory, heap, slab Memory Management
Scheduler, processes, threads, signals Process Management
VFS, EXT2, /proc, /dev Filesystem
Ethernet through HTTP, BSD sockets Networking Stack
TLS 1.2 and the crypto primitives Cryptography and TLS
Compositor, framebuffer, windowing GUI Subsystem
Built-in desktop apps and games Desktop Applications
The NyxOS web browser Selene Browser
DEFLATE, PNG, BMP, GIF Image Decoders
Device drivers Drivers
Multi-core support SMP
Privilege boundaries and hardening Security
Ring-3 programs and the shared libc Userspace

Reference

Topic Page
process_t, vfs_node_t, window_t field by field Kernel Data Structures
Diagnosing faults, boot logs, self-tests Debugging
Symptom → cause → fix Troubleshooting
Every release, v1.0.0 → v5.9.86 Version History

Project

Source https://github.com/kazah-png/nyx-os
Issues https://github.com/kazah-png/nyx-os/issues
License GPL v2
Contact uselessalter on Discord · nyxos@inbox.lv
How to contribute Contributing
Documentation style Wiki Conventions

Caution

NyxOS is a hobby operating system built for learning. It is not hardened against hostile input and makes no security guaranteesSecurity documents exactly what is and is not defended. The TLS stack verifies certificate chains and can refuse a connection in strict mode, but every cryptographic primitive was written from scratch for this project and reviewed by nobody else. Do not trust it with anything that matters.

See also

External resources

Clone this wiki locally