Skip to content
kazah-png edited this page Jul 28, 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.180 (KERNEL_VERSION in kernel/core/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/JPEG
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, JPEG [[Image-Decoders
Device drivers Drivers
Multi-core support SMP
Privilege boundaries and hardening Security
Ring-3 programs and the shared libc Userspace

Reference

Exhaustive, field-by-field references. Every value is quoted from the source tree.

Topic Page
All 57 syscalls, man-page style [[Syscall-Reference
All 104 builtins and 62 ring-3 programs [[Command-Reference
GDT, IDT, MSRs, PTE bits, I/O ports [[Hardware-Reference
Network headers, ELF, CPIO, EXT2, TLS, image formats [[Format-Reference
Every source file, with purpose and size [[Source-Tree-Reference
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.180 [[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