12 puntos por xguru 2021-10-12 | 1 comentarios | Compartir por WhatsApp
  • Un SO con la sensación de combinar la UI de Windows/Mac de finales de los 90 con un núcleo *nix de finales de los 2000

  • Empezó como un proyecto de una sola persona y lleva 3 años creciendo con el apoyo de la comunidad

  • Desde el kernel hasta el navegador web y el IDE, todo fue "desarrollado a mano desde cero, sin librerías externas"

→ una variante de C++ moderno con su propia biblioteca estándar

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

  • Funciones del kernel

→ kernel x86 (32 bits) / x86_64 (64 bits) con soporte para multihilo preventivo

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

→ sistema de archivos ext2

→ soporte para señales POSIX

→ soporte para el sistema de archivos /proc

  • Servicios del sistema

→ daemon de inicio/sesión (SystemServer)

→ servidor de ventanas con composición (WindowServer)

→ administrador de consola de texto (TTYServer)

→ cliente DNS (LookupServer)

→ servidor de protocolos de red (RequestServer y WebSocket)

→ daemon de sonido con mezcla por software (AudioServer)

→ notificaciones de escritorio (NotificationServer)

→ servidor HTTP (WebServer)

→ servidor Telnet (TelnetServer)

→ cliente DHCP (DHCPClient)

  • Bibliotecas

→ plantillas y contenedores de C++ (AK)

→ bucle de eventos y utilidades (LibCore)

→ biblioteca de gráficos 2D (LibGfx)

→ biblioteca compatible con OpenGL 1.x (LibGL)

→ toolkit GUI (LibGUI)

→ biblioteca de comunicación entre procesos (LibIPC)

→ motor HTML/CSS (LibWeb)

→ motor de JavaScript (LibJS)

→ Markdown (LibMarkdown)

→ audio (LibAudio)

→ procesamiento digital de señales/cadenas de sintetizador (LibDSP)

→ base de datos PCI (LibPCIDB)

→ emulación de terminal (LibVT)

→ E/S de protocolos de red fuera de proceso (LibProtocol)

→ funciones matemáticas (LibM)

→ manejo de archivos ELF (LibELF)

→ hilos POSIX (LibPthread)

→ hilos de más alto nivel (LibThreading)

→ seguridad de la capa de transporte (LibTLS)

→ HTTP y HTTPS (LibHTTP)

→ IMAP (LibIMAP)

  • Funciones de userland

→ libc y userland tipo Unix

→ shell con pipes y redirección de E/S

→ sistema de ayuda en línea (tanto en terminal como en variantes GUI)

→ navegador web (Browser)

→ IDE de C++ (HackStudio)

→ sintetizador de escritorio (Piano)

→ cliente de correo electrónico (Mail)

→ varias apps de escritorio y juegos

→ temas de color

1 comentarios

 
xguru 2021-10-12

Creo que es uno de los OS hechos como hobby más singulares que he visto. También impresiona que hayan implementado e incluido todas esas bibliotecas y aplicaciones.

El creador original, Andreas Kling, comenzó este proyecto en 2018 después de terminar un programa de rehabilitación de tres meses por adicción a las drogas, y como de pronto tenía mucho tiempo libre, lo empezó para ocupar el tiempo.

Antes había trabajado como desarrollador de WebKit en Apple y Nokia. Dicen que, por su experiencia trabajando en Apple, apunta a desarrollar todo por su cuenta sin depender de paquetes externos.

Desde mayo de este año, los aportes ya son lo bastante altos como para que ahora esté desarrollando SerenityOS a tiempo completo.

Actualmente tiene 232 patrocinadores en GitHub Sponsors. https://github.com/sponsors/awesomekling

Y en Patreon son 279: https://www.patreon.com/serenityos

Ya superó los 500 contribuidores, y en su canal de YouTube también sube actualizaciones mensuales del OS.

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

A comienzos de 2019 eran videos de 10 minutos, pero últimamente las actualizaciones se han alargado a 30 o 40 minutos.

También es famoso el video en el que portó en una hora Devilution, una reingeniería inversa de Diablo 1, para que corriera en SerenityOS.

https://github.com/diasurgical/devilution

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