Architecture: Il modulo ell (Il Tecnico Specializzato)
Nell'architettura modulare di penguins-eggs, accanto alla Mente (coa in Go) e al Braccio (oa in C), opera il modulo ell (richiamato internamente come coa ell).
Se oa si occupa delle operazioni di basso livello vicine al kernel, ell agisce come il tecnico specializzato: un sotto-sistema scritto in Go incaricato di gestire i processi complessi, strutturati e ad alta intensità di calcolo o manipolazione dati.
1. Ruoli e Compiti di ell
Il modulo ell interviene laddove la gestione tramite semplici comandi di shell risulterebbe fragile o priva di controllo tipizzato:
- Orchestrazione della compressione: Gestione e monitoraggio dei motori di compressione (come SquashFS con differenti algoritmi:
zstd,xz,lz4,gzip). - Generazione delle immagini ISO: Interfacciamento con i tool di masterizzazione e costruzione dei file system ibridi (UEFI/BIOS).
- Gestione dei flussi asincroni: Monitoraggio dello stato di avanzamento delle operazioni pesanti, intercettazione degli errori e restituzione di log strutturati alla Mente.
2. Perché ell nell'ecosistema?
L'introduzione di ell all'interno della codebase in Go risponde a una precisa scelta di pulizia architetturale:
- Tipizzazione forte: Evita la scrittura di script Bash complessi o concatenazioni di pipe soggette a errori imprevisti, garantendo che ogni parametro passato ai tool di compressione e generazione ISO sia validato a livello di codice.
- Tracciabilità e Debug: Consente di isolare i compiti di elaborazione dati, rendendo più semplice tracciare esattamente in quale fase della cova si sia verificata un'anomalia.
- Modularità pulita: Alleggerisce la Mente (
coa) dalle logiche di basso livello e sgrava il Braccio (oa) da compiti che richiedono strutture dati complesse e gestione della memoria tipica di un linguaggio ad alto livello come Go.
Insieme, coa, oa e ell formano il trittico perfetto che governa l'intero ciclo di vita di un sistema rimasterizzato con eggs.