GCC اوس eBPF ته د تالیف کولو لپاره یو پس منظر شامل دی

د GCC کمپیلر سویټ کې شامل دي منل شوی د بایټکوډ ژباړونکي لپاره د برنامو تالیف کولو لپاره کوډ د لینکس کرنل کې جوړ شوی eGMP. د JIT تالیف کارولو څخه مننه ، د کرنل بایټ کوډ په الوتنه کې د ماشین لارښوونو ته ژباړل کیږي او د اصلي کوډ فعالیت سره اجرا کیږي. د eBPF ملاتړ سره پیچ منل شوی هغه څانګې ته چې د GCC 10 خوشې کول رامینځته شوي.

د بایټ کوډ نسل لپاره د بیک انډ سربیره ، GCC د eBPF لپاره د libgcc بندر او د ELF فایلونو رامینځته کولو اوزار شامل دي چې د کرنل لخوا چمتو شوي لوډرونو په کارولو سره د eBPF مجازی ماشین کې کوډ اجرا کول امکان لري. په GCC کې د eBPF مالتړ لپاره پیچونه د اوریکل انجینرانو لخوا چمتو شوي چې دمخه یې درلودل چمتو شوی په GNU binutils کې د eBPF ملاتړ. د GDB لپاره یو سمیلیټر او پیچونه هم د پراختیا په حال کې دي، کوم چې تاسو ته اجازه درکوي د eBPF پروګرامونه پرته له دې چې په کرنل کې بار کړي.

د eBPF لپاره پروګرامونه د C ژبې په فرعي سیټ کې تعریف کیدی شي، په کرنل کې تالیف شوي او بار شوي. د اجرا کولو دمخه، د eBPF ژباړونکي د اجازه ورکړل شوي لارښوونو کارولو لپاره بایټ کوډ چیک کوي او په کوډ باندې ځینې مقررات پلي کوي (د مثال په توګه، هیڅ لوپونه).
په پیل کې، په لینکس کې د eBPF تالیف کولو لپاره د LLVM پر بنسټ وسایل کارول شوي. په GCC کې د eBPF ملاتړ په زړه پوري دی ځکه چې دا تاسو ته اجازه درکوي د اضافي انحصارونو نصبولو پرته د لینکس کرنل او eBPF برنامو جوړولو لپاره یو وسیلې کټ وکاروئ.

د eBPF برنامو په بڼه، تاسو کولی شئ د شبکې عملیاتي سمبالونکي جوړ کړئ، ټرافيک فلټر کړئ، بینډ ویت اداره کړئ، د سیسټمونو څارنه وکړئ، د سیسټم زنګونه، د لاسرسي کنټرول، د عملیاتو فریکونسۍ او وخت حساب کړئ، او د kprobes/uprobes/tracepoints په کارولو سره تعقیب ترسره کړئ.

سرچینه: opennet.ru

Add a comment