Linux માટે રસ્ટમાં સપોર્ટ કરવા માટે ઘણા બધા ઉન્નત્તિકરણોનો સમાવેશ થાય છે

છેલ્લા મહિના દરમિયાન Linux વિકાસકર્તાઓ દલીલ કરી રહ્યા છે ની શક્યતા રસ્ટ ભાષાનો ઉપયોગ કરવાની મંજૂરી આપો કર્નલ માટે નવા ઉપકરણ ડ્રાઇવરો લખવા માટે.

ગયા વર્ષે, Linux કર્નલ વિકાસકર્તાઓ તેઓ આ બાબતે સમજૂતી પર પહોંચ્યા હોય તેવું લાગે છે, રસ્ટ સમર્થકોએ કામ ટાંક્યું છે જે દર્શાવે છે કે એન્ડ્રોઇડ અને ઉબુન્ટુમાં લગભગ બે-તૃતીયાંશ કર્નલ નબળાઈઓ અસાઇન કરેલ CVE મેમરી સુરક્ષા સમસ્યાઓથી સંબંધિત છે.

આ નિવેદન બાદ, લિનસ ટોરવાલ્ડ્સ, સોફ્ટવેર એન્જિનિયર, લીડ ક્રિએટર અને Linux કર્નલના ડેવલપર, એક મુલાકાતમાં જણાવ્યું હતું કે આ વિષય પરની ચર્ચાઓ ભાષા પરની લાંબી Google પોસ્ટ કરતાં ઘણી વધુ મહત્વની હશે.

જ્યારે રસ્ટનો ઉપયોગ કરવાના સૂચન વિશે પૂછવામાં આવ્યું ત્યારે તેમણે સૂચવ્યું કે, "અહીંનો ઉકેલ સરળ છે: રસ્ટને બદલે માત્ર C++ નો ઉપયોગ કરો."

એના પછી માર્ચમાં, પ્રથમ સપોર્ટ શરૂ કરવામાં આવ્યો હતોe જે રસ્ટ ડ્રાઇવરોને મુખ્ય કર્નલમાં તેમના અંતિમ સમાવેશ પહેલાં વધુ પરીક્ષણ માટે Linux-Next ટ્રીમાં મૂકવાની મંજૂરી આપે છે.

તેની બરાબર પાછળ લિનક્સ કર્નલ માટે રસ્ટ કોડ પરિપ્રેક્ષ્ય વિશે કર્નલ મેઇલિંગ લિસ્ટ પર ફરીથી જારી કરાયેલ "ટિપ્પણી માટેની વિનંતી" હતી.

મિગુએલ ઓજેડાLinux કર્નલ ડેવલપરે Linux કર્નલ મેઇલિંગ લિસ્ટ પર ટિપ્પણીઓ માટે વિનંતી (RFC) દરખાસ્ત શરૂ કરી.

મેઇલિંગ લિસ્ટ પોસ્ટ કર્નલમાં રસ્ટ કોડ ઉમેરવામાં સામેલ વિકાસકર્તાઓની માન્યતાઓ, સુધારેલ મેમરી સુરક્ષા જેવા લાભો અને વધુને દર્શાવે છે.

“તમારામાંથી કેટલાકે તાજેતરના અઠવાડિયા અને મહિનાઓમાં નોંધ્યું છે કે કર્નલમાં બીજી ભાષા લાવવાનો ગંભીર પ્રયાસ કરવામાં આવી રહ્યો છે. અમે આખરે ત્યાં છીએ, એક RFC સાથે જે Linux કર્નલમાં રસ્ટ સપોર્ટ ઉમેરે છે, ”મિગુએલ ઓજેજાએ કહ્યું. "અમે જાણીએ છીએ કે કર્નલમાં નવી ભાષા દાખલ કરવામાં ભારે ખર્ચ અને જોખમો સામેલ છે," તેમણે ઉમેર્યું.

Linux પ્રોજેક્ટ ટીમ માટે રસ્ટ રસ્ટ બીટા કમ્પાઇલરમાંથી સ્થિર પ્રકાશનોનો ઉપયોગ કરવા માટે ખસેડવામાં આવ્યું છે, દર વખતે નવી આવૃત્તિ રીલીઝ થાય ત્યારે સ્થળાંતર કરવું.

