Rust dilini dəstəkləyən Linux nüvəsi üçün yamaqların onuncu versiyası

Rust-for-Linux layihəsinin müəllifi Migel Ojeda Linux nüvəsi tərtibatçıları tərəfindən nəzərdən keçirilməsi üçün Rust dilində cihaz drayverlərinin inkişafı üçün v10 komponentlərinin buraxılmasını təklif etdi. Bu, versiya nömrəsi olmadan dərc edilmiş ilk versiya nəzərə alınmaqla yamaqların on birinci nəşridir. Rust dəstəyinin daxil edilməsi gözlənilməz problemlərin qarşısını almaq üçün Linux 6.1 nüvəsinə daxil edilməsi üçün Linusum Torvalds tərəfindən təsdiq edilmişdir. İnkişaf Google və Let's Encrypt layihəsinin yaradıcısı olan və HTTPS-i və internet təhlükəsizliyini yaxşılaşdırmaq üçün texnologiyaların inkişafını təşviq edən ISRG (İnternet Təhlükəsizliyi Araşdırma Qrupu) tərəfindən maliyyələşdirilir.

Yamaqların əvvəlki versiyası kimi, v10 buraxılışı da Rust dilində yazılmış sadə nüvə modulu yaratmaq üçün kifayət qədər minimuma endirilib. Əvvəlki versiyadan fərqlər kallsyms.c-də sizeof-u ARRAY_SIZE ilə əvəz edən və yamaqları v6.0-rc7 nüvəsinə uyğunlaşdıran kiçik redaktələrlə bağlıdır. Ölçüsü 40-dan 13 min kod sətirinə endirilən minimum yamağın Rust dəstəyinin əsas nüvəyə qəbulunu asanlaşdıracağı gözlənilir. Minimum dəstək göstərildikdən sonra Rust-for-Linux filialından digər dəyişiklikləri köçürərək, mövcud funksionallığın tədricən artırılması planlaşdırılır.

Təklif olunan dəyişikliklər Rust dilini drayverlərin və nüvə modullarının hazırlanması üçün ikinci dil kimi istifadə etməyə imkan verir. Rust dəstəyi defolt olaraq aktivləşdirilməmiş seçim kimi təqdim olunur və Rustun nüvə üçün tələb olunan qurma asılılığı kimi daxil edilməsi ilə nəticələnmir. Sürücü inkişafı üçün Rust-dan istifadə, boşaldıqdan sonra yaddaşa giriş, sıfır göstərici referensiyaları və buferin aşılması kimi problemlərdən azad olaraq, minimum səylə daha təhlükəsiz və daha yaxşı drayverlər yaratmağa imkan verəcək.

Yaddaşın təhlükəsiz işləməsi Rust-da kompilyasiya zamanı istinad yoxlaması, obyekt sahibliyi və obyektin istifadə müddətini (əhatə dairəsini) izləmək, həmçinin kodun icrası zamanı yaddaşa girişin düzgünlüyünün qiymətləndirilməsi vasitəsilə təmin edilir. Rust həmçinin tam ədədlərin daşmasına qarşı qorunma təmin edir, istifadə etməzdən əvvəl dəyişən dəyərlərin məcburi işə salınmasını tələb edir, standart kitabxanada səhvləri daha yaxşı idarə edir, dəyişməz istinadlar və dəyişənlər konsepsiyasını standart olaraq tətbiq edir, məntiqi səhvləri minimuma endirmək üçün güclü statik yazma təklif edir.

Mənbə: opennet.ru

Добавить комментарий