12 pontos por xguru 2021-10-12 | 1 comentários | Compartilhar no WhatsApp
  • Um sistema operacional com a sensação de misturar a UI do Windows/Mac do fim dos anos 1990 com um núcleo *nix do fim dos anos 2000

  • Começou como um projeto de uma pessoa só e vem crescendo há 3 anos com o apoio da comunidade

  • Do kernel ao navegador web/IDE, tudo foi "desenvolvido manualmente do zero, sem bibliotecas externas"

  • O próprio sistema é desenvolvido em Serenity C++.

→ uma variação de C++ moderno com sua própria biblioteca padrão

Repo : https://github.com/SerenityOS/serenity

  • Recursos do kernel

→ kernel x86 (32bit) / x86_64 (64bit) com suporte a multithreading preemptivo

→ pilha IPv4 (ARP, TCP, UDP, ICMP)

→ sistema de arquivos ext2

→ suporte a sinais POSIX

→ suporte ao sistema de arquivos /proc

  • Serviços do sistema

→ Daemon de inicialização/sessão (SystemServer)

→ Servidor de janelas com composição (WindowServer)

→ Gerenciador de console de texto (TTYServer)

→ Cliente DNS (LookupServer)

→ Servidor de protocolos de rede (RequestServer and WebSocket)

→ Daemon de som com mixagem por software (AudioServer)

→ Notificações da área de trabalho (NotificationServer)

→ Servidor HTTP (WebServer)

→ Servidor Telnet (TelnetServer)

→ Cliente DHCP (DHCPClient)

  • Bibliotecas

→ Templates e contêineres C++ (AK)

→ Loop de eventos e utilitários (LibCore)

→ Biblioteca gráfica 2D (LibGfx)

→ Biblioteca compatível com OpenGL 1.x (LibGL)

→ Toolkit de GUI (LibGUI)

→ Biblioteca de comunicação entre processos (LibIPC)

→ Engine de HTML/CSS (LibWeb)

→ Engine de JavaScript (LibJS)

→ Markdown (LibMarkdown)

→ Áudio (LibAudio)

→ Cadeias de processamento de sinal digital/sintetizador (LibDSP)

→ Banco de dados PCI (LibPCIDB)

→ Emulação de terminal (LibVT)

→ E/S de protocolo de rede fora do processo (LibProtocol)

→ Funções matemáticas (LibM)

→ Manipulação de arquivos ELF (LibELF)

→ Threading POSIX (LibPthread)

→ Threading de nível mais alto (LibThreading)

→ Segurança da Camada de Transporte (LibTLS)

→ HTTP e HTTPS (LibHTTP)

→ IMAP (LibIMAP)

  • Recursos do userland

→ libc e userland estilo Unix

→ Shell com pipes e redirecionamento de I/O

→ Sistema de ajuda online (tanto em variante terminal quanto GUI)

→ Navegador web (Browser)

→ IDE C++ (HackStudio)

→ Sintetizador desktop (Piano)

→ Cliente de e-mail (Mail)

→ Vários aplicativos desktop & jogos

→ Temas de cores

1 comentários

 
xguru 2021-10-12

Acho que, entre os sistemas operacionais feitos por hobby, este parece um dos mais únicos. Também é impressionante terem implementado e incluído tantas bibliotecas e aplicativos.

O projeto foi iniciado pelo criador original, Andreas Kling, em 2018, depois de concluir um programa de reabilitação de três meses por dependência química e passar a ter mais tempo livre para ocupar.

Antes disso, ele era um desenvolvedor que trabalhou com WebKit na Apple e na Nokia. Dizem que, por causa da experiência que teve na Apple, ele prefere desenvolver tudo por conta própria, sem depender de pacotes externos.

Desde maio deste ano, as doações passaram a ser suficientes, então ele agora está desenvolvendo o SerenityOS em tempo integral.

Atualmente, 232 pessoas apoiam o projeto pelo GitHub Sponsors. https://github.com/sponsors/awesomekling

No Patreon, são 279 pessoas. https://www.patreon.com/serenityos

O projeto já passou de 500 contribuidores, e no canal do YouTube ele publica atualizações mensais do sistema operacional.

https://youtube.com/playlist/?list=PLMOpZvQB55bfp6ykOLayLqLrjcpv_Sw3P

No começo de 2019, esses vídeos tinham cerca de 10 minutos, mas hoje em dia as atualizações passaram a ter entre 30 e 40 minutos.

Também ficou famoso o vídeo em que ele portou em apenas uma hora o Devilution, uma reengenharia reversa de Diablo 1, para rodar no SerenityOS.

https://github.com/diasurgical/devilution

https://www.youtube.com/watch?v=ZOzZ8R4gphE