Oracle eBPFን በመጠቀም DTraceን ለሊኑክስ ሊነድፍ ነው።

Oracle ኩባንያ ዘግቧል ከDTrace ጋር የተያያዙ ለውጦችን ወደላይ በማስተላለፍ ላይ ስላለው ስራ እና የDTrace ተለዋዋጭ ማረም ቴክኖሎጂን በመደበኛው የሊኑክስ ከርነል መሠረተ ልማት ላይ ማለትም እንደ eBPF ያሉ ንዑስ ስርዓቶችን በመጠቀም ተግባራዊ ለማድረግ አቅዷል። መጀመሪያ ላይ DTraceን በሊኑክስ የመጠቀም ዋናው ችግር የፈቃድ ደረጃ አለመጣጣም ነበር፣ ነገር ግን በ2018 Oracle ፈቃድ አግኝቷል DTrace ኮድ በ GPLv2 ስር።

DTrace አስቀድሞ ከረጅም ግዜ በፊት ለኦራክል ሊኑክስ ስርጭቱ እንደ የተራዘመው የከርነል አካል ሆኖ ቀርቧል፣ ነገር ግን ለሌሎች ስርጭቶች ጥቅም ላይ የሚውሉ ተጨማሪ የከርነል መጠገኛዎችን ይፈልጋል፣ ይህም የዚህን ቴክኖሎጂ አጠቃቀም ይገድባል። እንደ ምሳሌ, Oracle ተዘጋጅቷል በ Fedora Linux ላይ DTraceን ለመጫን እና ለመጠቀም ዝርዝር መመሪያዎች። ለመጫን ያስፈልጋል ስብሰባ መሳሪያዎች እና እንደገና የተሰራውን የሊኑክስ ከርነል በመጠቀም ጥገናዎች. የከርነል ስብሰባን በ Oracle እና Fedora patches አውቶማቲክ ለማድረግ ሀሳብ ቀርቧል። ስክሪፕት.

eBPF በሊኑክስ ከርነል ውስጥ የተሰራ ባይትኮድ ተርጓሚ ሲሆን የኔትወርክ ኦፕሬሽን ተቆጣጣሪዎችን ለመፍጠር ፣የስርዓት እንቅስቃሴን ለመከታተል ፣የስርዓት ጥሪዎችን ለመጥለፍ ፣የስርዓት መዳረሻን ለመቆጣጠር ፣የሂደቶችን ሂደት ጊዜን በመጠበቅ (perf_event_open) ፣ የተግባር ድግግሞሽን እና ጊዜን ያሰሉ ፣ ፍለጋን ያካሂዳሉ kprobes / uprobes / tracepoints በመጠቀም. ለጂአይቲ ማጠናቀር ምስጋና ይግባውና ባይትኮድ በበረራ ላይ ወደ ማሽን መመሪያዎች ተተርጉሟል እና በአፍ መፍቻ ኮድ አፈፃፀም ይከናወናል። DTrace በ eBPF ላይ ልክ እንደ eBPF አናት ላይ ሊተገበር ይችላል። እየሰሩ ነው ነባር የመከታተያ መሳሪያዎች.

የDTrace ቴክኖሎጂ የሶላሪስ ኦፕሬቲንግ ሲስተም የስርአቱን ከርነል እና አፕሊኬሽኖች ተለዋዋጭ የመከታተያ ችግሮችን ለመፍታት ተዘጋጅቶ ተጠቃሚው የስርዓት ባህሪን በዝርዝር የመከታተል እና ችግሮችን በእውነተኛ ጊዜ የመመርመር ችሎታ እንዲኖረው ተደርጓል። በማረም ወቅት, DTrace በተጠኑ አፕሊኬሽኖች አሠራር ላይ ተጽእኖ አያመጣም እና በምንም መልኩ አፈፃፀማቸውን አይጎዳውም, ይህም በበረራ ላይ የሩጫ ስርዓቶችን ትንተና ለማደራጀት ያስችላል. ከDTrace ጥንካሬዎች ውስጥ፣ ከ AWK ጋር የሚመሳሰል ከፍተኛ የዲ ቋንቋ ተጠቅሷል፣ በዚህ ውስጥ ለ eBPF በ C፣ Python እና Lua ከውጪ ቤተ-መጻሕፍት የቀረቡ ተቆጣጣሪዎችን ለመጻፍ ከመጠቀም ይልቅ የመከታተያ ስክሪፕቶችን ለመጻፍ በጣም ቀላል ነው። .

የOracle መሐንዲሶች ለጂሲሲ የeBPF ድጋፍን በመገንባት ላይ ናቸው እና አስቀድመው አትመዋል ጠጋኝ ስብስብ የኢቢፒኤፍ ድጋፍን ወደ GCC እና ለማጣመር ተሳክቷል በጂኤንዩ ቢቲልስ ውስጥ eBPFን የሚደግፍ ኮድን ጨምሮ። መጀመሪያ ላይ የeBPF ድጋፍ በኤልኤልቪኤም ቴክኖሎጂዎች ላይ የተመሰረተ ነው፣ነገር ግን Oracle በጂሲሲ ውስጥ ለኢቢኤፍኤፍ መደበኛ ፕሮግራሞችን የማመንጨት ችሎታን ይፈልጋል፣ ይህም ለሊኑክስ ከርነል ግንባታ እና ለኢቢኤፍኤፍ ፕሮግራሞችን ለመገንባት ሁለቱንም አንድ የመሳሪያ ኪት ለመጠቀም ያስችላል።

ባይትኮድ ለማመንጨት ከጀርባው በተጨማሪ፣ ለጂሲሲ የታቀዱት ጥገናዎች የlibgcc ወደብ ለ eBPF እና ELF ፋይሎችን ለማመንጨት የሚረዱ መሳሪያዎችን ያካተቱ ሲሆን ይህም ኮድ በ eBPF ቨርቹዋል ማሽን ውስጥ በከርነል የሚቀርቡ ሎደሮችን በመጠቀም ለማስፈጸም ያስችላል። ለአሁን፣ ሲ ኮድ ወደ ባይትኮድ ሊተረጎም ይችላል (ሁሉም የቋንቋ ባህሪያት አይገኙም)፣ ነገር ግን ወደፊት ጥቅም ላይ የሚውሉትን የC ቋንቋ ባህሪያት ማስፋፋት፣ ለሌሎች ቋንቋዎች ድጋፍ መጨመር፣ ሲሙሌተር መፍጠር እና የጂሲሲ ድጋፍ እንደሚጨምር ይጠበቃል። የ eBPF ፕሮግራሞችን ወደ ከርነል ሳይጫኑ ለማረም።

ምንጭ: opennet.ru

አስተያየት ያክሉ