I-Linux 6.1 yenza umlando ngokwethula iRust njengolimi lokuhlela lwesibili ku-Kernel

I-Tux, i-mascot ye-Linux Kernel

I-Linux kernel iwumgogodla wezinhlelo zokusebenza ze-Linux (OS), futhi iyisixhumi esibonakalayo esibalulekile phakathi kwehadiwe yekhompyutha nezinqubo zayo.

Kwembulwe uLinus Torvalds ngesimemezelo sokutholakala kwenguqulo entsha ye I-Linux kernel 6.1. okungenzeka ukuthi yiyo enye yezinguqulo ezibaluleke kakhulu ezikhishwe phakathi neminyaka engu-30 edlule Futhi yilokho okwenza lokhu kukhululwa kukhetheke kakhulu ukuthi kule nguqulo kwethulwa ulimi lwesibili ukuze kuthuthukiswe i-kernel, okuwulimi lwe-Rust.

Ngakho-ke i-Rust ithola kuphela i-API esemthethweni yokuvumela ukuthuthukiswa kwamamojula ahlukene noma abashayeli bezindiza be-Linux. Lokhu kusho ukuthi ukuvulwa kwe-Linux kernel kulolu limi kuyaqhubeka ngenxa yokuthi ukuchithwa kolimi C akuhlelelwe kusasa. Kodwa-ke, kuwushintsho olunomsuka walo ekutholakaleni nekhono lamaqembu esithathu ahilelekile ekuthuthukisweni kwe-kernel.

Izici ezintsha eziyinhloko zeLinux 6.1

Ukuqamba okusha okukhulu kweLinux 6.1 yi- ukufika kwe-Rust, njengoba sekuyiminyaka eminingana, umsebenzi uqhubeka ngemuva kwezigcawu ukwenza i-kernel ifanele ulimi oluvelayo lohlelo. Ngokuzayo, akufanele kube khona kuphela amamojula wohlelo ku-C, kodwa naku-Rust.

Esimeni samanje ivumela kuphela ukuhlanganisa, ukulayisha nokulanda imojuli yesibonelo esilula kakhulu. Njengesinyathelo sokuqala, uLinus Torvalds wayefuna nje "Sawubona mhlaba!" Ngakho-ke, amanye amamojula awusizo futhi, ngaphezu kwakho konke, awakwenzeki ku-Rust ku-kernel yamanje. Kodwa-ke, i-kernel entsha inikeza umbono wokuqala wokuthi i-Rust ihlanganisa kanjani nokuthi yiziphi izinselelo okudingeka zinqotshwe.

Enye into entsha eyenziwe yile nguqulo entsha ye-Linux 6.1 yi- Ukusekelwa kwe-AMD Platform Management Framework, eqinisekisa ukuthuthukiswa kokusebenza ngama-AMD CPU ahlukahlukene (Amayunithi Okucubungula Amaphakathi).

I-AMD Platform Management Framework futhi nokusekelwa okugcwele kwe-AMT (inguquko yemodi ezenzakalelayo) kanye neye-CnQF (Uhlaka Olupholile Nokuthula). Ukuqala ngalesi sibuyekezo, abasebenzisi be-distro empeleni bazokwazi ukufinyelela amandla ajulile futhi aphelele kanye nokuphathwa kwezinga lokushisa.

Ngaphezu kwalokho, singathola futhi lokho Indlela ye-MGLRU ifakiwe (multi-generational LRU), okuyinto kuthathelwe indawo ukuqaliswa kwe-LRU endala (Okungasetshenziswa Kancane Kamuva) ngokusekelwe kolayini ababili abanesakhiwo esinezigaba eziningi esinquma kangcono ukuthi yimaphi amakhasi enkumbulo asetshenziswa ngempela futhi angaphoqwa ukuthi ashintshwe.

