Linux е предимно безплатно ядро, подобно на ядрото на Unix. Това е един от основните примери за безплатен софтуер с отворен код.
След два месеца развитие, Линус Торвалдс обяви пускането на новата версия на ядрото Linux 6.3, в която сред най-забележителните промени е почистването на ARM платформи и остарели графични драйвери, непрекъсната интеграция на езиковата поддръжка на Rust, помощната програма hwnoise, наред с други неща.
Новата версия прие 15637 2055 корекции от 76 14296 разработчици; размер на корекцията: 1023183 MB (промените засегнаха 883103 файла, добавени 16843 реда код, премахнати 2178 реда). За сравнение, в предишната версия бяха предложени 62 XNUMX корекции от XNUMX XNUMX разработчици; размер на корекцията – XNUMX MB.
Основни новини в Linux 6.3
В тази нова версия, която е представена, a основно почистване на кода, свързано с по-стари ARM платки и unused , което намали размера на шрифтовете на ядрото със 150 хиляди реда. Премахнати са над 40 стари ARM платформи
Също така се подчертава, че мигрирането от клона Rust-for-Linux продължава на допълнителна функционалност, свързана с използването на Rust като втори език за разработване на драйвери и модули на ядрото. Поддръжката на Rust не е активирана по подразбиране и не кара Rust да бъде включен като задължителна зависимост за изграждане на ядрото. Функционалността, предлагана в предишните версии, е разширена с поддръжка за типовете Arc (имплементация на указатели с брой препратки), ScopeGuard (почистването се извършва при излизане от обхвата) и ForeignOwnable (осигурява движение на показалеца между код C и Rust) .
Освен, че, Linux в потребителски режим (който изпълнява ядрото като потребителски процес) на x86-64 системи поддържа код, написан на Rust и добавена поддръжка за компилиране на Linux в потребителски режим, използвайки clang с активирана оптимизация на времето за връзка (LTO).
Можем да намерим и в тази нова версия на Linux 6.3 помощна програма hwnoise за проследяване на закъснения причинени от поведението на хардуера. Отклоненията във времето за изпълнение на операциите (трептене) се определят, когато обработката на прекъсванията е деактивирана, надвишавайки една микросекунда за 10 минути изчисления.
Добавен a модул на ядрото с референтна реализация на Dhrystone que може да се използва за оценка на производителността на процесора в настройки без компоненти на потребителското пространство (например мигриране към по-нови SoC, които зареждат само ядрото).
за системи въз основа на архитектурата на набора от инструкцииs LongArch (използва се в процесори Loongson 3 5000 и прилага нов RISC ISA, подобен на MIPS и RISC-V), добавена поддръжка за рандомизиране на адресното пространство на ядрото (KASLR), преместване на ядрото в паметта (преместване), ограничаване на хардуерни точки и механизъм kprobe.
Механизмът memfd, което позволява да се идентифицира област от паметта чрез файлов дескриптор, предаван между процесите, добавена възможност за създаване на области, където изпълнението на код е забранено (memfd не е изпълним) и е невъзможно да се зададат права за изпълнение в бъдеще.
От друга страна се отбелязва, че в Linux 6.3 Адресира уязвимост, която може да заобиколи защитата от атака на Spectre v2 при използване на технологията за едновременна многонишкова обработка (SMT или Hyper-Threading) и причинено от деактивирането на механизма STIBP (еднонишкови индиректни предсказатели на разклонения) при избор на режим на защита на IBRS.
За IPv4 е възможно да използвате разширението BIG TCP, което ви позволява да увеличите размера TCP пакет максимум до 4 GB за оптимизиране на работата на високоскоростните вътрешни мрежи на центровете за данни. Това увеличение на размера на пакета с 16-битово поле на заглавката се постига чрез внедряване на "jumbo" пакети, които имат размер на IP заглавката, зададен на 0, а действителният размер се предава в отделно 32-битово поле в отделна прикачена заглавка.
От останалите промени които се открояват:
- Добавен е DRM драйвер за VPU (Versatile Processing Unit), вграден в процесорите Intel Meteor Lake (14-то поколение), предназначен да ускори машинното обучение и операциите с компютърно зрение.
- Драйверът се изпълнява от подсистемата "accel", която има за цел да осигури поддръжка за изчислителни ускорители, които могат да се доставят като самостоятелни ASIC или като IP блокове в рамките на SoC и GPU.
- Драйверът i915 (Intel) разширява поддръжката за дискретни графични карти Intel Arc (DG2/Alchemist), осигурява предварителна поддръжка за графични процесори Meteor Lake и включва поддръжка за графични процесори Intel Xe HP 4tile.
- Драйверът amdgpu добавя поддръжка за технологията AdaptiveSync и възможност за използване на Secure Display с множество дисплеи. Актуализирана поддръжка за DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x и DP 2.1.
- Добавена е поддръжка за платформите SM8350, SM8450, SM8550, SDM845 и SC8280XP към драйвера msm (Qualcomm Adreno GPU).
- Подобрена производителност на ext4 FS, като позволява на множество процеси едновременно да извършват директни входно/изходни операции върху предварително разпределени блокове, използвайки споделени заключвания на inode вместо изключителни заключвания.
- Експериментална поддръжка за VerSilicon NPU (VeriSilicon Neural Network Processor) е добавена към драйвера etnaviv.
- Добавен драйвер ath12k за безжични карти, базирани на чипове Qualcomm с поддръжка на Wi-Fi 7.
- Добавена е поддръжка за безжични карти, базирани на чипове RealTek RTL8188EU.
- Добавена е поддръжка за RISC-V платки, базирани на Allwinner D1 и D1s SoC.
И накрая, ако се интересувате да можете да научите повече за него, можете да проверите другите подробности на следната връзка.