On 27/12/20 16:51, Giacomo Tesio wrote:
Ciao Davide, scusa il ritardo nella risposta.
Grazie Giacomo, gli ottimi spunti sui sistemi operativi distribuiti hanno attivato un po' di sinapsi. Ne scrivo di alcune, tra quelle sopravvissute ai bagordi di questi giorni. [...]> E non è un caso
che i più grandi cloud provider statunitensi siano "top contributor" nello sviluppo di questi sistemi
Neanche la mia domanda lo era. :-) [...]
Tuttavia non sarebbe difficile concepire (e con le risorse adatte, realizzare) sistemi operativi distribuiti alternativi, che semplicemente bypassino il Web ed i browser come sistema di distribuzione dell'elaborazione ed utilizzino protocolli alternativi, progettati per mettere l'utente in condizione di avere il pieno controllo sui dati e sulle elaborazioni che lo riguardano.
Il web non è essenziale. HTTP nemmeno ma è indubbiamente comodo. Capiamoci su cosa ci serve.
9front è un esempio interessante di sistema operativo distribuito
+1 Plan9, da cui ha forkato 9front, è stato una tappa fondamentale per i sistemi distribuiti e il Cloud Computing. Ad esempio il fork NIX ambiva a diventare il sistema operativo della cloud: http://lsub.org/ls/nix.html [...]
Usando cioé il filesystem come astrazione fondamentale per rappresentare elaborazione componibili ed un protocollo semplice per veicolarle attraverso la rete in modo sicuro.
+1 La tendenza è quella, se pensi ai container: filesystem namespace-ati. Già Plan9 aveva introdotto i namespace. I cgroups, che arrivarono qualche anno dopo, aprirono definitivamente la strada ai container come li conosciamo oggi. Nel 2003 migravamo i processi con OpenMosix per recuperare hardware (progetto di Ingegneria Senza Frontiere supportato da BugsLabs). I processi applicativi che ci interessavano, però, non potevano migrare senza il contesto. Ci arenammo. Non c'erano ancora i container (a meno di considerare le jails di FreeBSD o i Vserver di GNU/Linux, loro antenati). Ci buttammo su User Mode Linux prima e Xen poi (2006-2009). Ma le VM, oltre a non essere portabili, quantizzano (e dunque sprecano) risorse. Con i container, invece, trasporti processi complessi dove vuoi ed usi esattamente le risorse necessarie istante per istante, senza tenerne farme un tot a priori. VM e container sono due oggetti totalmente diversi e non alternativi, ma anzi complementari. Si usano insieme. Tanto che oggi esistono i Kata Containers, ossia container runtime su VM leggere. L'elemento del risparmio (uso efficiente delle risorse) è fondativo nel Cloud Computing, anche se oggi non gliene importa più niente a nessuno. Ma in questo luogo speciale, chiamato Nexa, sì. [...]
Immagina ad esempio di poter avviare dal tuo PC un programma in esecuzione sul server di un servizio metereologico, permettendogli di disegnare un'area del tuo schermo (o, a tua scelta, un file png senza che lui possa distinguere i due) stabilendo con precisione quali informazioni sul tuo sistema questo possa utilizzare. Potresti ad esempio fornire una localizzazione satellitare di tua scelta, per ottenere le previsioni in quella zona, senza che lui sappia dove ti trovi realmente o abbia modo di distinguere quelle coordinate, scritte su un file con un editor di testo, da quelle effettivamente fornite dal tuo navigatore.
Molto bello! Privacy by design applicato alla architetture per la computazione. Estramemente stimolante. Thx! [...] Saluti containerizzati, Davide