Kungeziwe ukusekelwa kwesakhiwo sedatha yesihlahla se-maple ihlongozwe onjiniyela be-Oracle, ebekwe endaweni esebenza kahle kakhudlwana yesakhiwo "sesihlahla esimnyama". Isihlahla somkhova kanyeiwuhlobo lwesihlahla B esekela ukukhonjwa kobubanzi futhi yakhelwe ukusebenzisa kahle inqolobane yamaphrosesa esimanje. Amanye amasistimu angaphansi wokuphatha inkumbulo asevele athuthelwe esihlahleni semephu, esinomthelela omuhle ekusebenzeni kwawo. Ngokuzayo, isihlahla se-maple singasetshenziselwa ukusebenzisa ukukhiya kobubanzi.

Iphinde igqame ku-Linux 6.1 okuyinto wengeze ucingo olukhethekile lokwabiwa kwememori ezinhlelweni ze-BPF (isabelo sememori), esihlinzeka ngesabelo senkumbulo ephephile kumongo we-BPF kune-kmalloc evamile (). Ingxenye yokuqala yezinguquko ihlanganisiwe, ihlinzeka ikhono lokudala abashayeli bemishini yokufaka nge-HID (Human Interface Device) interface, esetshenziswe ngendlela yezinhlelo ze-BPF. Ikhodi ikhishwe ngokuphelele ku-kernel ukuze kusekelwe ifomethi yefayela elisebenzisekayo elithi a.out, eyehliswa kunguqulo 5.1 futhi, kusukela kuzinguqulo 5.18 kanye no-5.19, yakhutshazwa kuzo zonke izakhiwo ezinkulu.

Ifomethi ye-a.out ibingakaze isetshenziswe ezinhlelweni ze-Linux isikhathi eside, futhi amathuluzi esimanje awakusekeli ukukhiqizwa kwamafayela e-a.out ekucushweni okuzenzakalelayo kwe-Linux. Isilayishi sefayela se-a.out singasetshenziswa ngokuphelele esikhaleni somsebenzisi.

Kuthathelwe indawo ukusetshenziswa kwendlela yokuvikela ye-CFI (Lawula Ubuqotho Bokugeleza), yengeza ukuhlola ngaphambi kocingo ngalunye lomsebenzi ongaqondile ukuze kukhonjwe ezinye izinhlobo zokuziphatha okungachazwanga ezingase ziholele ekwephulweni kwe-oda lokukhishwa elivamile (ukulawula ukugeleza) njengomphumela wokusebenzisa izinto ezibonakalayo ezishintsha izikhombi zokusebenza ezigcinwe kumemori.

Ukuqaliswa okuvamile kwe-CFI kwephrojekthi ye-LLVM kuthathelwe indawo okuhlukile, futhi okusekelwe ekusetshenzisweni kwe-Clang, kodwa kulungiswe ngokukhethekile ukuze kuvikelwe amasistimu angaphansi asezingeni eliphansi kanye nezikhwebu zesistimu yokusebenza. Ku-LLVM ukuqaliswa okusha kuzohlongozwa enguqulweni ye-Clang 16 futhi kuzonikwa amandla ngenketho ethi “-fsanitize=kcfi”.

Umehluko oyinhloko wokusetshenziswa okusha ukuthi akuboshelwe ekuxhumaniseni ukulungiselelwa kwesikhathi (i-LTO) futhi akubangeli ukushintshwa kwezikhombisi zokusebenza ngezixhumanisi kuthebula lokweqa.

Kwezinye izinguquko lokho kugqame

  • Kumamojula we-Linux Security Module (LSM), ikhono lokudala izilawuli ezivimba ukusebenza ukuze udale izindawo zamagama linikeziwe.
  • Kunikezwe amathuluzi okuqinisekisa amasiginesha edijithali ye-PKCS#7 ezinhlelweni ze-BPF.
  • /dev/okungahleliwe kubuyise ikhono lokuvula kumodi engavimbeli (O_NONBLOCK), elikhishwe ngokungazi ku-5.6 kernel.
  • Kwengezwe isexwayiso ezinhlelweni ze-x86 lapho amasistimu angaphansi kwe-kernel abela amakhasi enkumbulo asebenzisekayo futhi abhalekayo. Ngokuzayo, ithuba lokwenqabela ngokuphelele imephu yememori enjalo kuyacatshangelwa.

ekugcineni uma ukhona unentshisekelo yokwazi okwengeziwe ngayo, ungabheka imininingwane Kulesi sixhumanisi esilandelayo.