اوریکل ای بی پی ایف کا استعمال کرتے ہوئے لینکس کے لیے DTrace کو دوبارہ کام کرنے کا ارادہ رکھتا ہے۔

اوریکل کمپنی اطلاع دی DTrace سے متعلقہ تبدیلیوں کو اپ اسٹریم میں منتقل کرنے پر کام کے بارے میں اور معیاری لینکس کرنل انفراسٹرکچر کے اوپر DTrace ڈائنامک ڈیبگنگ ٹیکنالوجی کو لاگو کرنے کا ارادہ رکھتا ہے، یعنی eBPF جیسے سب سسٹم کا استعمال۔ ابتدائی طور پر، لینکس پر DTrace استعمال کرنے کا بنیادی مسئلہ لائسنس کی سطح پر عدم مطابقت تھا، لیکن 2018 میں اوریکل دوبارہ لائسنس یافتہ GPLv2 کے تحت DTrace کوڈ۔

DTrace پہلے ہی طویل وقت اوریکل لینکس کی تقسیم کے لیے ایک توسیعی دانا کے حصے کے طور پر پیش کیا جاتا ہے، لیکن دوسری تقسیم میں اس کے استعمال کے لیے اسے اضافی کرنل پیچ کے استعمال کی ضرورت ہوتی ہے، جو اس ٹیکنالوجی کے استعمال کو محدود کرتا ہے۔ مثال کے طور پر، اوریکل تیار Fedora Linux پر DTrace کو انسٹال کرنے اور استعمال کرنے کے لیے تفصیلی ہدایات۔ تنصیب کے لیے اسمبلی کی ضرورت ہے۔ اوزار اور لینکس کرنل کا استعمال جس سے دوبارہ بنایا گیا ہے۔ پیچ. اوریکل اور فیڈورا پیچ کے ساتھ کرنل بلڈنگ کے عمل کو خودکار کرنے کے لیے، یہ تجویز کیا گیا ہے اسکرپٹ.

eBPF لینکس کرنل میں بنایا گیا ایک بائیک کوڈ انٹرپریٹر ہے جو آپ کو نیٹ ورک آپریشن ہینڈلرز بنانے، سسٹم کے آپریشن کی نگرانی، سسٹم کالز کو کنٹرول کرنے، کنٹرول تک رسائی، ٹائم کیپنگ (perf_event_open) کے ساتھ ایونٹس پر کارروائی کرنے، آپریشنز کی فریکوئنسی اور عمل کے وقت کی گنتی، kprobes کا استعمال کرتے ہوئے ٹریسنگ کرنے کی اجازت دیتا ہے۔ /uprobes/ٹریس پوائنٹس۔ جے آئی ٹی کمپلیشن کے استعمال کی بدولت، بائٹ کوڈ کا ترجمہ مشین کی ہدایات میں کیا جاتا ہے اور مقامی کوڈ کی کارکردگی کے ساتھ عمل میں لایا جاتا ہے۔ DTrace کو eBPF کے اوپر لاگو کیا جا سکتا ہے، جیسا کہ اسے eBPF کے اوپر لاگو کیا جاتا ہے۔ работают موجودہ ٹریسنگ ٹولز۔

DTrace ٹیکنالوجی سولاریس آپریٹنگ سسٹم کے لیے تیار کی گئی تھی تاکہ سسٹم کرنل اور اینڈ ایپلی کیشنز کو متحرک طور پر ٹریس کرنے کے مسئلے کو حل کیا جا سکے، جس سے صارف کو سسٹم کے رویے کی تفصیل سے نگرانی کرنے اور حقیقی وقت میں مسائل کی تشخیص کرنے کی صلاحیت ملتی ہے۔ ڈیبگنگ کے عمل کے دوران، DTrace زیر مطالعہ ایپلی کیشنز کے آپریشن کو متاثر نہیں کرتا ہے اور کسی بھی طرح سے ان کی کارکردگی کو متاثر نہیں کرتا ہے، جو آپ کو فلائی پر چلنے والے سسٹمز کے تجزیہ کو منظم کرنے کی اجازت دیتا ہے۔ DTrace کی ایک خوبی AWK کی طرح کی اعلیٰ سطحی D زبان ہے، جس میں بیرونی لائبریریوں کے ساتھ C، Python اور Lua میں eBPF ہینڈلرز لکھنے کے لیے پیش کردہ ٹولز کا استعمال کرنے کے مقابلے میں ٹریسنگ اسکرپٹ بنانا بہت آسان ہے۔

Oracle کے انجینئرز GCC کے لیے eBPF بیک اینڈ بنانے پر بھی کام کر رہے ہیں اور پہلے ہی شائع کر چکے ہیں۔ پیچ سیٹ ای بی پی ایف سپورٹ کو جی سی سی میں ضم کرنا اور حاصل کیا GNU binutils میں eBPF کو سپورٹ کرنے کے لیے کوڈ سمیت۔ ابتدائی طور پر، ای بی پی ایف سپورٹ کے لیے بیک اینڈ ایل ایل وی ایم ٹیکنالوجیز پر مبنی ہے، لیکن اوریکل جی سی سی میں ای بی پی ایف کے لیے پروگرام تیار کرنے کی معیاری صلاحیت کے ظاہر ہونے میں دلچسپی رکھتا ہے، جو لینکس کرنل بنانے اور پروگراموں کی تعمیر دونوں کے لیے ایک ٹول کٹ کے استعمال کی اجازت دے گا۔ ای بی پی ایف کے لیے۔

بائیک کوڈ جنریشن بیک اینڈ کے علاوہ، GCC کے لیے مجوزہ پیچ میں eBPF کے لیے libgcc پورٹ اور ELF فائلیں بنانے کے لیے ٹولز بھی شامل ہیں، جس سے کرنل کے فراہم کردہ لوڈرز کا استعمال کرتے ہوئے eBPF ورچوئل مشین میں کوڈ پر عمل درآمد ممکن ہو جاتا ہے۔ ابھی کے لیے، C زبان میں کوڈ کا ترجمہ بائیک کوڈ میں کیا جا سکتا ہے (زبان کی تمام خصوصیات دستیاب نہیں ہیں)، لیکن مستقبل میں اس سے استعمال کے لیے دستیاب C زبان کی صلاحیتوں کو وسعت دینے، دوسری زبانوں کے لیے سپورٹ شامل کرنے، ایک سمیلیٹر بنانے، اور کرنل میں لوڈ کیے بغیر ای بی پی ایف پروگراموں کو ڈیبگ کرنے کے لیے جی سی سی سپورٹ شامل کریں۔

ماخذ: opennet.ru

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