"અમે આ વિકલ્પો પર અમારી સાથે કામ કરવા બદલ રસ્ટનો આભાર માનવા માંગીએ છીએ જેથી કર્નલ તેનો ઉપયોગ કરી શકે," મિગુએલે કહ્યું.

કમ્પાઈલરને અપડેટ કરતી વખતે, ટીમ સૂચિમાંથી કેટલીક અસ્થિર સુવિધાઓ દૂર કરવામાં સક્ષમ હતી: const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic, અને try_reserve.

આ ઉપરાંત, તે પ્રકાશિત કરવામાં આવે છે કેટલાક મોડ્યુલરાઇઝેશન વિકલ્પો ઉમેરવામાં આવ્યા છે કેટલાક બિનજરૂરી કાર્યોને અક્ષમ કરવા માટે ફાળવવા માટે વધુ: no_rc અને no_sync.

અપસ્ટ્રીમ, કર્નલ ઉપયોગ કેસને સારી રીતે સપોર્ટ કરવા માટે, અથવા કર્નલને જરૂરી વિકલ્પોના "મિશ્રણ" માટે વધુ સ્પષ્ટ રીતે, અપસ્ટ્રીમ કોરે no_fp_fmt_parse પણ ઉમેર્યું છે.

બીજી બાજુ, રસ્ટ એ રસ્ટ અને ક્લિપ્પી કમ્પાઇલર માટે વધારાના ડાયગ્નોસ્ટિક્સની શ્રેણીને સક્ષમ કરી છે. C થી એક તફાવત એ છે કે રસ્ટ ડાયગ્નોસ્ટિક્સ કોડમાં નિષ્ક્રિય કરવા માટે થોડી સરળ છે, જે સામાન્ય કિસ્સામાં સખત હોય છે.

પણ એબ્સ્ટ્રેક્શન્સ અને ડ્રાઈવર અપડેટ્સ લાગુ કરવામાં આવ્યા છે. ટીમે સ્ટ્રીમ લૉક્સ, પાવર મેનેજમેન્ટ કૉલબૅક્સ, io મેમરી (readX/writerX), irq ચિપ્સ અને ઉચ્ચ-સ્તરના સ્ટ્રીમ મેનેજર્સ, gpio ચિપ્સ (irq ચિપ્સ સહિત), પેરિફેરલ્સ, એમ્બા પેરિફેરલ્સ અને ડ્રાઇવરો માટે એબ્સ્ટ્રેક્શન ઉમેર્યા છે.

નું સમર્થન નિયંત્રકને બસ સ્વતંત્ર ઈન્ફ્રાસ્ટ્રક્ચર સાથે ઉન્નત કરવામાં આવે છે, રિવૉકેબલ ઑબ્જેક્ટ્સ, રિવૉકેબલ મ્યુટેક્સ, કાર્યક્ષમ બીટ ઇટરેટર્સ, બહેતર ગભરાટ ડાયગ્નોસ્ટિક્સ અને સરળ પોઇન્ટર રેપર્સ. વધુમાં, તેણે રેફ ઓબ્જેક્ટ્સને સુધાર્યા અને સરળ બનાવ્યા (refcount_t સાથે સુસંગત) અને તમામ રસ્ટ ઉદાહરણોને બદલ્યા.

અને gpio PL061 ઉપકરણો માટે એક નવો ડ્રાઇવર અમલમાં મૂકવામાં આવ્યો છે અને RFC પેચ તરીકે મોકલવામાં આવ્યો છે.

અંતે તે નોંધવું જોઇએ રસ્ટ સપોર્ટ હજુ પણ પ્રાયોગિક માનવામાં આવે છે. જો કે, આધાર એટલો સારો છે કે કર્નલ વિકાસકર્તાઓ કામ કરી રહ્યા છે સબસિસ્ટમ્સ અને નિયંત્રકો અને અન્ય મોડ્યુલો લખવા માટે રસ્ટ એબ્સ્ટ્રેક્શન્સમાં. વર્તમાન શ્રેણી હમણાં જ Linux-નેક્સ્ટ પર આવી છે, તેથી પ્રથમ રન આ અઠવાડિયે થશે.

સ્રોત: https://lkml.org/lkml


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.