Drew DeVault, autorul mediului utilizator Sway, clientului de email Aerc, platformei de dezvoltare colaborativă SourceHut și limbajului de programare Hare, a anunțat că a reușit să scrie propria sa implementare a unui clon UNIX în doar 27 de zile. Autorul a denumit sistemul său de operare Bunnix.
Sistemul este un sistem de operare monolitic similar Unix, scris în Hare cu mici includeri de limbaj C.
În spațiul utilizatorului au fost construite următoarele instrumente:
- dash (/bin/sh)
- gzip
- less (paginare)
- lok (/bin/awk)
- lolcat
- mandoc (pagini man)
- sbase (unelte de bază)1
- tcc (compilator C)
- Vim 5.7
De asemenea, pentru a demonstra capabilitățile sistemului, au fost construite jocurile Doom și Colossal Cave Adventure.
Sistemul poate fi lansat folosind QEmu sau scris pe un stick USB. Lucrul cu USB-ul în sine nu este suportat, așa că pe hardware real trebuie folosită o tastatură PS2. În nucleu sunt suportate driverele:
- PCI,
- dispozitive AHCI,
- tabele de partiții GPT și MBR,
- tastatură PS/2,
- porturi seriale de platformă,
- ceasuri CMOS,
- framebuffer,
- sistem de fișiere ext4 și memfs (prin lwext4).
Funcțiile nucleului includ:
- sistem de fișiere virtual,
- /dev, /dev/kbd и /dev/fb0,
- seriale și VideoTTY,
- terminal de control /dev/tty,
- emulator de terminal,
- termios,
- aproape 40 de apeluri de sistem (clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl etc.)
Autorul a realizat acest proiect din proprie inițiativă și nu intenționează să continue dezvoltarea sa. A fost interesat de cât de simplu este să scrii un nucleu și să porti software terț folosind unelte moderne. Așa cum spune dezvoltatorul, software-ul terț a fost relativ ușor de portat datorită faptului că libc-ul său s-a bazat pe musl libc, ceea ce a făcut ca mecanismele libc să fie ușor adaptate pentru a funcționa pe Bunnix.
Sursa: linux.org.ru
