Il backend per la compilazione in eBPF è stato accettato in GCC

Il set di compilatori GCC include è stato adottato il codice per la compilazione di programmi per l'interprete di bytecode integrato nel kernel di Linux eBPF. Grazie all'uso della compilazione JIT, il bytecode nel kernel viene tradotto in istruzioni macchina in tempo reale e viene eseguito con le prestazioni del codice nativo. Le patch per il supporto di eBPF accettati sono state integrate nel ramo su cui si basa la versione di GCC 10.

Oltre al backend per la generazione di bytecode, GCC include un port di libgcc per eBPF e strumenti per generare file ELF, che consentono di eseguire codice nella macchina virtuale eBPF utilizzando i caricamenti forniti dal kernel. Le patch per il supporto di eBPF in GCC sono state preparate dagli ingegneri di Oracle, i quali avevano già fornito supporto per eBPF in GNU binutils. È in fase di sviluppo anche un simulatore e patch per GDB, che consentiranno di eseguire il debug dei programmi eBPF senza doverli caricare nel kernel.

I programmi per eBPF possono essere definiti in un sottoinsieme del linguaggio C, compilati e caricati nel kernel. Prima dell'esecuzione, l'interprete eBPF verifica il bytecode per l'uso delle istruzioni autorizzate e impone determinate regole sul codice (ad esempio, l'assenza di cicli).
Inizialmente per la compilazione di eBPF in Linux veniva utilizzato uno strumento basato su LLVM. Il supporto di eBPF in GCC è interessante perché consente di utilizzare un unico strumento per la compilazione del kernel di Linux e dei programmi eBPF, senza dover installare ulteriori dipendenze.

Sotto forma di programmi, eBPF può essere utilizzato per creare gestori di operazioni di rete, filtrare il traffico, gestire la banda, monitorare le prestazioni dei sistemi, intercettare chiamate di sistema, controllare gli accessi, conteggiare la frequenza e il tempo di esecuzione delle operazioni, eseguire il tracciamento utilizzando kprobes/uprobes/tracepoints.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster