Какво ново предлага Linux ядрото версия 5.3 – финална

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

След два месеца разработване Линус Торвалдс представи Linux Kernel 5.3. Сред основните промени са поддръжка на GPU AMD Navi, процесорите Zhaoxin и технологията за управление консумацията Intel Speed Select, възможност за използване на инструкцията umwait за изчакване без използването на цикли, повишаващ интерактивността режим utilization clamping за асиметричните централни процесори, системното извикване pidfd_open, възможност за използването на IPv4 адресите от подмрежата 0.0.0.0/8, хардуерното ускорение nftables, интеграция на ACRN хипервайзора за работа с IoT устройства и други. Новата версия се счита за финална, понеже са направени много промени и след нея трябва да започнат да излизат версиите 6.х.

С анонса на новата финална версия Линус Торвалдс напомни на всички разработчици за главното правило при разработването на ядрото – запазването на поведението на всички модули в потребителското пространство. Промените в ядрото по никакъв начин не трябва да нарушават работата на съществуващите приложения и да водят до регресия на потребителско ниво. При нарушаването на това условие е възможно да се окаже влияние на коректно работещите приложения. Като пример бе отхвърлена полезна оптимизация в кода на файловата система Ext4, който силно намалява задействането на запомнящото устройство при четене и запис на малки обеми данни.

Но тази оптимизация води до това, че поради намалената активност на диска или дисковете води до по-бавното натрупване на ентропия за генератора за псевдослучайни числа и при известни обстоятелства е възможно генерираните числа да не са достатъчно случайни. Тъй като тази оптимизация е наистина полезна, сред разработчиците се разгоря дискусия, в която се предлага проблемът да се премахне чрез изключването на блокиращия режим на работа на getrandom() чрез добавянето на специален флаг, който се използва за изчакване натрупването на ентропия. Но и методът с флага бе отхвърлен, понеже по този начин се променя качеството на случайните числа в началния етап на зареждане на операционната система.

Основни нововъведения в Linux Kernel 5.3

Какво ново предлага Linux ядрото версия 5.3 – финална
Дискова подсистема, вход/изход, файлови системи
  • За файловата система XFS е реализирана възможност за многопоточно заобикаляне на inode, например при проверка на квотите. Добавени са новите ioctl параметри BULKSTAT и INUMBERS, даващи достъп до възможностите на петата версия на тази файлова система
  • В Btrfs е осигурена бързата реализация на crc32c за всички архитектури
  • В Ext4 е добавена поддръжката на празни области в папките, състоящи се от несвързани блокове
  • В CIFS е премахнат признакът, показващ, че това е експериментален код
  • Във файловата система UBIFS е добавена поддръжката на компресия с използване на zstd алгоритъма
Виртуализация и безопасност
  • В състава на ядрото е включен хипервайзора ACRN за вградени устройства, който е специално написан за изпълнение на задачи в реално време и за използването на Linux в критично важни компютърни системи. ACRN осигурява съвсем ниски латентности (low latency) и адекватна отзивчивост при взаимодействие с хардуера. Поддържа се виртуализация на ресурсите на централния процесор, на входно/изходните операции, мрежовата подсистема, на операциите с графика и звук. ACRN може да се използва за стартирането на няколко изолирани виртуални машини в информационните системи на автомобилите, потребителските IoT устройства и други подобни
  • В User-mode е добавен режима за „пътешествие във времето“, даващ възможност за забавяне или ускоряване на времето във виртуалната среда UML, като по този начин силно се опростява настройката на кода, свързан с измерване на времето. Освен това, добавен е параметърът time-travel-start, даващ възможност за стартиране на операционната система в предварително зададено от потребителя време
  • Добавени са нови опции на Linux ядрото. Това са init_on_alloc и init_on_free, с помощта на които освободените от различните приложения области памет се запълват с нули. По този начин се повишава безопасността на работа на алгоритмите
  • Добавен е новия драйвер virtio-iommu даващ възможност за реализация на специално виртуално устройство за изпращане на IOMMU запитвания
  • В подсистемата за криптиране на информацията е добавена поддръжката на много бързия алгоритъм за хеширане xxhash, скоростта на който зависи главно от производителността на паметта
Какво ново предлага Linux ядрото версия 5.3 – финална
Мрежова подсистема
  • Осигурена е обработката на IPv4 адресите в диапазона 0.0.0.0/8, който досега не бе достъпен за използване. Това позволява използването на още 16 милиона IPv4 адреси
  • В Netfilter за nftables е добавена поддръжката на нови механизми за хардуерно ускоряване на филтрирането на мрежовите пакети, което става с помощта на драйвера Flow Block API
  • За IPv4 и IPv6 е добавен новия алгоритъм nexthop за запис на данните за маршрутизирането . Направените тестове показаха, че при използването на новия метод данните от 743 000 рутера са били заредени в ядрото само за 4,3 секунди
  • За Bluetooth е реализирана необходимата функционалност за поддръжката на LE ping
Хардуер
  • Добавена е поддръжката на х86 съвместимите процесори Zhaoxin, разработени и усъвършенствани в рамките на съвместния проект на VIA Technologies и Шанхай. Процесорната фамилия ZX се базира на архитектурата x86-64 Isaiah, която е усъвършенствана версия на VIA Centaur
  • В DRM (Direct Rendering Manager) подсистемата, както и в графичните драйвери amdgpu и i915 е добавена система за анализ, обработка и обмен на HDR метаданните чрез HDMI порта
  • В драйвера amdgpu е добавена началната поддръжка на графичните процесори AMD NAVI (RX5700), която включва базов драйвер, код за взаимодействие с екрана (DCN2), поддръжката на GFX и SDMA 5 изчисленията, управление на захранването и мултимедийните кодеци. Подобрена е поддръжката на видеокартите базирани на GPU Vega12 и Vega20
  • В драйвера amdkfd е добавена поддръжката на видеокарти базирани на GPU VegaM
  • В DRM драйвера за графичните ускорители на Intel в чиповете Icelake е реализиран нов режим за гама корекция. Добавена е възможност за извеждане на информацията чрез DisplayPort в YCbCr4:2:0 формат. Добавени са нови фърмуери GuC за SKL, BXT, KBL, GLK и ICL. Реализирана е възможност за автоматично изключване на захранването на екрана в асинхронен режим
  • В драйвера Nouveau е осигурено разпознаването на чипсета NVIDIA Turing TU116
  • Разширени са възможностите на DRM/KMS драйвера за ускорителя на екранните операции ARM Komeda (Mali D71). Добавена е поддръжката на мащабиране, разделяне и сливане на слоевете, завъртане, AFBC, SMMU и форматите Y0L2, P010 и YUV420_8/10BIT за кодиране на цветовете
  • В драйвера MSM е добавен поддръжката на серията A540 GPU Adreno, използвана в процесорите на Qualcomm, както и поддръжката на DSI контролера MSM8998 за Snapdragon 835
  • Добавени са необходимите драйвери за LCD панелите Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS, Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 и VXT VL050-8048NT-C01
  • Добавен е драйвер за използване на хардуерното декодиране на видео за SoC Amlogic Meson
  • В драйвера v3d (за GPU Broadcom Video Core V, използван в Raspberry Pi) по нов начин се използват изчислителните шейдъри
  • Добавен е нов драйвер за SPI клавиатурите и тракпадовете, използвани в съвременните модели Apple MacBook и MacBookPro
  • Добавен е cpufreq драйвер за Raspberry Pi, позволяващ динамичната промяна на честотата на процесора
  • Добавена е поддръжката на нови ARM системи върху чипа: Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) и Amlogic G12B (4x Cortex-A73 + 2x Cortex-A53), както и за следните платки:

 

  • Purism Librem5,
  • Aspeed BMC,
  • Microsoft Olympus BMC,
  • Kontron SMARC,
  • Novtech Meerkat96 (i.MX7),
  • ST Micro Avenger96,
  • Google Cheza (Qualcomm SDM845),
  • Qualcomm Dragonboard 845c (Qualcomm SDM845),
  • Hugsun X99 TV Box (Rockchip RK3399),
  • Khadas Edge/Edge-V/Captain (Rockchip RK3399),
  • HiHope RZ/G2M,
  • NXP LS1021A-TSN.

 

 

Както обикновена, едновременно с това латиноамериканската фондация за свободен софтуер представи и версия на абсолютно свободното Linux ядро 5.3 – Linux-libre 5.3-gnu, в което няма софтуерни елементи от фърмуери и драйвери, съдържащи несвободни участъци код или тяхното използване изцяло или частично е ограничено от производителя. В тази версия е изключено зареждането на блобове в драйверите qcom, hdcp drm, allegro-dvt и meson-vdec. Обновен е кода за изчистване на блобовете в драйверите и подсистемите i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, звуковия драйвер за skylake, както и в документацията на микрокода.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

13 Коментара
стари
нови оценка

Нови ревюта

Подобни новини