Nell'ambito del progetto un gruppo di appassionati sta sviluppando un sistema operativo simile a Unix per architettura x86, dotato di un proprio kernel e di un'interfaccia grafica nello stile dei sistemi operativi della fine degli anni '90. Lo sviluppo avviene da zero, per pura curiosità, e non si basa sul codice di altri sistemi operativi esistenti. Gli autori si sono prefissati l'obiettivo di rendere SerenityOS utilizzabile nella vita quotidiana, mantenendo l'estetica dei sistemi della fine degli anni '90, arricchendola con idee utili per gli utenti esperti dei sistemi moderni. Il codice è scritto in C++ e sotto licenza BSD.
Il progetto è un buon esempio di come, fissando un obiettivo specifico e giorno dopo giorno come hobby si possa creare un sistema operativo completamente funzionante e coinvolgere . Tra gli altri progetti dello stesso autore si può notare , un emulatore di PC con processore i386, in sviluppo dal 2003.
Le funzionalità disponibili allo stato attuale dello sviluppo:
- Multitasking preemptivo;
- Multithreading;
- Server composito e per finestre ;
- Un framework per lo sviluppo di applicazioni grafiche con un insieme di widget;
- Ambiente per la progettazione visiva dell'interfaccia delle applicazioni;
- Stack di rete con supporto per ARP, TCP, UDP e ICMP. Proprio ;
- File system basato su Ext2 ( in C++);
- Libreria standard C simile a Unix () e utility utente standard (cat, cp, chmod, env, kill, ps, ping, su, sort, strace, uptime, ecc.);
- Shell della riga di comando con supporto per pipe e reindirizzamento dell'input/output;
- Supporto per mmap() e file eseguibili in formato ELF;
- Presenza di pseudo-FS /proc;
- Supporto per socket Unix locali;
- Supporto per pseudo-terminali e /dev/pts;
- La libreria per lo sviluppo di gestori eventi efficienti (Event loop);
- Supporto per la libreria SDL;
- Supporto per immagini in formato PNG;
- Pacchetto di applicazioni integrate: editor di testo, gestore file, alcuni giochi (Minesweeper e Snake), interfaccia per l'avvio di programmi, editor di caratteri, gestore di caricamento file, emulatore di terminale;

Fonte: opennet.ru
