Drew DeVault, autor do ambiente de usuário Sway, do cliente de e-mail Aerc, da plataforma de desenvolvimento colaborativo SourceHut e da linguagem de programação Hare, informou que conseguiu escrever sua própria implementação de um clone do UNIX em apenas 27 dias. O autor nomeou seu sistema operacional Bunnix.
O sistema é um sistema operacional monolítico do tipo Unix-like, escrito em Hare com pequenas inclusões da linguagem C.
No espaço do usuário, foram montadas as seguintes ferramentas:
- dash (/bin/sh)
- gzip
- less (pager)
- lok (/bin/awk)
- lolcat
- mandoc (man pages)
- sbase (core utils)1
- tcc (compilador C)
- Vim 5.7
Além disso, para demonstrar as capacidades do sistema, foram montados jogos como Doom e Colossal Cave Adventure.
O sistema pode ser iniciado usando QEmu ou gravado em um pen drive. O trabalho com o próprio USB não é suportado, portanto, em hardware real, deve-se usar um PS2/teclado. O núcleo suporta drivers:
- PCI,
- dispositivos AHCI,
- tabelas de partição GPT e MBR,
- teclado PS/2,
- portas seriais da plataforma,
- relógios CMOS,
- framebuffer,
- sistema de arquivos ext4 e memfs (através de lwext4).
As funções do núcleo incluem:
- sistema de arquivos virtual,
- /dev, /dev/kbd и /dev/fb0,
- seriais e VideoTTY,
- terminal de controle /dev/tty,
- emulador de terminal,
- termios,
- cerca de 40 chamadas de sistema (clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl, etc.)
O autor fez este projeto por interesse próprio e não pretende desenvolvê-lo mais. Ele estava curioso para saber quão simples poderia ser escrever um núcleo e portar software de terceiros usando ferramentas modernas. Como diz o desenvolvedor, o software de terceiros foi relativamente fácil de portar, uma vez que sua libc era baseada em musl libc, o que facilitou a adaptação dos mecanismos da libc para funcionar no Bunnix.
Fonte: linux.org.ru
