Oracle eBPF เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฒเฉ€เจจเจ•เจธ เจฒเจˆ DTrace เจจเฉ‚เฉฐ เจฎเฉเฉœ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เจฐเจจ เจฆเจพ เจ‡เจฐเจพเจฆเจพ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ

เจ“เจฐเฉ‡เจ•เจฒ เจ•เฉฐเจชเจจเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸ เจ•เฉ€เจคเจพ DTrace-เจธเจฌเฉฐเจงเจค เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจธเจŸเจฐเฉ€เจฎ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจ•เจฐเจจ เจฆเฉ‡ เจ•เฉฐเจฎ เจฌเจพเจฐเฉ‡ เจ…เจคเฉ‡ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ DTrace เจกเจพเจ‡เจจเจพเจฎเจฟเจ• เจกเฉ€เจฌเจ—เจฟเฉฐเจ— เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจนเฉˆ, เจ…เจฐเจฅเจพเจค eBPF เจตเจฐเจ—เฉ‡ เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพเฅค เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš, เจฒเฉ€เจจเจ•เจธ เจ‰เฉฑเจคเฉ‡ DTrace เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจธเจฎเฉฑเจธเจฟเจ† เจฒเจพเจ‡เจธเฉˆเจ‚เจธ-เจชเฉฑเจงเจฐ เจฆเฉ€ เจ…เจธเฉฐเจ—เจคเจคเจพ เจธเฉ€, เจชเจฐ 2018 เจตเจฟเฉฑเจš เจ“เจฐเฉ‡เจ•เจฒ เจฎเฉเฉœ เจฒเจพเจ‡เจธเฉฐเจธเจธเจผเฉเจฆเจพ GPLv2 เจฆเฉ‡ เจคเจนเจฟเจค DTrace เจ•เฉ‹เจกเฅค

DTrace เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฒเฉฐเจฌเจพ เจธเจฎเจพ เจ“เจฐเฉ‡เจ•เจฒ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจ•เจฐเจจเจฒ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจนเฉ‹เจฐ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฒเจˆ เจตเจพเจงเฉ‚ เจ•เจฐเจจเจฒ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ‡เจธ เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจธเฉ€เจฎเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡, เจ“เจฐเฉ‡เจ•เจฒ เจคเจฟเจ†เจฐ เจซเฉ‡เจกเฉ‹เจฐเจพ เจฒเฉ€เจจเจ•เจธ เจ‰เฉฑเจคเฉ‡ DTrace เจจเฉ‚เฉฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจ…เจคเฉ‡ เจตเจฐเจคเจฃ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจนเจฆเจพเจ‡เจคเจพเจ‚เฅค เจธเจฅเจพเจชเจจเจพ เจฒเจˆ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจธเฉฐเจฆ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ เจชเฉˆเจš. เจ“เจฐเฉ‡เจ•เจฒ เจ…เจคเฉ‡ เจซเฉ‡เจกเฉ‹เจฐเจพ เจชเฉˆเจšเจพเจ‚ เจจเจพเจฒ เจ•เจฐเจจเจฒ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐเจจ เจฒเจˆ, เจ‡เจน เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจนเฉˆ เจธเจ•เฉเจฐเจฟเจชเจŸ.

eBPF เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจ‡เฉฑเจ• เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจฆเฉเจญเจพเจธเจผเฉ€เจ เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ“เจชเจฐเฉ‡เจธเจผเจจ เจนเฉˆเจ‚เจกเจฒเจฐ เจฌเจฃเจพเจ‰เจฃ, เจธเจฟเจธเจŸเจฎ เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ, เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ, เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจเจ•เจธเฉˆเจธ, เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจธเฉฐเจญเจพเจฒ (perf_event_open) เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ‡เจตเฉˆเจ‚เจŸเจพเจ‚, เจธเฉฐเจšเจพเจฒเจจ เจฆเฉ€ เจฌเจพเจฐเฉฐเจฌเจพเจฐเจคเจพ เจ…เจคเฉ‡ เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจจ, เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค kprobes/uprobes/tracepoints เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจเฅค JIT เจธเฉฐเจ•เจฒเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ, เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจจเฉ‚เฉฐ เจซเจฒเจพเจˆ 'เจคเฉ‡ เจฎเจธเจผเฉ€เจจ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจจเฉ‡เจŸเจฟเจต เจ•เฉ‹เจก เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจจเจพเจฒ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค DTrace เจจเฉ‚เฉฐ eBPF เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน eBPF เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจนเฉˆ ั€ะฐะฑะพั‚ะฐัŽั‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจŸเฉ‚เจฒเฅค

