Intel-д ажилладаг, Crates.io-ийн хөгжлийг хянадаг хороонд ажилладаг Жош Триплетт Нээлттэй эхийн технологийн дээд хэмжээний уулзалт дээр үг хэлжээ.
Үүсгэх шатандаа байгаа ажлын хэсэгт Rust хөгжүүлэгчид Intel-ийн инженерүүдтэй хамтран системийн програмчлалын хувьд Rust-д хэрэгжүүлэх шаардлагатай функцуудыг тодорхойлсон техникийн үзүүлэлтүүдийг бэлтгэх болно. Системийн програмчлалд процессорын давуу эрх бүхий зааварчилгааг гүйцэтгэх, процессорын төлөв байдлын талаар дэлгэрэнгүй мэдээлэл авах зэрэг доод түвшний заль мэх шаардлагатай байдаг. Rust-д зориулж аль хэдийн боловсруулж байгаа ижил төстэй функцүүдийн дотроос нэргүй бүтэц, нэгдлүүд, ассемблер хэлний оруулга ("asm!" макро) болон BFLOAT16 хөвөгч цэгийн тооны форматын дэмжлэгийг тэмдэглэв.
Жош системийн програмчлалын ирээдүй нь Rust-д хамааралтай гэж үзэж байгаа бөгөөд орчин үеийн бодит байдалд Си хэл нь өнгөрсөн жилүүдэд Ассемблейд эзлэгдсэн байр суурийг эзэлдэг. Зэв
Энэ нь хөгжүүлэгчдэд санах ойтой бага түвшний ажил хийснээс болж үүсдэг Си хэлний төрөлх асуудлаас ангижруулаад зогсохгүй орчин үеийн програмчлалын парадигмуудыг боловсруулахад ашиглах боломжийг олгодог.
Үеэр
Жош Линуксийн цөмд Rust хэл дээр драйверуудыг хөгжүүлэх чадварыг нэмэх санааг дэвшүүлсэн бөгөөд энэ нь суллагдсаны дараа санах ойд нэвтрэх гэх мэт асуудлуудаас ангид, хамгийн бага хүчин чармайлтаар илүү аюулгүй, илүү сайн драйверуудыг бий болгох боломжийг олгоно, null. заагчийн хаягжилт болон буфер хэт ачаалал.
Линуксийн цөмийн тогтвортой салбарыг хадгалах үүрэгтэй Грег Кроа-Хартман хэрэв C-ээс бодит давуу талтай бол, жишээлбэл, зэвсгийн хэл дээрх драйверуудыг хөгжүүлэх тогтолцоог цөмд нэмэхэд бэлэн байгаагаа илэрхийлэв. Цөмийн API дээрх холболтууд. Нэмж дурдахад, Грег энэ хүрээг зөвхөн сонголт гэж үздэг бөгөөд анхдагчаар идэвхтэй биш бөгөөд ингэснээр зэвийг цөм дээр бүтээх хамаарал болгон оруулахгүй.
Энэ чиглэлээр хэд хэдэн баг ажиллаж байгаа нь тогтоогдсон. Жишээлбэл, "Торх дахь загас" компанийн хөгжүүлэгчид.
Зэрэгцээ
Төлөвлөсөн бүх функц хараахан хэрэгжээгүй байгаа боловч уг хүрээ нь ажилд аль хэдийн тохиромжтой болсон бөгөөд Raspberry Pi 9512 самбар дээр нийлүүлсэн LAN3 USB Ethernet хянагчийг ажиллах драйвер бичихэд ашигласан. Одоо байгаа smsc95xx драйверийг дотор бичсэн. C хэл. Rust-д драйвер боловсруулах үед модулийн хэмжээ болон ажиллах үеийн бүрэлдэхүүн хэсгүүдийн ачаалал нь ач холбогдолгүй болохыг тэмдэглэсэн бөгөөд энэ нь хүрээг хязгаарлагдмал нөөцтэй төхөөрөмжүүдэд ашиглах боломжийг олгодог.
Эх сурвалж: opennet.ru