Deutsch • English • Español • Français • Italiano • Polska • Portuguese • Български • Русский • Українська • やまと • 中国 • فارsi
Architecture Overview: La separazione tra Mente e Braccio
L'architettura moderna di penguins-eggs adotta rigorosamente la filosofia Unix, suddividendo le responsabilità in compartimenti stagni. Il flusso di lavoro si sposta dalla generazione procedurale di script a una vera e propria delega di esecuzione basata sul modello Master-Worker.
L'intero ecosistema si regge su tre ruoli logici, implementati fisicamente in due soli eseguibili principali (coa e oa):
1. I Tre Ruoli Logici
- La Mente (
coain Go): L'orchestratore intelligente. Legge i profili e le configurazioni, analizza il sistema ospite, compila il piano di volo formale (oa-plan.json) e coordina l'intero processo di remastering senza compiere direttamente alterazioni brutali sul sistema. - Il Braccio (
oain C): Il capocantiere vicino al metallo. Riceve il piano dalla Mente ed esegue fisicamente le system calls, gestisce i mount point, i file system OverlayFS e le operazioni a basso livello con la massima stabilità e zero dipendenze esterne. - Il Tecnico Specializzato (
ell, integrato comecoa ell): Il worker in Go che affianca il Braccio, incaricato di gestire task complessi e strutturati (come la compressione SquashFS o la generazione della struttura ISO) garantendo sicurezza di tipizzazione e tracciabilità rigorosa degli errori.
2. Il Flusso di Esecuzione (Master-Worker)
Il rapporto tra la Mente (coa) e il Braccio (oa) segue una precisa coreografia di sicurezza ed efficienza:
- Fase di Pianificazione: L'utente invoca
sudo eggs remaster. Il codice in Go (coa) analizza la distribuzione, legge la struttura dei pacchetti e definisce le tappe della cova. - Delegazione ed Esecuzione: Quando occorre interagire direttamente con il kernel o manipolare i file system di basso livello, il controllo passa a
oa(C), il quale esegue le operazioni in un ambiente sicuro e isolato. - Feedback e Chiusura: I sotto-processi specializzati (
coa ell) restituiscono l'esito delle lavorazioni pesanti (compressione e assemblaggio finale dell'immagine ibrida), completando il ciclo che trasforma l'habitat in un uovo portatile.
Questa rigida separazione dei poteri garantisce che la logica di controllo rimanga pulita, manutenibile e indipendente dalle specificità del kernel sottostante.