-
-
Notifications
You must be signed in to change notification settings - Fork 5
Home
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_VERSIONinkernel/kernel.h) · Latest LTS:v5.9.0-LTS
| 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 |
| 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 |
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 |
| 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 |
| 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 |
| 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 guarantees — Security 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.
- Architecture — how the pieces fit together
- FAQ — common questions
- Glossary — terminology
- NyxOS repository — GitHub
- OSDev Wiki — general OS-development reference
- Intel SDM — the x86_64 architecture manuals
NyxOS v6.4.363 · GPL v2 · GitHub · uselessalter on Discord · nyxos@inbox.lv
NyxOS Wiki
Getting started
Kernel
Storage & network
Graphics & apps
Userspace
HOWTO
- HOWTO-Add-a-system-call
- HOWTO-Write-a-userspace-program
- HOWTO-Add-a-shell-command
- HOWTO-Add-a-GUI-application
Reference
- Syscall-Reference
- Command-Reference
- Hardware-Reference
- Format-Reference
- Kernel-Data-Structures
- Source-Tree-Reference
Project