Drew DeVault, autor del entorno de usuario Sway, del cliente de correo Aerc, de la plataforma de desarrollo colaborativo SourceHut y del lenguaje de programación Hare, informó que pudo escribir su propia implementación de un clon de UNIX en solo 27 días. El autor llamó a su sistema operativo Bunnix.
El sistema es un sistema operativo monolítico similar a Unix, escrito en Hare con pequeñas inclusiones del lenguaje C.
En el espacio de usuario, se han construido las siguientes herramientas:
- dash (/bin/sh)
- gzip
- less (paginador)
- lok (/bin/awk)
- lolcat
- mandoc (páginas man)
- sbase (utilidades básicas)1
- tcc (compilador de C)
- Vim 5.7
También se recopilaron juegos como Doom y Colossal Cave Adventure para demostrar las capacidades del sistema.
El sistema se puede ejecutar usando QEmu o grabarse en una memoria USB. No se admite el trabajo con la propia USB, por lo que en hardware real se debe usar PS2/teclado. En el núcleo se soportan los controladores:
- PCI,
- dispositivos AHCI,
- tablas de particiones GPT y MBR,
- teclado PS/2,
- puertos serie de la plataforma,
- relojes CMOS,
- framebuffer,
- sistema de archivos ext4 y memfs (a través de lwext4).
Las funciones del núcleo incluyen:
- sistema de archivos virtual,
- /dev, /dev/kbd и /dev/fb0,
- puertos serie y VideoTTY,
- terminal de control /dev/tty,
- emulador de terminal,
- termios,
- cerca de 40 llamadas al sistema (clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl, etc.)
El autor creó este proyecto para su propio interés y no tiene planes de desarrollarlo más. Le interesaba cuán fácil es escribir un núcleo y portar software de terceros utilizando herramientas modernas. Según el desarrollador, portar software de terceros fue relativamente sencillo gracias a que su libc se basó en musl libc, lo que facilitó la adaptación de los mecanismos de libc para funcionar en Bunnix.
Fuente: linux.org.ru
