DEV Community

Cover image for SkiftOS: Um Sistema Operacional Moderno escrito em C++ do zero
Marcos Oliveira
Marcos Oliveira

Posted on

SkiftOS: Um Sistema Operacional Moderno escrito em C++ do zero

O SkiftOS é um sistema operacional open source desenvolvido praticamente do zero, sem depender de um kernel Linux ou BSD.

Aviso: o próprio desenvolvedor afirma que o projeto ainda está em estágio inicial e não deve ser utilizado como sistema operacional principal ou em produção.

Desenvolvido principalmente em C++20, que busca unir:

  • simplicidade;
  • modularidade;
  • design moderno;
  • APIs limpas;
  • interface gráfica integrada.

Diferente de muitos hobby OS que focam apenas no kernel, o SkiftOS possui praticamente toda uma stack própria:

  • Bootloader
  • Microkernel
  • Framework gráfico
  • Biblioteca padrão
  • Toolkit de UI
  • Desktop Environment
  • Aplicações nativas

Tudo desenvolvido especificamente para o sistema.

Principais componentes:

  • Hjert: É o microkernel do sistema.
  • Karm: É a biblioteca base do projeto.
  • KarmUI: Framework gráfico reativo inspirado em tecnologias modernas.
  • Hideo: É o ambiente gráfico (Desktop Environment).

Tecnologias utilizadas:

O projeto faz uso de diversas tecnologias modernas:


Instalação

Atualmente o projeto não possui um instalador tradicional.

A maneira recomendada é compilar o sistema a partir do código-fonte.

No Linux ou macOS instale:

  • Git
  • Clang (18+)
  • LLVM
  • Ninja
  • NASM
  • Python 3.11+
  • QEMU
  • SDL2
  • mtools
  • liburing

O manual oficial traz comandos específicos para Ubuntu e Arch Linux.

Em resumo: clone o projeto

git clone https://codeberg.org/skift/os.git

cd skift
Enter fullscreen mode Exit fullscreen mode

Configure o ambiente:

./skift.sh tools setup
Enter fullscreen mode Exit fullscreen mode

Depois confira se tudo foi instalado corretamente:

./skift.sh tools doctor
Enter fullscreen mode Exit fullscreen mode

Instale dependências:

./skift.sh install
Enter fullscreen mode Exit fullscreen mode

Compile:

Para iniciar o sistema no QEMU:

./skift.sh boot
Enter fullscreen mode Exit fullscreen mode

Também é possível executar apenas o shell gráfico:

./skift.sh run --release hideo-shell
Enter fullscreen mode Exit fullscreen mode

Ou gerar uma imagem de disco:

./skift.sh dist --format=hdd
Enter fullscreen mode Exit fullscreen mode

Utilização

Após iniciar a máquina virtual, o sistema carrega sua interface gráfica própria.

Entre os recursos disponíveis estão:

  • gerenciador de janelas;
  • terminal;
  • editor de texto;
  • visualizador de imagens;
  • aplicações nativas;
  • desktop integrado.

Ainda há diversas limitações, já que o projeto continua em desenvolvimento ativo.


O SkiftOS é um dos projetos de hobby OS mais interessantes da atualidade. Em vez de apenas implementar um kernel funcional, ele busca entregar uma experiência completa, incluindo microkernel, biblioteca padrão, framework gráfico, desktop e aplicações próprias.

Para mais informações acesse o repositório do SkiftOS.

Top comments (0)