Drew DeVault, autore dell'ambiente utente Sway, del client email Aerc, della piattaforma di sviluppo collaborativo SourceHut e del linguaggio di programmazione Hare, ha dichiarato di essere riuscito a scrivere una propria implementazione di un clone di UNIX in soli 27 giorni. Ha chiamato il suo sistema operativo Bunnix.
. Il sistema è un'operating system monolitica simile a Unix, scritta in Hare con piccole inclusioni di C.
Nello spazio utente sono stati assemblati i seguenti strumenti:
- dash (/bin/sh)
- gzip
- less (pager)
- lok (/bin/awk)
- lolcat
- mandoc (man pages)
- sbase (core utils)1
- tcc (C compiler)
- Vim 5.7
Sono stati inoltre assemblati giochi come Doom e Colossal Cave Adventure per dimostrare le capacità del sistema.
Il sistema può essere avviato utilizzando QEmu o registrato su una chiavetta USB. Tuttavia, il supporto per il funzionamento diretto con la USB non è previsto, quindi su hardware reale è necessaria una tastiera PS2. Il kernel supporta i seguenti driver:
- PCI,
- dispositivi AHCI,
- tabelle delle partizioni GPT e MBR,
- tastiera PS/2,
- porte seriali della piattaforma,
- orologi CMOS,
- framebuffer,
- file system ext4 e memfs (attraverso lwext4).
Le funzionalità del kernel includono:
- un filesystem virtuale,
- /dev, /dev/kbd и /dev/fb0,
- porte seriali e VideoTTY,
- terminal di controllo /dev/tty,
- emulatore di terminale,
- termios,
- circa 40 chiamate di sistema (clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl, ecc.)
L'autore ha creato questo progetto per interesse personale e non intende svilupparlo ulteriormente. Era interessato a quanto sarebbe stato semplice scrivere un kernel e portare software di terze parti utilizzando strumenti moderni. Come afferma lo sviluppatore, il software di terze parti è stato relativamente facile da portare grazie al fatto che la sua libc si basa su musl libc, il che ha facilitato l'adattamento dei meccanismi di libc per funzionare su Bunnix.
Fonte: linux.org.ru
