Какво ново предлага Linux ядрото версия 5.0
.td_uid_42_5c80bed3cadeb_rand.td-a-rec-img{text-align:left}.td_uid_42_5c80bed3cadeb_rand.td-a-rec-img img{margin:0 auto 0 0}
След два месеца работа Линус Торвалдс показа Linux Kernel 5.0. Най-характерните промени в Linux ядрото версия 5.0 са криптирането Adiantum за файловите системи, енергийно ефикасният Task Scheduler на Android за ARM big.LITTLE процесорите, в драйвера AMDGPU е добавена поддръжката на технологията FreeSync, осъществена е поддръжката на файловата система BinderFS, Swap файлът към този момент може да се слага в Btrfs, в UDP е добавена поддръжката на флаговете MSG_ZEROCOPY и GRO (Generic Receive Offload) и други.
Значителната смяна на номера на версията на Linux ядрото не е симптом за някакви особени промени. Избрана е 5.0 от чисто естетически съображения, тъй като в 4.х ядрата са се натрупали прекалено много версии, задоволителни за започването на нова номерация на кернела. Смяната на първата цифра във версиите на Linux ядрото е официална стъпка, премахваща дискомфорта от натрупването на прекалено много версии. Да си напомним, че преходът към линията 3.х бе сбъднат през 2011 година, когато в клона 2.6.x се натрупаха 39 версии, а 4.х бе основана през 2015 година след 20-те разновидността на 3.х. Версия 5.0 продължава тази логичност, като към сегашен ден Linux ядрото включва към 6,5 милиона git обекта.
Основни нововъведения
Виртуализация и безопасностДобавен е създаденият от Гугъл механизъм Adiantum за криптиране на файловите системи. Той е изключително комфортен за маломощните компютърни устройства, които нямат задоволителен запас за потреблението на AES логаритъма. Поддръжката на Adiantum е добавена в подсистемата fscrypt, която се употребява за транспарантното криптиране и декриптиране на файловете и досиетата във файловите системи ext4, f2fs и ubifs. Тестовете на устройства с процесорни ядра ARM Cortex-A7 демонстрираха, че логаритмите Adiantum са 4 пъти по-бързи при криптирането и 5 пъти по-бързи при декриптирането спрямо AES-256-XTSВ криптографската подсистема е добавена хеш функционалността StreebogДобавена е поддръжката на масиви NVM с вградени интервенции за обезпечаване на сигурността – да вземем за пример, отбраната на данните с паролаИнтегрирана е част от пачовете за блокиране заобикалянето на рестриктивните мерки на UEFI Secure BootПреработени са извикванията на всички функционалности в някои подсистеми за да се минимизира забавянето на процесорите от потреблението на отбраната retpoline. За блокиране на офанзивите от вид Spectre v2, вместо косвени, в този момент се употребяват директни способи, при които не се употребява механизма за спекулативно осъществяване на инструкциите и не се основават изискванията, нужни за сполучливото използване на атакатаВ virtio-gpu драйвера (виртуалния графичен процесор, разработван в границите на плана Virgil) е добавена поддръжката на симулацията на EDID метаданните, което разрешава в системата посетител да се получи информация за опциите на виртуалния мониторДискова подсистема, вход/изход и файлови системиДадена е опция за слагането на Swap файла във файловата система Btrfs. Файлът би трябвало да се намира единствено на едно физическо устройство и не би трябвало да е в компресиран дялРеализирана е поддръжката на псевдо файловата система BinderFS за механизма на междупроцесорното взаимоотношение Binder. BinderFS разрешава стартирането на няколко Android сесии в една и съща средаВъв файловата система F2FS е добавено извикването ioctl(F2FS_IOC_SHUTDOWN) с байрак NEED_FSCK за иницииране на отсроченото осъществяване на fsckНаправени са редица оптимизации на файловите системи Ext4 и XFSМрежова подсистемаЗа UDP е осъществена опцията за изпращане на данни посредством мрежовите пакети в zero-copy режим, което дава опция за продан на данни без междинно буфериране. Поддръжката на zero-copy в TCP се появи в Linux ядрото версия 4.14В UDP стека е осъществена базовата поддръжка на GRO (Generic Receive Offload) за ускорената обработка на огромен брой входящи пакети. В тестванията, включването на GRO увеличи пропускателната дарба от 1079 MB/s до 1466 MB/s, като по едно и също време с това интензивността на мрежовите поръчки към ядрото е намляла от 769065 на 24877 поръчки в секундаРеализирана е поддръжката на обработката на ICMP грешките в UDP тунелиранетоПамет и систематични услуги
.td_uid_41_5c80bed3ca97b_rand.td-a-rec-img{text-align:left}.td_uid_41_5c80bed3ca97b_rand.td-a-rec-img img{margin:0 auto 0 0} Реализиран е нов режим на работа на Task Scheduler за асиметричните ARM процесори с big.LITTLE архитектура, в които са комбинирани бързи процесорни ядра с икономични ядра. Новият режим понижава потреблението на електрическа сила с помощта на първичното потребление на икономичните ядра, които употребяват по-малко сила, и привличане на бързите ядра единствено когато продуктивността на икономичните не е задоволителна. Тази опция е пренесена от разновидността на ядрото за операционната система Android.За ARM64 архитектурата е обезпечена поддръжката на систематичното извикване kexec_file_load() и 52-битовото адресиране на виртуалната памет в потребителското пространствоЗа 32-битовите системи са осъществени разновидности на 64-битовите версии на систематичните извиквания ppoll(), pselect6(), io_pgetevents(), recvmmsg(), futex() и rt_sigtimedwait(), кото не засягат казуса с 2038 годинаЗа конзолата е прибавен по-големия шрифт Terminus (ter16x32), подобаващ за екрани с висока компактност на пикселите (HiDPI)За C-SKY архитектурата е осъществена поддръжката на гореща подмяна на процесора (hotplugging)Добавена е поддръжката на процесорната директива WBNOINVD, налична в AMD и Intel процесорите с архитектура x86_64Добавена е поддръжката на разширената група указания „Platform Quality of Service“ (AMD QoS) за AMD64 архитектурата, осъществена в идващото потомство процесори AMD EPYC. Тези указания дават опция за мониторинг на потреблението на обособените процесорни запаси – да вземем за пример, разпределението на L3 кеша, обезпечаването на висока пропускателна дарба на паметта и установяване на целите сред кода и данните в кешаХардуерВ AMDGPU драйвера е добавена поддръжката на технологията за адаптивна синхронизация FreeSync (VESA Adaptive-Sync), която дава опция за промяна на кадровата периодичност на монитора според от обновяването на фрагментите от страна на графичната карта. По този метод се реализира гладко изображение, най-малък отклик и неналичието на лагове при игрите. FreeSync понижава потреблението на сила, тъй като не се постанова постоянно възобновяване на фрагментите при статичните изображения на екранаВ AMDGPU е добавена поддръжката на KFD (Kernel Fusion Driver) за чиповете vega12 и polaris12. Подобрен е кодът за зареждане на микрокод. Добавени са новите идентификатори на видеокартитеВ DRM драйвера на Intel е усъвършенствана поддръжката на процесорите IcelakeВ драйверите за чиповете Tegra186 и Tegra194 е добавена поддръжката на прехвърлянето на аудиото посредством HDMI интерфейсаВ драйвера v3d (за GPU Broadcom Video Core V) е включена поддръжката на TFU (Texture Formatting Unit)В драйвера Nouveau е добавена началната поддръжка на графичните процесори NVIDIA Turing TU104 и TU106 (GeForce RTX 2000)Реализирана е поддръжката на технологията DSC (Display Stream Compression), избрана в VESA DP 1.4 спецификацията. Тази технология дава средства за компресия на данните без загуби, при обмена на данни с екрани, поддържащи доста огромна резолюцияДобавен е нов драйвер за сензорните екрани на Raspberry PiДобавена е поддръжката на новите ARM системи върху чипа Qualcomm QCS404 (4x Cortex-A53), Allwinner T3 (R40) и f1c100s (armv5), NXP/Freescale i.MX7ULP (1x Cortex-A7 + 1x Cortex-M4), NXP LS1028A (2x Cortex-A72), LX2160A (16x Cortex-A72), NXP LX2160AQDS, NXP LX2160ARDB, i.MX8 (NXP, 4x Cortex-A53 + Cortex-M4), RDA Micro RDA8810PLДобавена е поддръжката на новите ARM платформи и платки Rockchip Gru Scarlet (RK3188 Tablet), Phicomm N1 (Amlogic S905D), Libretech S805-AC, Linksys EA6500 v2 Wi-Fi router (BCM4708), Фейсбук Backpack-CMM BMC, Renesas iWave G20D-Q7 (RZ/G1N), Allwinner t3-cqa3t-bv3 (T3/R40), Lichee Pi Nano (F1C100s), Allwinner Emlid Neutis N5, Mapleboard MP130, Marvell Macchiatobin Single Shot (Armada 8040), i.MX mtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva, i.MX7D PICO Hobbit, BQ Edison 2 QC, OrangePi Lite2, OrangePi 2G и OrangePi i96
Едновременно с това, Латиноамериканската фондация за свободен програмен продукт образува версии с изцяло свободното Linux ядро 5.0. Това е ядрото Linux-libre 5.0-gnu , изчистено от каквито и да било детайли, сектори сорс код, фърмуери и драйвери, съдържащи несвободни блокове код или региона на потребление на които е лимитирана от производителя.
В тази версия е изключено запитването на блобовете в драйвера ipu3-imgu. Обновен е кодът за изчистване на блобовете в подсистемите amdgpu, adreno, tegra, bnx2x, iwlwifi, mt76x0, qtnfmac, както и в софтуерните съставни елементи за поддръжката на аудио в системите върху чипа на Intel. Прекратено е изчистването на блобовете в драйвера Eicon DIVA ISDN, който към този момент е отстранен от ядрото. Да отбележим и самодейността libeRTy за основаването на Libre вид на Linux ядрото с пачовете PREEMPT_RT за обезпечаването на специфичен режим за работа в действително време.
.td_uid_43_5c80bed3cb1a3_rand.td-a-rec-img{text-align:left}.td_uid_43_5c80bed3cb1a3_rand.td-a-rec-img img{margin:0 auto 0 0}
След два месеца работа Линус Торвалдс показа Linux Kernel 5.0. Най-характерните промени в Linux ядрото версия 5.0 са криптирането Adiantum за файловите системи, енергийно ефикасният Task Scheduler на Android за ARM big.LITTLE процесорите, в драйвера AMDGPU е добавена поддръжката на технологията FreeSync, осъществена е поддръжката на файловата система BinderFS, Swap файлът към този момент може да се слага в Btrfs, в UDP е добавена поддръжката на флаговете MSG_ZEROCOPY и GRO (Generic Receive Offload) и други.
Значителната смяна на номера на версията на Linux ядрото не е симптом за някакви особени промени. Избрана е 5.0 от чисто естетически съображения, тъй като в 4.х ядрата са се натрупали прекалено много версии, задоволителни за започването на нова номерация на кернела. Смяната на първата цифра във версиите на Linux ядрото е официална стъпка, премахваща дискомфорта от натрупването на прекалено много версии. Да си напомним, че преходът към линията 3.х бе сбъднат през 2011 година, когато в клона 2.6.x се натрупаха 39 версии, а 4.х бе основана през 2015 година след 20-те разновидността на 3.х. Версия 5.0 продължава тази логичност, като към сегашен ден Linux ядрото включва към 6,5 милиона git обекта.
Основни нововъведения
Виртуализация и безопасностДобавен е създаденият от Гугъл механизъм Adiantum за криптиране на файловите системи. Той е изключително комфортен за маломощните компютърни устройства, които нямат задоволителен запас за потреблението на AES логаритъма. Поддръжката на Adiantum е добавена в подсистемата fscrypt, която се употребява за транспарантното криптиране и декриптиране на файловете и досиетата във файловите системи ext4, f2fs и ubifs. Тестовете на устройства с процесорни ядра ARM Cortex-A7 демонстрираха, че логаритмите Adiantum са 4 пъти по-бързи при криптирането и 5 пъти по-бързи при декриптирането спрямо AES-256-XTSВ криптографската подсистема е добавена хеш функционалността StreebogДобавена е поддръжката на масиви NVM с вградени интервенции за обезпечаване на сигурността – да вземем за пример, отбраната на данните с паролаИнтегрирана е част от пачовете за блокиране заобикалянето на рестриктивните мерки на UEFI Secure BootПреработени са извикванията на всички функционалности в някои подсистеми за да се минимизира забавянето на процесорите от потреблението на отбраната retpoline. За блокиране на офанзивите от вид Spectre v2, вместо косвени, в този момент се употребяват директни способи, при които не се употребява механизма за спекулативно осъществяване на инструкциите и не се основават изискванията, нужни за сполучливото използване на атакатаВ virtio-gpu драйвера (виртуалния графичен процесор, разработван в границите на плана Virgil) е добавена поддръжката на симулацията на EDID метаданните, което разрешава в системата посетител да се получи информация за опциите на виртуалния мониторДискова подсистема, вход/изход и файлови системиДадена е опция за слагането на Swap файла във файловата система Btrfs. Файлът би трябвало да се намира единствено на едно физическо устройство и не би трябвало да е в компресиран дялРеализирана е поддръжката на псевдо файловата система BinderFS за механизма на междупроцесорното взаимоотношение Binder. BinderFS разрешава стартирането на няколко Android сесии в една и съща средаВъв файловата система F2FS е добавено извикването ioctl(F2FS_IOC_SHUTDOWN) с байрак NEED_FSCK за иницииране на отсроченото осъществяване на fsckНаправени са редица оптимизации на файловите системи Ext4 и XFSМрежова подсистемаЗа UDP е осъществена опцията за изпращане на данни посредством мрежовите пакети в zero-copy режим, което дава опция за продан на данни без междинно буфериране. Поддръжката на zero-copy в TCP се появи в Linux ядрото версия 4.14В UDP стека е осъществена базовата поддръжка на GRO (Generic Receive Offload) за ускорената обработка на огромен брой входящи пакети. В тестванията, включването на GRO увеличи пропускателната дарба от 1079 MB/s до 1466 MB/s, като по едно и също време с това интензивността на мрежовите поръчки към ядрото е намляла от 769065 на 24877 поръчки в секундаРеализирана е поддръжката на обработката на ICMP грешките в UDP тунелиранетоПамет и систематични услуги
.td_uid_41_5c80bed3ca97b_rand.td-a-rec-img{text-align:left}.td_uid_41_5c80bed3ca97b_rand.td-a-rec-img img{margin:0 auto 0 0} Реализиран е нов режим на работа на Task Scheduler за асиметричните ARM процесори с big.LITTLE архитектура, в които са комбинирани бързи процесорни ядра с икономични ядра. Новият режим понижава потреблението на електрическа сила с помощта на първичното потребление на икономичните ядра, които употребяват по-малко сила, и привличане на бързите ядра единствено когато продуктивността на икономичните не е задоволителна. Тази опция е пренесена от разновидността на ядрото за операционната система Android.За ARM64 архитектурата е обезпечена поддръжката на систематичното извикване kexec_file_load() и 52-битовото адресиране на виртуалната памет в потребителското пространствоЗа 32-битовите системи са осъществени разновидности на 64-битовите версии на систематичните извиквания ppoll(), pselect6(), io_pgetevents(), recvmmsg(), futex() и rt_sigtimedwait(), кото не засягат казуса с 2038 годинаЗа конзолата е прибавен по-големия шрифт Terminus (ter16x32), подобаващ за екрани с висока компактност на пикселите (HiDPI)За C-SKY архитектурата е осъществена поддръжката на гореща подмяна на процесора (hotplugging)Добавена е поддръжката на процесорната директива WBNOINVD, налична в AMD и Intel процесорите с архитектура x86_64Добавена е поддръжката на разширената група указания „Platform Quality of Service“ (AMD QoS) за AMD64 архитектурата, осъществена в идващото потомство процесори AMD EPYC. Тези указания дават опция за мониторинг на потреблението на обособените процесорни запаси – да вземем за пример, разпределението на L3 кеша, обезпечаването на висока пропускателна дарба на паметта и установяване на целите сред кода и данните в кешаХардуерВ AMDGPU драйвера е добавена поддръжката на технологията за адаптивна синхронизация FreeSync (VESA Adaptive-Sync), която дава опция за промяна на кадровата периодичност на монитора според от обновяването на фрагментите от страна на графичната карта. По този метод се реализира гладко изображение, най-малък отклик и неналичието на лагове при игрите. FreeSync понижава потреблението на сила, тъй като не се постанова постоянно възобновяване на фрагментите при статичните изображения на екранаВ AMDGPU е добавена поддръжката на KFD (Kernel Fusion Driver) за чиповете vega12 и polaris12. Подобрен е кодът за зареждане на микрокод. Добавени са новите идентификатори на видеокартитеВ DRM драйвера на Intel е усъвършенствана поддръжката на процесорите IcelakeВ драйверите за чиповете Tegra186 и Tegra194 е добавена поддръжката на прехвърлянето на аудиото посредством HDMI интерфейсаВ драйвера v3d (за GPU Broadcom Video Core V) е включена поддръжката на TFU (Texture Formatting Unit)В драйвера Nouveau е добавена началната поддръжка на графичните процесори NVIDIA Turing TU104 и TU106 (GeForce RTX 2000)Реализирана е поддръжката на технологията DSC (Display Stream Compression), избрана в VESA DP 1.4 спецификацията. Тази технология дава средства за компресия на данните без загуби, при обмена на данни с екрани, поддържащи доста огромна резолюцияДобавен е нов драйвер за сензорните екрани на Raspberry PiДобавена е поддръжката на новите ARM системи върху чипа Qualcomm QCS404 (4x Cortex-A53), Allwinner T3 (R40) и f1c100s (armv5), NXP/Freescale i.MX7ULP (1x Cortex-A7 + 1x Cortex-M4), NXP LS1028A (2x Cortex-A72), LX2160A (16x Cortex-A72), NXP LX2160AQDS, NXP LX2160ARDB, i.MX8 (NXP, 4x Cortex-A53 + Cortex-M4), RDA Micro RDA8810PLДобавена е поддръжката на новите ARM платформи и платки Rockchip Gru Scarlet (RK3188 Tablet), Phicomm N1 (Amlogic S905D), Libretech S805-AC, Linksys EA6500 v2 Wi-Fi router (BCM4708), Фейсбук Backpack-CMM BMC, Renesas iWave G20D-Q7 (RZ/G1N), Allwinner t3-cqa3t-bv3 (T3/R40), Lichee Pi Nano (F1C100s), Allwinner Emlid Neutis N5, Mapleboard MP130, Marvell Macchiatobin Single Shot (Armada 8040), i.MX mtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva, i.MX7D PICO Hobbit, BQ Edison 2 QC, OrangePi Lite2, OrangePi 2G и OrangePi i96
Едновременно с това, Латиноамериканската фондация за свободен програмен продукт образува версии с изцяло свободното Linux ядро 5.0. Това е ядрото Linux-libre 5.0-gnu , изчистено от каквито и да било детайли, сектори сорс код, фърмуери и драйвери, съдържащи несвободни блокове код или региона на потребление на които е лимитирана от производителя.
В тази версия е изключено запитването на блобовете в драйвера ipu3-imgu. Обновен е кодът за изчистване на блобовете в подсистемите amdgpu, adreno, tegra, bnx2x, iwlwifi, mt76x0, qtnfmac, както и в софтуерните съставни елементи за поддръжката на аудио в системите върху чипа на Intel. Прекратено е изчистването на блобовете в драйвера Eicon DIVA ISDN, който към този момент е отстранен от ядрото. Да отбележим и самодейността libeRTy за основаването на Libre вид на Linux ядрото с пачовете PREEMPT_RT за обезпечаването на специфичен режим за работа в действително време.
.td_uid_43_5c80bed3cb1a3_rand.td-a-rec-img{text-align:left}.td_uid_43_5c80bed3cb1a3_rand.td-a-rec-img img{margin:0 auto 0 0}
Източник: kaldata.com
КОМЕНТАРИ




