SerenityOS - un SO tipo Unix con una GUI de los 90
(serenityos.org)<p>- 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 <br />
- Empezó como un proyecto de una sola persona y lleva 3 años creciendo con el apoyo de la comunidad <br />
- Desde el kernel hasta el navegador web y el IDE, todo fue "desarrollado a mano desde cero, sin librerías externas"<br />
→ una variante de C++ moderno con su propia biblioteca estándar<br />
<br />
Repo: https://github.com/SerenityOS/serenity<br />
<br />
- Funciones del kernel <br />
→ kernel x86 (32 bits) / x86_64 (64 bits) con soporte para multihilo preventivo <br />
→ stack IPv4 (ARP, TCP, UDP, ICMP)<br />
→ sistema de archivos ext2 <br />
→ soporte para señales POSIX <br />
→ soporte para el sistema de archivos /proc <br />
<br />
- Servicios del sistema <br />
→ daemon de inicio/sesión (SystemServer)<br />
→ servidor de ventanas con composición (WindowServer)<br />
→ administrador de consola de texto (TTYServer)<br />
→ cliente DNS (LookupServer)<br />
→ servidor de protocolos de red (RequestServer y WebSocket)<br />
→ daemon de sonido con mezcla por software (AudioServer)<br />
→ notificaciones de escritorio (NotificationServer)<br />
→ servidor HTTP (WebServer)<br />
→ servidor Telnet (TelnetServer)<br />
→ cliente DHCP (DHCPClient)<br />
<br />
- Bibliotecas<br />
→ plantillas y contenedores de C++ (AK)<br />
→ bucle de eventos y utilidades (LibCore)<br />
→ biblioteca de gráficos 2D (LibGfx)<br />
→ biblioteca compatible con OpenGL 1.x (LibGL)<br />
→ toolkit GUI (LibGUI)<br />
→ biblioteca de comunicación entre procesos (LibIPC)<br />
→ motor HTML/CSS (LibWeb)<br />
→ motor de JavaScript (LibJS)<br />
→ Markdown (LibMarkdown)<br />
→ audio (LibAudio)<br />
→ procesamiento digital de señales/cadenas de sintetizador (LibDSP)<br />
→ base de datos PCI (LibPCIDB)<br />
→ emulación de terminal (LibVT)<br />
→ E/S de protocolos de red fuera de proceso (LibProtocol)<br />
→ funciones matemáticas (LibM)<br />
→ manejo de archivos ELF (LibELF)<br />
→ hilos POSIX (LibPthread)<br />
→ hilos de más alto nivel (LibThreading)<br />
→ seguridad de la capa de transporte (LibTLS)<br />
→ HTTP y HTTPS (LibHTTP)<br />
→ IMAP (LibIMAP)<br />
<br />
- Funciones de userland<br />
→ libc y userland tipo Unix<br />
→ shell con pipes y redirección de E/S<br />
→ sistema de ayuda en línea (tanto en terminal como en variantes GUI)<br />
→ navegador web (Browser)<br />
→ IDE de C++ (HackStudio)<br />
→ sintetizador de escritorio (Piano)<br />
→ cliente de correo electrónico (Mail)<br />
→ varias apps de escritorio y juegos<br />
→ temas de color</p>
1 comentarios