Mushos é um protótipo do sistema operacional do tipo Unix, escrito do zero.
Minha motivação para criá -lo foi:
O código do kernel é armazenado no diretório core , o diretório lib contém código para mushlib - uma substituição do stdlib para os Mushos.
usergroup . ? Construa Mushlib usando o seguinte comando (pacote cmake necessário!):
make build_lib
Execute os Mushos usando o seguinte comando (pacotes CMake e Qemu necessários!):
make run
O Mushlib é considerado uma entidade modular - não há limitações sobre como o sistema de arquivos ou o sistema de arquivos é implementado, desde que a implementação tenha as funções que correspondem às assinaturas padrão (da lib/base ).
Para cada compilação do Mushlib, é possível substituir suas fontes por outras personalizadas. Por exemplo, se você deseja criar o Mushlib com a implementação de heap personalizada, basta criar um arquivo .c que possui as funções definidas no lib/base/heap.h - e depois o incorpore ao Mushlib usando o seguinte comando (os mesmos trabalhos com fontes .h e .asm ):
make C_SOURCES="path/to/your/heap.c;" build_lib
NB! Seu arquivo precisa ter o mesmo nome do arquivo Base Mushlib para substituição bem -sucedida. Se dois arquivos diferentes precisarem ser substituídos, basta usar um ponto e vírgula (um ponto e vírgula no final é sempre necessário!).
gcc-multilib