Цөмийн зэвний тулгуур Linux Торвалдсын шүүмжлэлтэй тулгарсан

Линус Торвальдс цөмд зориулсан Rust хэл дээр драйвер үүсгэх чадварыг хэрэгжүүлсэн засваруудыг хянасан. Linuxмөн зарим шүүмжлэлтэй санал бодлоо илэрхийлэв.

Хамгийн том шүүмжлэл нь санах ой багатай нөхцөл байдал гэх мэт алдаатай нөхцөл байдалд panic() үүсэх магадлал байсан бөгөөд энэ үед цөм доторх динамик санах ойн хуваарилалтын үйлдлүүд бүтэлгүйтэж болзошгүй юм. Торвалдс ийм арга барил нь цөмд үндсэндээ хүлээн зөвшөөрөгдөхгүй бөгөөд хэрэв энэ зүйлийг ойлгохгүй бол түүнийг ашиглахыг оролдсон аливаа кодыг бүрэн NAK болгож чадна гэж мэдэгджээ. Нөгөөтэйгүүр, асуудлыг нөхөх үүрэгтэй хөгжүүлэгч асуудлыг хүлээн зөвшөөрч, үүнийг шийдэж болно гэж үзэж байна.

Өөр нэг асуудал бол хөвөгч цэг эсвэл 128 битийн төрлийг ашиглах оролдлого байсан бөгөөд энэ нь цөм гэх мэт орчинд хүлээн зөвшөөрөгдөхгүй байв. LinuxRust цөмийн номын сан нь одоогоор хуваагдашгүй бөгөөд нэг том бөмбөрцгийг төлөөлж байгаа тул энэ нь илүү ноцтой асуудал болж хувирсан бөгөөд энэ нь зөвхөн тодорхой функцуудыг хүсэх боломжийг олгодоггүй бөгөөд тодорхой асуудалтай функцуудыг ашиглахаас сэргийлдэг. Энэ асуудлыг шийдэхийн тулд Rust хөрвүүлэгч болон номын сангуудад өөрчлөлт оруулах шаардлагатай болж магадгүй бөгөөд баг одоогоор хэлний номын санд модульчлалыг хэрэгжүүлэх стратегигүй байна.

Торвалдс мөн өгөгдсөн драйверын жишээ ашиггүй болохыг тэмдэглэж, бодит ертөнцийн асуудлыг шийддэг драйверын жишээ өгөхийг зөвлөжээ.

Шинэчлэлт: Google нь Rust-ийн дэмжлэгийг цөмд оруулах санаачилгад оролцож байгаагаа зарлалаа. Linux мөн санах ойн удирдлагын алдаанаас үүдэлтэй асуудлуудыг шийдвэрлэхийн тулд Rust-ийг хэрэгжүүлэх техникийн боломжийн талаар тайлбарласан. Rust нь одоо цөмийн бүрэлдэхүүн хэсгүүдийг хөгжүүлэх хэл болгон C хэлийг нэгтгэхэд бэлэн болсон гэж Google үзэж байна. LinuxМөн уг нийтлэлд платформ дээр ашиглагдаж буй нөхцөлд цөмийн драйверуудыг хөгжүүлэхэд Rust хэлийг ашиглах жишээг өгсөн болно. Android (Rust нь хөгжүүлэлтийн албан ёсоор дэмжигдсэн хэл гэж хүлээн зөвшөөрөгдсөн.) Android).

Google нь Binder-ийн C болон Rust хэрэгжилтийн нарийвчилсан гүйцэтгэл болон аюулгүй байдлын харьцуулалт хийх боломжийг олгох Binder-ийн хоорондын харилцааны механизмд зориулж Rust хэл дээр бичигдсэн драйверын анхны туршилтын хувилбарыг бэлтгэсэн. Ажил хараахан дуусаагүй байгаа ч Binder эдгээр хийсвэрлэлийг Rust кодонд ашиглахад шаардлагатай бараг бүх цөмийн хийсвэрлэлийн давхаргуудыг аль хэдийн бэлтгэсэн байна.

Эх сурвалж: opennet.ru

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster