GCC میں اب eBPF میں تالیف کے لیے بیک اینڈ شامل ہے۔

GCC کمپائلر سویٹ میں شامل ہے۔ قبول کر لیا لینکس کرنل میں بنائے گئے بائی کوڈ انٹرپریٹر کے لیے پروگراموں کو مرتب کرنے کا کوڈ ای بی پی ایف. جے آئی ٹی تالیف کے استعمال کی بدولت، کرنل بائیک کوڈ کا ترجمہ مشین کی ہدایات میں کیا جاتا ہے اور مقامی کوڈ کی کارکردگی کے ساتھ عمل میں لایا جاتا ہے۔ ای بی پی ایف سپورٹ کے ساتھ پیچ قبول کر لیا اس برانچ میں جہاں سے GCC 10 ریلیز تیار کیا گیا ہے۔

بائیک کوڈ جنریشن کے لیے بیک اینڈ کے علاوہ، جی سی سی میں ای بی پی ایف کے لیے ایک libgcc پورٹ اور ELF فائلیں بنانے کے لیے ٹولز شامل ہیں جو کرنل سے فراہم کردہ لوڈرز کا استعمال کرتے ہوئے eBPF ورچوئل مشین میں کوڈ پر عمل درآمد ممکن بناتے ہیں۔ جی سی سی میں ای بی پی ایف کو سپورٹ کرنے کے لیے پیچ اوریکل کے انجینئرز نے تیار کیے تھے، جو پہلے ہی موجود تھے۔ فراہم کی GNU binutils میں eBPF سپورٹ۔ GDB کے لیے ایک سمیلیٹر اور پیچ بھی تیار ہو رہے ہیں، جو آپ کو eBPF پروگراموں کو کرنل میں لوڈ کیے بغیر ڈیبگ کرنے کی اجازت دے گا۔

eBPF کے پروگراموں کی تعریف C زبان کے ذیلی سیٹ میں کی جا سکتی ہے، مرتب اور کرنل میں لوڈ کی جاتی ہے۔ عملدرآمد سے پہلے، eBPF مترجم اجازت یافتہ ہدایات کے استعمال کے لیے بائیک کوڈ کو چیک کرتا ہے اور کوڈ پر کچھ اصول نافذ کرتا ہے (مثال کے طور پر، کوئی لوپ نہیں)۔
ابتدائی طور پر، LLVM پر مبنی ٹولز کا استعمال لینکس پر eBPF کو مرتب کرنے کے لیے کیا جاتا تھا۔ جی سی سی میں ای بی پی ایف سپورٹ دلچسپ ہے کیونکہ یہ آپ کو اضافی انحصار انسٹال کیے بغیر لینکس کرنل اور ای بی پی ایف پروگرام بنانے کے لیے ایک ٹول کٹ استعمال کرنے کی اجازت دیتا ہے۔

ای بی پی ایف پروگراموں کی شکل میں، آپ نیٹ ورک آپریشن ہینڈلرز بنا سکتے ہیں، ٹریفک کو فلٹر کر سکتے ہیں، بینڈوتھ کا انتظام کر سکتے ہیں، سسٹم کی نگرانی کر سکتے ہیں، سسٹم کالز کو کنٹرول کر سکتے ہیں، رسائی کو کنٹرول کر سکتے ہیں، آپریشنز کی فریکوئنسی اور وقت گن سکتے ہیں، اور kprobes/uprobes/tracepoints کے ذریعے ٹریسنگ کر سکتے ہیں۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں