రస్ట్ లాంగ్వేజ్‌కు మద్దతుతో Linux కెర్నల్ కోసం ప్యాచ్‌ల యొక్క కొత్త వెర్షన్

Miguel Ojeda, Rust-for-Linux ప్రాజెక్ట్ రచయిత, Linux కెర్నల్ డెవలపర్‌ల పరిశీలన కోసం రస్ట్ భాషలో పరికర డ్రైవర్‌లను అభివృద్ధి చేయడానికి v5 భాగాల విడుదలను ప్రతిపాదించారు. ఇది పాచెస్ యొక్క ఆరవ ఎడిషన్, వెర్షన్ నంబర్ లేకుండా ప్రచురించబడిన మొదటి సంస్కరణను పరిగణనలోకి తీసుకుంటుంది. రస్ట్ మద్దతు ప్రయోగాత్మకంగా పరిగణించబడుతుంది, అయితే ఇది ఇప్పటికే linux-తదుపరి బ్రాంచ్‌లో చేర్చబడింది మరియు కెర్నల్ సబ్‌సిస్టమ్‌లపై అబ్‌స్ట్రాక్షన్ లేయర్‌లను సృష్టించే పనిని ప్రారంభించడానికి, అలాగే డ్రైవర్లు మరియు మాడ్యూల్‌లను వ్రాయడానికి తగినంతగా అభివృద్ధి చేయబడింది. ఈ అభివృద్ధికి Google మరియు ISRG (ఇంటర్నెట్ సెక్యూరిటీ రీసెర్చ్ గ్రూప్) నిధులు సమకూరుస్తుంది, ఇది లెట్స్ ఎన్‌క్రిప్ట్ ప్రాజెక్ట్ స్థాపకుడు మరియు ఇంటర్నెట్ భద్రతను మెరుగుపరచడానికి HTTPS మరియు సాంకేతికతల అభివృద్ధిని ప్రోత్సహిస్తుంది.

ప్రతిపాదిత మార్పులు డ్రైవర్లు మరియు కెర్నల్ మాడ్యూల్‌లను అభివృద్ధి చేయడానికి రస్ట్‌ని రెండవ భాషగా ఉపయోగించడం సాధ్యమవుతుందని గుర్తుంచుకోండి. రస్ట్ మద్దతు డిఫాల్ట్‌గా ప్రారంభించబడని ఒక ఎంపికగా అందించబడుతుంది మరియు కెర్నల్‌కు అవసరమైన బిల్డ్ డిపెండెన్సీగా రస్ట్ చేర్చబడదు. డ్రైవర్ డెవలప్‌మెంట్ కోసం రస్ట్‌ని ఉపయోగించడం వలన మీరు తక్కువ ప్రయత్నంతో సురక్షితమైన మరియు మెరుగైన డ్రైవర్‌లను సృష్టించవచ్చు, ఫ్రీ అయిన తర్వాత మెమరీ యాక్సెస్, శూన్య పాయింటర్ డిరిఫరెన్స్‌లు మరియు బఫర్ ఓవర్‌రన్‌లు వంటి సమస్యల నుండి విముక్తి పొందండి.

రిఫరెన్స్ చెకింగ్, ఆబ్జెక్ట్ యాజమాన్యం మరియు ఆబ్జెక్ట్ లైఫ్‌టైమ్ (స్కోప్)ను ట్రాక్ చేయడం, అలాగే కోడ్ అమలు సమయంలో మెమరీ యాక్సెస్ యొక్క ఖచ్చితత్వాన్ని మూల్యాంకనం చేయడం ద్వారా కంపైల్ సమయంలో మెమరీ-సేఫ్ హ్యాండ్లింగ్ రస్ట్‌లో అందించబడుతుంది. రస్ట్ పూర్ణాంకాల ఓవర్‌ఫ్లోల నుండి రక్షణను కూడా అందిస్తుంది, ఉపయోగించే ముందు వేరియబుల్ విలువలను తప్పనిసరిగా ప్రారంభించడం అవసరం, ప్రామాణిక లైబ్రరీలో లోపాలను మెరుగ్గా నిర్వహిస్తుంది, డిఫాల్ట్‌గా మార్పులేని సూచనలు మరియు వేరియబుల్స్ భావనను వర్తింపజేస్తుంది, లాజికల్ లోపాలను తగ్గించడానికి బలమైన స్టాటిక్ టైపింగ్‌ను అందిస్తుంది.

పాచెస్ యొక్క మొదటి, రెండవ, మూడవ, నాల్గవ మరియు ఐదవ సంచికల చర్చ సమయంలో చేసిన వ్యాఖ్యలను తొలగించడానికి పాచెస్ యొక్క కొత్త వెర్షన్ కొనసాగుతుంది. కొత్త వెర్షన్‌లో:

  • రస్ట్ 1.59.0ని విడుదల చేయడానికి టూల్‌కిట్ నవీకరించబడింది. అలోక్ లైబ్రరీ యొక్క వేరియంట్ కూడా రస్ట్ యొక్క కొత్త వెర్షన్‌తో సమకాలీకరించబడింది, మెమరీలో లేనటువంటి లోపాలు సంభవించినప్పుడు "పానిక్" స్థితి యొక్క సంభావ్య తరంను తొలగిస్తుంది. అసెంబ్లర్ ఇన్సర్ట్‌లను ఉపయోగించగల సామర్థ్యం (“ఫీచర్(గ్లోబల్_అస్మ్)”) స్థిరీకరించబడింది.
  • కెర్నల్ కంపైలేషన్ సమయంలో ఉపయోగించే రస్ట్‌లో హోస్ట్ ప్రోగ్రామ్‌లను రూపొందించడానికి మద్దతు జోడించబడింది.
  • ముందుగా రూపొందించిన టార్గెట్ ప్లాట్‌ఫారమ్ స్పెసిఫికేషన్ ఫైల్‌లను బట్వాడా చేయడానికి బదులుగా, అవి కెర్నల్ కాన్ఫిగరేషన్ ఆధారంగా డైనమిక్‌గా ఉత్పత్తి చేయబడతాయి.
  • రస్ట్‌కు మద్దతిచ్చే ఆర్కిటెక్చర్‌ల కోసం ప్రారంభించడానికి HAVE_RUST కెర్నల్ పారామీటర్ జోడించబడింది.
  • హార్డ్‌వేర్ సూడో-రాండమ్ నంబర్ జనరేటర్ కోసం రస్ట్ కోడ్‌లో ఉపయోగం కోసం సంగ్రహణలు ప్రతిపాదించబడ్డాయి.
  • Cలో ఎర్రర్ కోడ్‌ల నిర్వహణను అంచనా వేయడానికి "ఎర్రర్::" ఉపసర్గ (ఉదాహరణకు, "రిటర్న్ ఎర్రర్(EINVAL)") లేకుండా ఎర్రర్ కోడ్‌లను ఉపయోగించడానికి అనుమతించబడింది.
  • అనుకూల C-స్ట్రింగ్‌ల కోసం "CString" రకం జోడించబడింది. ఫార్మాటర్ మరియు బఫర్ రకాలు మిళితం చేయబడ్డాయి.
  • Bool మరియు LockInfo రకాలు జోడించబడ్డాయి.
  • స్పిన్ లాక్‌ల అమలు సరళీకృతం చేయబడింది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి