Norost B é um sistema operacional orientado a objetos construído em torno de um microkernel. Ele está focado principalmente em isolar processos do restante do sistema para melhorar a segurança, portabilidade ∧ escala.
Site
Racionalidade do projeto
Documentação
Arquivos, soquetes de rede ... são todos objetos e têm uma API comum. Isso mantém a interface simples e compreensível, fornecendo uma grande quantidade de flexibilidade e energia.
Qualquer processo pode criar novos objetos. O IPC é realizado por meio de operações em objetos.
Os processos só podem executar operações em objetos para os quais eles têm um identificador. Isso torna trivial isolar processos do restante do sistema, simplesmente fornecendo apenas lida com os objetos de que precisa.
As aplicações mínimas podem usar a API síncrona para manter o binário pequeno, enquanto aplicativos mais avançados podem aproveitar a E/S assíncrona para executar com mais eficiência o trabalho em lote.
Os aplicativos também podem aproveitar a memória compartilhada com estruturas de E/S especializadas para reduzir ainda mais a sobrecarga.
Algum suporte básico para a rede está presente. Um servidor SSH básico e servidor HTTP estão disponíveis.
Os aplicativos podem alocar uma janela e desenhar pixels arbitrários para ela. O gerenciador de janelas de ladrilhos lida automaticamente no layout para otimizar a propriedade de tela.
O kernel é quase totalmente preventível.
A maioria dos drivers está fora do kernel, o que facilita a substituição e/ou a extração deles.
| Arquitetura | Suportado |
|---|---|
x86 | ✗ |
x64 | ✓ Com SSE e AVX2 |
Risc-v | ✗ |
USB: XHCI
Dispositivos de bloco virtio
Dispositivos de armazenamento em massa USB (BBB)
Plain Framebuffer via MultiBoot2
GPU Virtio
Intel HD Graphics (muito mal, apenas em laptops específicos com configurações de inicialização específicas)
Ps/2 teclado e mouse
USB HID
Você precisará de um compilador de ferrugem remendado.
Depois que o compilador estiver configurado corretamente, mkiso.sh criará uma imagem inicializável. run.sh executará o sistema operacional no Qemu.