Nuovo IPC a livello kernel: BUS1

processes_with_d-busNella mailing list del kernel linux ieri è comparso un messaggio di presentazione di un nuovo modulo del kernel: bus1.ko.

This proposal introduces bus1.ko, a kernel messaging bus. This is not a request for inclusion, yet. It is rather an initial draft and a Request For Comments.

Questa proposta introduce bus1.ko, un bus messaging del kernel. Questa non è una richiesta per l’inclusione, non ancora. È piuttosto una bozza iniziale ed una Richiesta Per Commenti (N.d.T. RFC).

Diventa necessaria una digressione per i meno tecnici: cos’è un “bus messaging” (o più propriamente un IPC, Inter-Process Communication)?
Semplificando le cose, è un sistema con cui processi diversi possono comunicare (inviarsi informazioni, messaggi) in modo che un processo possa usare (o anche solo essere informato) degli oggetti creati dall’altro processo. Un esempio pratico può essere NetworkManager, di cui spesso vediamo – e usiamo – il processo grafico (nm-applet, per esempio), ma il cui “centro operazioni” è un demone separato: i due comunicano attraverso un IPC (DBus) l’hardware presente o lo stato delle connessioni; un IPC è una standardizzazione dei messaggi, in modo che -per esempio- il demone dialoghi con altri processi (come dhcpcd per l’indirizzo IP, wpa_supplicant per la connessione wifi, openvpn per la VPN, ecc…) con lo stesso sistema senza dover modificare ogni processo per comunicare con gli altri.

In Linux l’IPC standard è DBus (e la sua reimplementazione come modulo del kernel kdbus), che però è stato criticato per complessità e rigidità. Esistono altri modelli, e dalla fine dell’anno scorso esiste un progetto che prende ispirazione dal modello usato in Android per superare le attuali limitazioni, chiamato BUS1; con l’annuncio di ieri il progetto si pone come sufficientemente maturo da poter essere sviluppato fino a valido successore, o almeno come alternativa.

Staremo a vedere se il nuovo sistema avrà maggior fortuna di quello attuale, ma per il momento siamo sicuri che si stia già creando una community in grado di portare avanti il progetto.

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: , ,