GCC เชนเชตเซ‡ eBPF เชฎเชพเช‚ เชธเช‚เช•เชฒเชจ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชกเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เช•เชฐเซ‡ เช›เซ‡

GCC เช•เชฎเซเชชเชพเช‡เชฒเชฐ เชธเซเชฏเซเชŸเชฎเชพเช‚ เชธเชฎเชพเชตเชฟเชทเซเชŸ เช›เซ‡ เชฆเชคเซเชคเช• Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฌเชจเซ‡เชฒ เชฌเชพเชˆเชŸเช•เซ‹เชก เชˆเชจเซเชŸเชฐเชชเซเชฐเซ€เชŸเชฐ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เช•เซ‹เชก eGMP. JIT เช•เชฎเซเชชเชพเช‡เชฒเซ‡เชถเชจเชจเชพ เช‰เชชเชฏเซ‹เช— เชฌเชฆเชฒ เช†เชญเชพเชฐ, เช•เชฐเซเชจเชฒ เชฌเชพเช‡เชŸเช•เซ‹เชกเชจเซ‡ เชฎเชถเซ€เชจ เชธเซ‚เชšเชจเชพเช“เชฎเชพเช‚ เชซเซเชฒเชพเชฏ เชชเชฐ เช…เชจเซเชตเชพเชฆเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฎเซ‚เชณ เช•เซ‹เชกเชจเชพ เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเชพเชฅเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. eBPF เชธเชชเซ‹เชฐเซเชŸ เชธเชพเชฅเซ‡ เชชเซ‡เชšเซ‹ เชธเซเชตเซ€เช•เชพเชฐเซเชฏเซเช‚ เชœเซ‡ เชถเชพเช–เชพเชฎเชพเช‚เชฅเซ€ GCC 10 เชฐเซ€เชฒเซ€เช เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡.

เชฌเชพเช‡เชŸเช•เซ‹เชก เชœเชจเชฐเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชฌเซ‡เช•เชเชจเซเชก เช‰เชชเชฐเชพเช‚เชค, GCCเชฎเชพเช‚ eBPF เชฎเชพเชŸเซ‡ libgcc เชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ ELF เชซเชพเช‡เชฒเซ‹ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เชธเชพเชงเชจเซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡ เช•เชฐเซเชจเชฒ-เชชเซเชฐเซ‹เชตเชพเช‡เชก เชฒเซ‹เชกเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ eBPF เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชฎเชพเช‚ เช•เซ‹เชกเชจเซ‹ เช…เชฎเชฒ เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡. GCC เชฎเชพเช‚ eBPF เชจเซ‡ เชŸเซ‡เช•เซ‹ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‡เชšเซ‹ เช“เชฐเซ‡เช•เชฒเชจเชพ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเซ‹ เชฆเซเชตเชพเชฐเชพ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เชœเซ‡เช“ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชนเชคเชพ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช›เซ‡ GNU binutils เชฎเชพเช‚ eBPF เชธเชชเซ‹เชฐเซเชŸ. GDB เชฎเชพเชŸเซ‡ เชธเชฟเชฎเซเชฏเซเชฒเซ‡เชŸเชฐ เช…เชจเซ‡ เชชเซ‡เชšเซ‹ เชชเชฃ เชตเชฟเช•เชพเชธเชฎเชพเช‚ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซ‡ เชกเซ€เชฌเช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‡.

eBPF เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเช•เซเชฐเชฎเซ‹เชจเซ‡ C เชญเชพเชทเชพเชจเชพ เชธเชฌเชธเซ‡เชŸเชฎเชพเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเซ€เชจเซ‡ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชชเชนเซ‡เชฒเชพเช‚, eBPF เชˆเชจเซเชŸเชฐเชชเซเชฐเซ€เชŸเชฐ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡เชฒ เชธเซ‚เชšเชจเชพเช“เชจเชพ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชฌเชพเชˆเชŸเช•เซ‹เชกเชจเซ‡ เชคเชชเชพเชธเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชก เชชเชฐ เช…เชฎเซเช• เชจเชฟเชฏเชฎเซ‹ เชฒเชพเชฆเซ‡ เช›เซ‡ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซ‹เชˆ เชฒเซ‚เชชเซเชธ เชจเชฅเซ€).
เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, LLVM-เช†เชงเชพเชฐเชฟเชค เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— Linux เชชเชฐ eBPF เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ‹ เชนเชคเซ‹. GCC เชฎเชพเช‚ eBPF เชธเชชเซ‹เชฐเซเชŸ เชฐเชธเชชเซเชฐเชฆ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชคเชฎเชจเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เช…เชตเชฒเช‚เชฌเชจ เชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ, Linux เช•เชฐเซเชจเชฒ เช…เชจเซ‡ eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

eBPF เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเชพ เชฐเซ‚เชชเชฎเชพเช‚, เชคเชฎเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช“เชชเชฐเซ‡เชถเชจ เชนเซ‡เชจเซเชกเชฒเชฐเซเชธ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹, เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เชซเชฟเชฒเซเชŸเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชฌเซ‡เชจเซเชกเชตเชฟเชกเซเชฅเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชธเชฟเชธเซเชŸเชฎ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชˆเชจเซเชŸเชฐเชธเซ‡เชชเซเชŸ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชเช•เซเชธเซ‡เชธเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เช†เชตเชฐเซเชคเชจ เช…เชจเซ‡ เชธเชฎเชฏเชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ kprobes/uprobes/tracepoints เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชŸเซเชฐเซ‡เชธเชฟเช‚เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