SerenityOS - um OS Unix-like implementado com GUI dos anos 90
(serenityos.org)<p>- 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 <br />
- Começou como um projeto de uma pessoa só e vem crescendo há 3 anos com o apoio da comunidade <br />
- Do kernel ao navegador web/IDE, tudo foi "desenvolvido manualmente do zero, sem bibliotecas externas"<br />
- O próprio sistema é desenvolvido em Serenity C++. <br />
→ uma variação de C++ moderno com sua própria biblioteca padrão<br />
<br />
Repo : https://github.com/SerenityOS/serenity<br />
<br />
- Recursos do kernel <br />
→ kernel x86 (32bit) / x86_64 (64bit) com suporte a multithreading preemptivo <br />
→ pilha IPv4 (ARP, TCP, UDP, ICMP)<br />
→ sistema de arquivos ext2 <br />
→ suporte a sinais POSIX <br />
→ suporte ao sistema de arquivos /proc <br />
<br />
- Serviços do sistema <br />
→ Daemon de inicialização/sessão (SystemServer)<br />
→ Servidor de janelas com composição (WindowServer)<br />
→ Gerenciador de console de texto (TTYServer)<br />
→ Cliente DNS (LookupServer)<br />
→ Servidor de protocolos de rede (RequestServer and WebSocket)<br />
→ Daemon de som com mixagem por software (AudioServer)<br />
→ Notificações da área de trabalho (NotificationServer)<br />
→ Servidor HTTP (WebServer)<br />
→ Servidor Telnet (TelnetServer)<br />
→ Cliente DHCP (DHCPClient)<br />
<br />
- Bibliotecas<br />
→ Templates e contêineres C++ (AK)<br />
→ Loop de eventos e utilitários (LibCore)<br />
→ Biblioteca gráfica 2D (LibGfx)<br />
→ Biblioteca compatível com OpenGL 1.x (LibGL)<br />
→ Toolkit de GUI (LibGUI)<br />
→ Biblioteca de comunicação entre processos (LibIPC)<br />
→ Engine de HTML/CSS (LibWeb)<br />
→ Engine de JavaScript (LibJS)<br />
→ Markdown (LibMarkdown)<br />
→ Áudio (LibAudio)<br />
→ Cadeias de processamento de sinal digital/sintetizador (LibDSP)<br />
→ Banco de dados PCI (LibPCIDB)<br />
→ Emulação de terminal (LibVT)<br />
→ E/S de protocolo de rede fora do processo (LibProtocol)<br />
→ Funções matemáticas (LibM)<br />
→ Manipulação de arquivos ELF (LibELF)<br />
→ Threading POSIX (LibPthread)<br />
→ Threading de nível mais alto (LibThreading)<br />
→ Segurança da Camada de Transporte (LibTLS)<br />
→ HTTP e HTTPS (LibHTTP)<br />
→ IMAP (LibIMAP)<br />
<br />
- Recursos do userland<br />
→ libc e userland estilo Unix<br />
→ Shell com pipes e redirecionamento de I/O<br />
→ Sistema de ajuda online (tanto em variante terminal quanto GUI)<br />
→ Navegador web (Browser)<br />
→ IDE C++ (HackStudio)<br />
→ Sintetizador desktop (Piano)<br />
→ Cliente de e-mail (Mail)<br />
→ Vários aplicativos desktop & jogos<br />
→ Temas de cores</p>
1 comentários