- Sistema operacional experimental que segue rigorosamente a filosofia “everything is a file” do Plan9
- Reescrito completamente do zero em C e assembly para desenvolvimento de SO com fins educacionais e experimentais
- Estrutura de kernel totalmente preemptiva e sem ticks baseada no escalonador EEVDF. Suporte a SMP e multithreading e controle refinado de locks
- Fornece sistema de IPC baseado em arquivos: inclui pipes, memória compartilhada, sockets e um sistema de notes no estilo dos
signals do Plan9
- Camada de abstração de dispositivos baseada em arquivos para gerenciar de forma unificada framebuffer, dispositivos de entrada etc.
- Suporte a primitivas de sincronização como mutex, rwlock, futex etc.
- Design de kernel modular, com carregamento/remoção de módulos em tempo de execução
- O sistema de arquivos usa uma estrutura VFS no estilo Unix. Suporta pontos de montagem, hard links e namespaces por processo
- O espaço de usuário é composto por sua própria biblioteca padrão C e biblioteca de sistema
- Fornece um ambiente de desktop modular baseado em memória compartilhada
- Principais diferenças em relação ao POSIX
- Usa
spawn() em vez de fork(), exec()
- Remove o conceito de usuário e adota uma biblioteca padrão não POSIX
- Controle de acesso com flags de arquivo em vez de modo de arquivo
- Limitações atuais
- Suporta apenas RAM disk, exclusivo para x86_64
- Planos futuros
- Port de LUA e configuração dinâmica do sistema
- I/O assíncrono e chamadas de sistema (considerando io_uring)
- Suporte a USB previsto
- Os utilitários de shell foram redesenhados para se adequar ao sistema de flags de arquivo
- Oferece interfaces semelhantes às utilidades POSIX como
touch, cat, echo, ls, rm etc.
- Ambiente de build: requer Linux, GCC, NASM, mtools e QEMU
- Fornece documentação baseada em Doxygen, incluindo comentários no código e referências
- Projetado como um SO intermediário educacional entre xv6 e Linux
Ainda não há comentários.