Linux kernelerako adabakien bertsio berria Rust hizkuntzarako laguntzarekin

Miguel Ojedak, Rust-for-Linux proiektuaren egileak, Rust hizkuntzan gailu kontrolatzaileak garatzeko v5 osagaiak askatzea proposatu zuen Linux kerneleko garatzaileek kontuan izan ditzaten. Adabakien seigarren edizioa da, lehen bertsioa kontuan hartuta, bertsio-zenbakirik gabe argitaratua. Rust euskarria esperimentaltzat hartzen da, baina dagoeneko linux-next adarrean sartuta dago eta nahiko garatuta dago nukleoaren azpisistemen gainean abstrakzio-geruzak sortzeko lanean hasteko, baita kontrolatzaileak eta moduluak idazten ere. Garapena Googlek eta ISRGk (Internet Security Research Group) finantzatzen dute, Let's Encrypt proiektuaren sortzailea dena eta HTTPS eta Interneteko segurtasuna hobetzeko teknologien garapena sustatzen du.

Gogoratu proposatutako aldaketek Rust bigarren hizkuntza gisa erabiltzeko aukera ematen dutela kontrolatzaileak eta nukleoaren moduluak garatzeko. Rust-en euskarria lehenespenez gaituta ez dagoen aukera gisa aurkezten da eta ez du eragiten Rust nukleorako beharrezko eraikitze-menpekotasun gisa sartzea. Rust kontrolatzaileak garatzeko erabiltzeak gidari seguruagoak eta hobeak sortzea ahalbidetuko du esfortzu minimoarekin, askatu ondoren memoriarako sarbidea, erakusle nuluen deserreferentziak eta buffer gainditzeak bezalako arazorik gabe.

Memoria segurua den manipulazioa Rust-en eskaintzen da konpilazio garaian erreferentziak egiaztatzen, objektuen jabetzaren eta objektuaren bizitzaren (esparrua) jarraipena eginez, baita kodearen exekuzioan memoriarako sarbidearen zuzentasunaren ebaluazioaren bidez ere. Rust-ek osoko gainezkatzeen aurkako babesa eskaintzen du, erabili aurretik aldagaien balioak derrigorrezko hasieratzea eskatzen du, liburutegi estandarrean akatsak hobeto kudeatzen ditu, erreferentzia eta aldagai aldaezinen kontzeptua lehenespenez aplikatzen du, idazketa estatiko sendoa eskaintzen du akats logikoak minimizatzeko.

Adabakien bertsio berriak adabakien lehen, bigarren, hirugarren, laugarren eta bosgarren edizioen eztabaidan egindako iruzkinak ezabatzen jarraitzen du. Bertsio berrian:

  • Tresna-kutxa eguneratu da Rust 1.59.0 askatzeko. Aloc liburutegiaren aldaera bat Rust-en bertsio berriarekin sinkronizatuta dago, akatsak gertatzen direnean "izua" egoera sor daitekeela desagerraraziz, memoriarik gabe adibidez. Mihiztagailuen txertaketak ("feature(global_asm)") erabiltzeko gaitasuna egonkortu da.
  • Nukleoaren konpilazioan erabiltzen diren Rust-en ostalari-programak sortzeko laguntza gehitu da.
  • Aurrez sortutako xede-plataformaren zehaztapen-fitxategiak entregatu beharrean, dinamikoki sortzen dira nukleoaren konfigurazioan oinarrituta.
  • HAVE_RUST nukleoaren parametroa gehitu da Rust onartzen duten arkitekturak gaitzeko.
  • Abstrakzioak Rust kodean erabiltzeko proposatzen dira hardware sasi-ausazko zenbaki-sorgailu baterako.
  • "Errorea::" aurrizkirik gabeko errore-kodeak erabiltzea baimendu da (adibidez, "itzuli Err(EINVAL)") errore-kodeen kudeaketa gutxi gorabehera C-n.
  • "CString" mota gehitu da C-kate pertsonalizatuetarako. Formateatu eta Buffer motak konbinatu dira.
  • Bool eta LockInfo motak gehitu dira.
  • Biratze blokeoen ezarpena sinplifikatu egin da.

Iturria: opennet.ru

Gehitu iruzkin berria