Tafiditra ao amin'ny suite compiler GCC kaody ho an'ny fanangonana programa ho an'ny kernel Linux mpandika teny bytecode . Noho ny fampiasana ny JIT compilation, ny kernel bytecode dia adika amin'ny lalitra ho toromarika milina ary tanterahina miaraka amin'ny fanatanterahana ny kaody teratany. Patch miaraka amin'ny fanohanana eBPF mankany amin'ny sampana izay namolavolana ny famoahana GCC 10.
Ho fanampin'ny backend ho an'ny famoronana bytecode, ny GCC dia misy seranan-tsambo libgcc ho an'ny eBPF sy fitaovana amin'ny famokarana rakitra ELF izay ahafahana manatanteraka ny kaody ao amin'ny milina virtoaly eBPF amin'ny alàlan'ny loader omen'ny kernel. Ny patch hanohanana ny eBPF ao amin'ny GCC dia nomanin'ny injeniera avy amin'ny Oracle, izay efa nanao izany Fanohanana eBPF amin'ny GNU binutils. Eo am-pamolavolana ihany koa ny simulator sy ny patch ho an'ny GDB, izay ahafahanao manala ny programa eBPF nefa tsy mampiditra azy ireo ao anaty kernel.
Ny programa ho an'ny eBPF dia azo faritana amin'ny ampahany amin'ny fiteny C, natambatra ary nampidirina tao anaty kernel. Alohan'ny famonoana, ny mpandika teny eBPF dia manamarina ny bytecode amin'ny fampiasana ny toromarika navela ary mametraka fitsipika sasantsasany amin'ny fehezan-dalàna (ohatra, tsy misy tadivavarana).
Voalohany, ny fanangonana ny eBPF ao amin'ny Linux Nampiasaina ny toolchain mifototra amin'ny LLVM. Mahaliana ny fanohanan'ny GCC ny eBPF satria mamela ny fampiasana toolchain tokana ho an'ny fanangonana kernel. Linux ary programa eBPF, tsy mila mametraka fiankinan-doha fanampiny.
Amin'ny endrika programa eBPF, azonao atao ny mamorona mpandrindra ny fiasan'ny tambajotra, sivana ny fifamoivoizana, mitantana bandwidth, manara-maso ny rafitra, manakana ny antson'ny rafitra, mifehy ny fidirana, manisa ny matetika sy ny fotoana fiasana, ary manao trace amin'ny fampiasana kprobes/uprobes/tracepoints.
Source: opennet.ru