เจธเจฟเจธเจŸเจฎ เจ•เจฐเจจเจฒ เจ…เจคเฉ‡ เจ…เฉฐเจคเจฎ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจธเฉ‹เจฒเจพเจฐเจฟเจธ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฒเจˆ DTrace เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจœเจฟเจธ เจจเจพเจฒ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจธเจฟเจธเจŸเจฎ เจตเจฟเจตเจนเจพเจฐ เจฆเฉ€ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ…เจธเจฒ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจจเจฟเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆเฅค เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ, DTrace เจ…เจงเจฟเจเจจ เจ•เฉ€เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจชเฉเจฐเจญเจพเจตเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจซเจฒเจพเจˆ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค DTrace เจฆเฉ€เจ†เจ‚ เจ–เฉ‚เจฌเฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚, AWK เจตเจฐเจ—เฉ€ เจ‡เฉฑเจ• เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ เจกเฉ€ เจญเจพเจธเจผเจพ เจจเฉ‹เจŸ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจฌเจพเจนเจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ C, Python เจ…เจคเฉ‡ Lua เจตเจฟเฉฑเจš eBPF เจฒเจˆ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเฉˆเจ‚เจกเจฒเจฐ เจฒเจฟเจ–เจฃ เจฒเจˆ เจŸเฉ‚เจฒเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจจเจพเจฒเฉ‹เจ‚ เจŸเจฐเฉ‡เจธ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃเจพ เจฌเจนเฉเจค เจธเฉŒเจ–เจพ เจนเฉˆเฅค .

เจ“เจฐเฉ‡เจ•เจฒ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ GCC เจฒเจˆ เจ‡เฉฑเจ• eBPF เจฌเฉˆเจ•เจเจ‚เจก เจฌเจฃเจพเจ‰เจฃ 'เจคเฉ‡ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเจจ เจชเฉˆเจš เจธเฉˆเฉฑเจŸ GCC เจตเจฟเฉฑเจš eBPF เจธเจนเจพเจ‡เจคเจพ เจจเฉ‚เฉฐ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ…เจคเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ GNU binutils เจตเจฟเฉฑเจš eBPF เจจเฉ‚เฉฐ เจธเจฎเจฐเจฅเจจ เจฆเฉ‡เจฃ เจฒเจˆ เจ•เฉ‹เจก เจธเจฎเฉ‡เจคเฅค เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš, eBPF เจธเจนเจพเจ‡เจคเจพ เจฒเจˆ เจฌเฉˆเจ•เจเจ‚เจก LLVM เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ, เจชเจฐ Oracle eBPF เจฒเจˆ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ€ เจจเจฟเจฏเจฎเจค เจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ GCC เจตเจฟเฉฑเจš เจฆเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ eBPF เจฒเจˆ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจŸเฉ‚เจฒเจ•เจฟเฉฑเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฌเฉˆเจ•เจเจ‚เจก เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, GCC เจฒเจˆ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจชเฉˆเจšเจพเจ‚ เจตเจฟเฉฑเจš eBPF เจฒเจˆ libgcc เจฆเจพ เจ‡เฉฑเจ• เจชเฉ‹เจฐเจŸ เจ…เจคเฉ‡ ELF เจซเจพเจˆเจฒเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจŸเฉ‚เจฒ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเจจ, เจœเจฟเจธ เจจเจพเจฒ เจ•เจฐเจจเจฒ-เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจฒเฉ‹เจกเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ eBPF เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจซเจฟเจฒเจนเจพเจฒ, C เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฌเจพเจˆเจŸเจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจธเจพเจฐเฉ€เจ†เจ‚ เจญเจพเจธเจผเจพ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚ เจนเจจ), เจชเจฐ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ‰เจชเจฒเจฌเจง C เจญเจพเจธเจผเจพ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเจจ, เจนเฉ‹เจฐ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจœเฉ‹เฉœเจจ, เจ‡เฉฑเจ• เจธเจฟเจฎเฉ‚เจฒเฉ‡เจŸเจฐ เจฌเจฃเจพเจ‰เจฃ, เจ…เจคเฉ‡ GCC เจธเจนเจพเจ‡เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ‰เจฎเฉ€เจฆ เจนเฉˆเฅค eBPF เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจ เจฒเจˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