Rust-for-Linux ప్రాజెక్ట్ రచయిత Miguel Ojeda, Linux కెర్నల్ డెవలపర్ల పరిశీలన కోసం రస్ట్ భాషలో పరికర డ్రైవర్లను అభివృద్ధి చేయడానికి భాగాల యొక్క నాల్గవ వెర్షన్ను ప్రతిపాదించారు. రస్ట్ మద్దతు ప్రయోగాత్మకంగా పరిగణించబడుతుంది, అయితే లైనక్స్-తదుపరి బ్రాంచ్లో చేర్చడానికి ఇప్పటికే అంగీకరించబడింది మరియు కెర్నల్ సబ్సిస్టమ్లపై సంగ్రహణ లేయర్లను సృష్టించడం, అలాగే డ్రైవర్లు మరియు మాడ్యూల్లను వ్రాయడం ప్రారంభించేంత పరిపక్వత ఉంది. డెవలప్మెంట్కు Google మరియు ISRG (ఇంటర్నెట్ సెక్యూరిటీ రీసెర్చ్ గ్రూప్) నిధులు సమకూరుస్తుంది, ఇది లెట్స్ ఎన్క్రిప్ట్ ప్రాజెక్ట్ స్థాపకుడు మరియు ఇంటర్నెట్ భద్రతను మెరుగుపరచడానికి HTTPS మరియు సాంకేతికతల అభివృద్ధిని ప్రోత్సహిస్తుంది.
ప్రతిపాదిత మార్పులు డ్రైవర్లు మరియు కెర్నల్ మాడ్యూల్లను అభివృద్ధి చేయడానికి రస్ట్ని రెండవ భాషగా ఉపయోగించడం సాధ్యమవుతుందని గుర్తుంచుకోండి. రస్ట్ మద్దతు డిఫాల్ట్గా ప్రారంభించబడని ఒక ఎంపికగా అందించబడుతుంది మరియు కెర్నల్కు అవసరమైన బిల్డ్ డిపెండెన్సీగా రస్ట్ చేర్చబడదు. డ్రైవర్ డెవలప్మెంట్ కోసం రస్ట్ని ఉపయోగించడం వలన మీరు తక్కువ ప్రయత్నంతో సురక్షితమైన మరియు మెరుగైన డ్రైవర్లను సృష్టించవచ్చు, ఫ్రీ అయిన తర్వాత మెమరీ యాక్సెస్, శూన్య పాయింటర్ డిరిఫరెన్స్లు మరియు బఫర్ ఓవర్రన్లు వంటి సమస్యల నుండి విముక్తి పొందండి.
రిఫరెన్స్ చెకింగ్, ఆబ్జెక్ట్ యాజమాన్యం మరియు ఆబ్జెక్ట్ లైఫ్టైమ్ (స్కోప్)ను ట్రాక్ చేయడం, అలాగే కోడ్ అమలు సమయంలో మెమరీ యాక్సెస్ యొక్క ఖచ్చితత్వాన్ని మూల్యాంకనం చేయడం ద్వారా కంపైల్ సమయంలో మెమరీ-సేఫ్ హ్యాండ్లింగ్ రస్ట్లో అందించబడుతుంది. రస్ట్ పూర్ణాంకాల ఓవర్ఫ్లోల నుండి రక్షణను కూడా అందిస్తుంది, ఉపయోగించే ముందు వేరియబుల్ విలువలను తప్పనిసరిగా ప్రారంభించడం అవసరం, ప్రామాణిక లైబ్రరీలో లోపాలను మెరుగ్గా నిర్వహిస్తుంది, డిఫాల్ట్గా మార్పులేని సూచనలు మరియు వేరియబుల్స్ భావనను వర్తింపజేస్తుంది, లాజికల్ లోపాలను తగ్గించడానికి బలమైన స్టాటిక్ టైపింగ్ను అందిస్తుంది.
పాచెస్ యొక్క కొత్త వెర్షన్ పాచెస్ యొక్క మొదటి, రెండవ మరియు మూడవ ఎడిషన్ల చర్చ సమయంలో చేసిన వ్యాఖ్యలను తొలగించడం కొనసాగుతుంది. కొత్త వెర్షన్లో:
- రస్ట్ 1.58.0 యొక్క స్థిరమైన విడుదలను రిఫరెన్స్ కంపైలర్గా ఉపయోగించేందుకు మార్పు చేయబడింది. ప్రధాన రస్ట్ టూల్కిట్లో ఇంకా చేర్చబడని ప్రాజెక్ట్కి అవసరమైన మార్పులలో, “-Zsymbol-mangling-version=v0” ఫ్లాగ్ (రస్ట్ 1.59.0లో అంచనా వేయబడింది) మరియు “maybe_uninit_extra” మోడ్ (రస్ట్ 1.60.0లో ఊహించబడింది .XNUMX) గుర్తించబడ్డాయి.
- తగిన రస్ట్ సాధనాల లభ్యత కోసం ఆటోమేటిక్ చెక్లు జోడించబడ్డాయి మరియు సిస్టమ్లో రస్ట్ మద్దతును పరీక్షించే సామర్థ్యాన్ని విస్తరించింది.
- రస్ట్ కోడ్ నుండి పరికర ఐడెంటిఫైయర్ పట్టికలను ("IdArray" మరియు "IdTable") యాక్సెస్ చేయడానికి కొత్త సంగ్రహణలు ప్రతిపాదించబడ్డాయి.
- టైమర్-సంబంధిత ఫంక్షన్లను యాక్సెస్ చేయడానికి లేయర్లు జోడించబడ్డాయి (క్లాక్ ఫ్రేమ్వర్క్).
- ప్లాట్ఫారమ్ డ్రైవర్లు ఇప్పుడు లక్షణాల అమలుల ద్వారా నిర్వచించబడ్డారు.
- ప్లాట్ఫారమ్ డ్రైవర్ల నమోదును సులభతరం చేయడానికి కొత్త మాక్రో జోడించబడింది మరియు కొత్త జెనరిక్ డ్రైవర్ టెంప్లేట్ ప్రతిపాదించబడింది.
- "dev_*" నిర్మాణాల కోసం మాక్రోలు జోడించబడ్డాయి.
- IoMem రకం కోసం "{చదవండి, వ్రాయండి}*_రిలాక్స్డ్" పద్ధతులు జోడించబడ్డాయి.
- ఫైల్ కార్యకలాపాలను సులభతరం చేయడానికి FileOpener ఆస్తిని తీసివేయబడింది.
- డ్రైవర్ను నమోదు చేసేటప్పుడు ఆమోదించిన ఆర్గ్యుమెంట్లకు “ఈ మాడ్యూల్” పరామితి జోడించబడింది.
- రస్ట్ లాంగ్వేజ్లో కెర్నల్ మాడ్యూల్లను రూపొందించడానికి ఒక ప్రామాణిక టెంప్లేట్ ప్రతిపాదించబడింది.
మూలం: opennet.ru