Ջոշ Թրիպլետը, ով աշխատում է Intel-ում և հանդիսանում է Crates.io-ի զարգացումը վերահսկող հանձնաժողովում, ելույթ ունենալով Open Source Technology Summit-ում։
Աշխատանքային խմբում, որը ստեղծման փուլում է, Rust-ի մշակողները Intel-ի ինժեներների հետ միասին կպատրաստեն տեխնիկական բնութագրեր, որոնք սահմանում են Rust-ում համակարգերի ծրագրավորման համար անհրաժեշտ գործառույթները: Համակարգի ծրագրավորումը հաճախ պահանջում է ցածր մակարդակի մանիպուլյացիա, ինչպես օրինակ՝ պրոցեսորի արտոնյալ հրահանգների կատարումը և պրոցեսորի վիճակի մասին մանրամասն տեղեկություններ ստանալը: Rust-ի համար արդեն մշակված նմանատիպ առանձնահատկություններից նշվում է անանուն կառույցների, միությունների, անսամբլի լեզվի ներդիրների աջակցությունը («asm!» մակրո) և BFLOAT16 լողացող կետի համարի ձևաչափը:
Ջոշը կարծում է, որ համակարգի ծրագրավորման ապագան պատկանում է Rust-ին, իսկ C լեզուն ժամանակակից իրողություններում հավակնում է այն տեղը, որը նախորդ տարիներին զբաղեցնում էր Assembly-ը: Ժանգը
ոչ միայն ազատում է ծրագրավորողներին C լեզվին բնորոշ խնդիրներից, որոնք առաջանում են հիշողության հետ ցածր մակարդակի աշխատանքի պատճառով, այլև հնարավորություն է տալիս այն օգտագործել ժամանակակից ծրագրավորման պարադիգմների մշակման մեջ:
Ընթացքում
Ջոշը մտահղացել է Linux միջուկում վարորդների մշակման հնարավորությունը Rust լեզվով ավելացնելու հնարավորությունը, ինչը հնարավորություն կտա նվազագույն ջանքերով ստեղծել ավելի ապահով և լավ դրայվերներ՝ զերծ խնդիրներից, ինչպիսիք են հիշողության հասանելիությունը ազատելուց հետո, null: ցուցիչի հետհղումներ և բուֆերների գերազանցումներ:
Գրեգ Քրոահ-Հարթմանը, ով պատասխանատու է Linux միջուկի կայուն ճյուղի պահպանման համար, իր պատրաստակամությունն է հայտնել միջուկին ավելացնել Rust լեզվով դրայվերների մշակման շրջանակ, եթե այն իրական առավելություններ ունենա C-ի նկատմամբ, օրինակ՝ ապահովի անվտանգություն: կապեր Kernel API-ի հետ: Բացի այդ, Գրեգը դիտարկում է այս ֆրեյմուքը միայն որպես տարբերակ, ոչ լռելյայն ակտիվ, որպեսզի չներառի Rust-ը որպես build կախվածություն միջուկից։
Պարզվեց, որ մի քանի թիմեր արդեն աշխատում են այս ուղղությամբ։ Օրինակ, «Fish in a Barrel» ընկերության մշակողները
Զուգահեռ
Նախատեսված բոլոր գործառույթները դեռ չեն իրականացվել, բայց շրջանակն արդեն բավականին հարմար է աշխատանքի համար և օգտագործվել է LAN9512 USB Ethernet կարգավորիչի համար աշխատող դրայվեր գրելու համար, որը մատակարարվում է Raspberry Pi 3 տախտակում: Գոյություն ունեցող smsc95xx դրայվերը, որը գրվել է C լեզու. Նշվում է, որ Rust-ում դրայվեր մշակելիս մոդուլի չափը և աշխատաժամանակի բաղադրիչների վերին ծախսերը աննշան են, ինչը թույլ է տալիս շրջանակն օգտագործել սահմանափակ ռեսուրսներով սարքերի համար:
Source: opennet.ru