Linux ядросын әзірлеу үшін C++ тілін қолдану туралы талқылау

Linux ядросының тарату тізімі ассемблер тілінің кірістірулері бар Си тілінің қазіргі қолданылуынан және Rust тілін жылжытудан басқа, Linux ядросында заманауи C++ кодын пайдалану перспективалары туралы алты жыл бұрын басталған талқылауды қайта бастады. Бастапқыда C++ тілінде ядроны дамыту тақырыбын 2018 жылы Red Hat инженері көтерді, ол 45 сәуірде әзіл ретінде үлгілерді, мұраланған сыныптарды және ядро ​​кодындағы C++ функцияларын шамадан тыс жүктеуге арналған XNUMX патч жинағын жариялады. .

Талқылауды жалғастыру бастамасын Intel ядросының негізгі әзірлеушілерінің бірі және syslinux, klibc және LANANA сияқты жобаларды жасаушы, Linux ядросы үшін автоматты монтаждау жүйесін, RAID іске асыруды жасаған Ханс Питер Анвин көтерді. 6, CPUID драйвері және x32 ABI. Ядродағы көптеген макростар мен құрастыру кірістірулерінің авторы болып табылатын Унвиннің айтуынша, 1999 жылдан бастап Си және С++ тілдері дамуында айтарлықтай жетістіктерге жетті және С++ тілі Си тіліне қарағанда ядроны әзірлеуге қолайлы болды. операциялық жүйелер.

Бұрын GCC-арнайы кеңейтімдерді қажет ететін мүмкіндіктер енді стандартты C++ тілінде оңай жүзеге асырылуы мүмкін және көп жағдайда C++ пайдалану кодты толығымен өзгертпестен инфрақұрылымды жақсартады. Минималды – қажетті метабағдарламалау құралдарын қамтитын C++ 14 спецификациясын пайдалану, ал қалауы – көптеген қателердің пайда болуын жоя алатын тұжырымдамаларды қолдауды енгізген С++20 спецификациясын пайдалану.

Unwin Rust-қа қарағанда C++ тілін жақсырақ деп санайды, өйткені соңғысы синтаксисі бойынша Си тілінен айтарлықтай ерекшеленеді, ядроның қазіргі әзірлеушілері үшін әдеттен тыс және кодты біртіндеп қайта жазуға мүмкіндік бермейді (С++ тілінде болса, оны аударуға болады). Си тіліндегі кодты бөліктерге бөледі, сондықтан C кодын C++ ретінде қалай құрастыруға болады). SUSE-тен Джири Слаби және Red Hat-тен Дэвид Хоуэллс ядрода C++ тілін қолдануды қолдады.

Ақпарат көзі: opennet.ru

пікір қалдыру