Издање језгра Линука 5.11

Након два месеца развоја, Линус Торвалдс је представио издање Линук кернела 5.11. Међу најзначајнијим променама: подршка за Интел СГКС енклаве, нови механизам за пресретање системских позива, виртуелна помоћна магистрала, забрана склапања модула без МОДУЛЕ_ЛИЦЕНСЕ(), режим брзог филтрирања за системске позиве у сеццомп-у, укидање подршке за иа64 архитектура, трансфер ВиМАКС технологије у грану „стаге“, могућност енкапсулације СЦТП-а у УДП.

Нова верзија укључује 15480 исправки од 1991 програмера, величина закрпе је 72 МБ (промене су утицале на 12090 датотека, додато је 868025 линија кода, 261456 линија је обрисано). Око 46% свих промена уведених у 5.11 односи се на драјвере уређаја, отприлике 16% промена се односи на ажурирање кода специфичног за хардверске архитектуре, 13% се односи на мрежни стек, 3% на систем датотека и 4% односе се на унутрашње подсистеме кернела.

Главне иновације:

  • Дисковни подсистем, И/О и системи датотека
    • Неколико опција монтирања је додато у Бтрфс за коришћење приликом враћања података из оштећеног система датотека: „ресцуе=игноребадроотс“ за монтирање, упркос оштећењу неких коренских стабала (ектент, ууид, дата релоц, уређај, цсум, слободан простор), “ ресцуе=игноредатацсумс“ да онемогућите проверу контролне суме за податке и „ресцуе=алл“ да истовремено омогућите режиме „игноребадроотс“, „игноредатацсумс“ и „нологреплаи“. Опција монтирања „иноде_цацхе“, која је раније била застарела, је укинута. Код је припремљен да имплементира подршку за блокове са метаподацима и подацима мањим од величине странице (ПАГЕ_СИЗЕ), као и подршку за режим зониране алокације простора. Захтеви без баферова (Директни ИО) су премештени у иомап инфраструктуру. Перформансе бројних операција су оптимизоване, у неким случајевима убрзање може достићи десетине процената.
    • КСФС имплементира ознаку "неедсрепаир", која сигнализира потребу за поправком. Када је ова заставица постављена, систем датотека се не може монтирати све док услужни програм кфс_репаир не ресетује заставицу.
    • Ект4 нуди само исправке грешака и оптимизације, као и чишћење кода.
    • Поновни извоз система датотека монтираних преко НФС-а је дозвољен (тј. партиција монтирана преко НФС-а сада може да се извози преко НФС-а и користи као посредни кеш).
    • Системски позив цлосе_ранге(), који омогућава процесу да затвори читав низ отворених дескриптора датотека одједном, додао је опцију ЦЛОСЕ_РАНГЕ_ЦЛОЕКСЕЦ за затварање дескриптора у режиму затварања на извршавање.
    • Ф2ФС систем датотека додаје нове иоцтл() позиве да би омогућио контролу корисничког простора над тим које датотеке се чувају у компримованом облику. Додата је опција монтирања „цомпресс_моде=" за избор да ли да се руковалац компресије постави на страну кернела или у кориснички простор.
    • Обезбеђена могућност монтирања Оверлаиф-ова од стране непривилегованих процеса користећи посебан кориснички простор имена. Да би се проверила усклађеност са имплементацијом безбедносног модела, извршена је ревизија пуног кода. Оверлаифс такође додаје могућност покретања помоћу копија слика система датотека тако што опционо онемогућава проверу УУИД-а.
    • Цепх систем датотека је додао подршку за мсгр2.1 протокол, који омогућава коришћење АЕС-ГЦМ алгоритма приликом преноса података у шифрованом облику.
    • Модул дм-мултипатх имплементира могућност да се узме у обзир афинитет ЦПУ-а („ИО афинитет“) када се бира рута за И/О захтеве.
  • Меморијске и системске услуге
    • Додан је нови механизам пресретања системског позива, заснован на прцтл(), који вам омогућава да генеришете изузетке из корисничког простора када приступате одређеном системском позиву и емулирате његово извршење. Ова функционалност је потребна у Вине и Протон-у за емулацију Виндовс системских позива, што је неопходно да би се обезбедила компатибилност са играма и програмима који директно обављају системске позиве заобилазећи Виндовс АПИ (на пример, ради заштите од неовлашћене употребе).
    • Системски позив усерфаултфд(), дизајниран за руковање грешкама страница (приступ недодељеним меморијским страницама) у корисничком простору, сада има могућност да онемогући руковање изузетцима до којих долази на нивоу кернела како би се отежало искоришћавање одређених рањивости.
    • БПФ подсистем има додатну подршку за локалну меморију задатака, која обезбеђује везивање података за одређени БПФ руковалац.
    • Обрачун потрошње меморије од стране БПФ програма је потпуно редизајниран - уместо мемлоцк рлимит-а је предложен цгроуп контролер за управљање коришћењем меморије у БПФ објектима.
    • Механизам БТФ (БПФ Типе Формат), који обезбеђује информације о провери типа у БПФ псеудокоду, обезбеђује подршку за модуле кернела.
    • Додата подршка за схутдовн(), ренамеат2() и унлинкат() системске позиве за ио_уринг асинхрони И/О интерфејс. Приликом позивања ио_уринг_ентер(), додата је могућност да одредите временско ограничење (можете проверити подршку за аргумент да бисте навели временско ограничење помоћу ознаке ИОРИНГ_ФЕАТ_ЕКСТ_АРГ).
    • Архитектура иа64 која се користи у Интел Итаниум процесорима је премештена у категорију без родитеља, што значи да је тестирање престало. Хевлетт Пацкард Ентерприсе је престао да прима поруџбине за нову Итаниум опрему, а Интел је то учинио прошле године.
    • Подршка за системе засноване на МицроБлазе архитектури који не укључују јединицу за управљање меморијом (ММУ) је укинута. Овакви системи одавно нису виђени у свакодневном животу.
    • За МИПС архитектуру, подршка за тестирање покривености кода је додата помоћу услужног програма гцов.
    • Додата подршка за виртуелну помоћну магистралу за повезивање са мултифункционалним уређајима који комбинују функционалност која захтева различите драјвере (на пример, мрежне картице са подршком за Етхернет и РДМА). Сабирница се може користити за додељивање примарног и секундарног драјвера уређају, у ситуацијама када је употреба МФД (Мулти-Фунцтион Девицес) подсистема проблематична.
    • За РИСЦ-В архитектуру, додата је подршка за ЦМА (Цонтигуоус Мемори Аллоцатор) систем алокације меморије, који је оптимизован за доделу великих суседних меморијских области коришћењем техника кретања меморијских страница. За РИСЦ-В, алати су такође имплементирани за ограничавање приступа /дев/мем и узимање у обзир времена обраде прекида.
    • За 32-битне АРМ системе, додата је подршка за КАСан (Кернел аддресс санитизер) алат за отклањање грешака, који помаже у идентификацији грешака при раду са меморијом. За 64-битни АРМ, КАСан имплементација је конвертована да користи МТЕ ознаке (МемТаг).
    • Додан системски позив еполл_пваит2() да би се омогућило временско ограничење са прецизношћу у наносекундама (позив еполл_ваит манипулише милисекундама).
    • Систем изградње сада приказује грешку када покушава да направи модуле кернела који се могу учитати у којима лиценца кода није дефинисана помоћу макроа МОДУЛЕ_ЛИЦЕНСЕ(). Од сада, коришћење макроа ЕКСПОРТ_СИМБОЛ() за статичке функције ће такође узроковати грешку у изградњи.
    • Додата подршка за мапирање ГЕМ објеката из меморије која се користи за И/О, што је омогућило да се убрза рад са бафером оквира на неким архитектурама.
    • Кцонфиг је укинуо подршку за Кт4 (док је задржао подршку за Кт5, ГТК и Нцурсес).
  • Виртуелизација и безбедност
    • Подршка за режим брзог одговора је додата у системски позив сеццомп(), који вам омогућава да врло брзо утврдите да ли је одређени системски позив дозвољен или забрањен на основу битмапа са константном радњом прикаченог процесу, који не захтева покретање БПФ руковалац.
    • Интегрисане компоненте кернела за креирање и управљање енклавама засноване на Интел СГКС (Софтваре Гуард еКстенсионс) технологији, која омогућава апликацијама да извршавају код у изолованим шифрованим областима меморије, којима остатак система има ограничен приступ.
    • Као део иницијативе за ограничавање приступа из корисничког простора МСР-у (регистру специфичном за модел), уписивање у регистар МСР_ИА32_ЕНЕРГИ_ПЕРФ_БИАС, који вам омогућава да промените режим енергетске ефикасности процесора („нормално“, „перформансе“, „уштеда енергије“) , Забрањено је.
    • Могућност да се онемогући миграција задатака високог приоритета између ЦПУ-а је премештена из кернел-рт гране за системе у реалном времену.
    • За АРМ64 системе, додата је могућност коришћења МТЕ ознака (МемТаг, Мемори Таггинг Ектенсион) за меморијске адресе руковаоца сигналом. Употреба МТЕ је омогућена навођењем опције СА_ЕКСПОСЕ_ТАГБИТС у сигацтион() и омогућава вам да проверите исправну употребу показивача за блокирање искоришћавања рањивости узрокованих приступом већ ослобођеним меморијским блоковима, преливањем бафера, приступима пре иницијализације и коришћењем изван тренутни контекст.
    • Додат је параметар „ДМ_ВЕРИТИ_ВЕРИФИ_РООТХАСХ_СИГ_СЕЦОНДАРИ_КЕИРИНГ“, који омогућава дм-верити подсистему да проверава хеш потписе сертификата смештених у секундарни прстен кључева. У пракси, подешавање вам омогућава да верификујете не само сертификате уграђене у кернел, већ и сертификате учитане током рада, што омогућава ажурирање сертификата без ажурирања целог кернела.
    • Линук у корисничком режиму је додао подршку за режим мировања у мировању, који вам омогућава да замрзнете окружење и користите сигнал СИГУСР1 да бисте се пробудили из режима спавања.
    • Механизам виртио-мем, који вам омогућава вруће укључивање и искључивање меморије са виртуелних машина, има додатну подршку за Биг Блоцк Моде (ББМ), што омогућава пренос или преузимање меморије у блоковима већим од величине меморије кернела блок, који је неопходан за оптимизацију ВФИО у КЕМУ.
    • Подршка за ЦХАЦХА20-ПОЛИ1305 шифру је додата имплементацији ТЛС-а језгра.
  • Мрежни подсистем
    • За 802.1К (ВЛАН) имплементиран је механизам за управљање грешком конекције (ЦФМ, Цоннецтивити Фаулт Манагемент), који вам омогућава да идентификујете, верификујете и изолујете кварове у мрежама са виртуелним мостовима (Виртуал Бридгед Нетворкс). На пример, ЦФМ се може користити за изоловање проблема у мрежама које обухватају више независних организација чији запослени имају приступ само сопственој опреми.
    • Додата подршка за инкапсулирање пакета СЦТП протокола у УДП пакете (РФЦ 6951), што вам омогућава да користите СЦТП на мрежама са старијим преводиоцима адреса који не подржавају директно СЦТП, као и да имплементирате СЦТП на системе који не пружају директан приступ ИП-у слој.
    • Имплементација ВиМАКС технологије је премештена у фазу и биће уклоњена у будућности ако нема корисника којима је потребан ВиМАКС. ВиМАКС се више не користи у јавним мрежама, а у кернелу једини драјвер са којим се ВиМАКС може користити је застарели Интел 2400м драјвер. Подршка за ВиМАКС је укинута у мрежном конфигуратору НетворкМанагер 2015. године. Тренутно је ВиМак скоро у потпуности замењен технологијама као што су ЛТЕ, ХСПА+ и Ви-Фи 802.11н.
    • Урађено је на оптимизацији перформанси обраде долазног ТЦП саобраћаја у режиму зерокопије, тј. без додатног копирања у нове бафере. За саобраћај средње величине, који покрива десетине или неколико стотина килобајта података, приметно је ефикасније коришћење зероцопи уместо рецвмсг(). На пример, примењене промене су омогућиле повећање ефикасности обраде саобраћаја у стилу РПЦ са 32 КБ порукама када се користи нулта копија за 60-70%.
    • Додати нови иоцтл() позиви за креирање мрежних мостова који обухватају више ППП веза. Предложена могућност омогућава премештање оквира са једног канала на други, на пример са ПППоЕ на ПППоЛ2ТП сесију.
    • Интеграција у језгро МПТЦП (МултиПатх ТЦП), проширење ТЦП протокола за организовање рада ТЦП везе са испоруком пакета истовремено дуж неколико рута кроз различите мрежне интерфејсе повезане са различитим ИП адресама. Ново издање уводи подршку за опцију АДД_АДДР за оглашавање доступних ИП адреса на које се могу повезати приликом додавања нових токова у постојећу МПТЦП везу.
    • Додата је могућност конфигурисања радњи када је буџет за испитивање везе прекорачен (заузето анкетирање). Раније доступан режим СО_БУСИ_ПОЛЛ значио је прелазак на софтирк када је буџет исцрпљен. За апликације које треба да наставе да користе анкетирање, предложена је нова опција СО_ПРЕФЕР_БУСИ_ПОЛЛ.
    • ИПв6 имплементира подршку за СРв6 Енд.ДТ4 и Енд.ДТ6 режиме, који се користе за креирање вишекорисничких ИПв4 Л3 ВПН-ова и ВРФ (виртуелно рутирање и прослеђивање) уређаја.
    • Нетфилтер је објединио имплементацију скупова израза, што је омогућило навођење више израза за сваки елемент листе скупова.
    • АПИ-ји су додати бежичном стеку 802.11 да би се конфигурисала ограничења САР снаге, као и АЕ ПВЕ и ХЕ МЦС параметри. Интел ивлвифи драјвер је додао подршку за опсег од 6 ГХз (Ултра Хигх Банд). Куалцомм Атх11к драјвер је додао подршку за ФИЛС (Фаст Инитиал Линк Сетуп, стандардизовану као ИЕЕЕ 802.11аи) технологију, која вам омогућава да се решите кашњења у ромингу током миграције са једне приступне тачке на другу.
  • Оборудование
    • Амдгпу драјвер обезбеђује подршку за АМД „Греен Сардине“ АПУ (Ризен 5000) и „Димгреи Цавефисх“ ГПУ (Нави 2), као и почетну подршку за АМД Ван Гогх АПУ са Зен 2 језгром и РДНА 2 ГПУ (Нави 2). Додата подршка за нове Реноир АПУ идентификаторе (засноване на Зен 2 ЦПУ-у и Вега ГПУ-у).
    • и915 драјвер за Интел видео картице подржава ИС (Интегер сцалинг) технологију са имплементацијом филтера за повећање скале узимајући у обзир стање суседних пиксела (Интерполација најближег суседа) да би се одредила боја пиксела који недостају. Подршка за дискретне Интел ДГ1 картице је проширена. Имплементирана је подршка за технологију „Биг Јоинер“, која је присутна још од чипова Ице Лаке/Ген11 и омогућава коришћење једног транскодера за обраду два тока, на пример, за излаз на 8К екран преко једног ДисплаиПорт-а. Додан режим за асинхроно пребацивање између два бафера у видео меморији (асинхроно окретање).
    • Ноувеау драјвер је додао почетну подршку за НВИДИА ГПУ засноване на Ампере микроархитектури (ГА100, ГеФорце РТКС 30кк), до сада ограничену на алате за контролу видео режима.
    • Додата подршка за 3ВИРЕ протокол који се користи у ЛЦД панелима. Додата подршка за новатек нт36672а, ТДО тл070всх30, Иннолук Н125ХЦЕ-ГН1 и АБТ И030КСКС067А 3.0 панеле. Одвојено, можемо приметити подршку за панел ОнеПлус 6 и 6Т паметних телефона, што је омогућило организовање учитавања неизмењеног кернела на уређаје.
    • Додата подршка за Интел-ов први дискретни УСБ4 хост контролер, Мапле Ридге.
    • Додата подршка за Аллвиннер Х6 И2С, Аналог Девицес АДАУ1372, Интел Алдерлаке-С, ГМедиатек МТ8192, НКСП и.МКС ХДМИ и КСЦВР, Реалтек РТ715 и Куалцомм СМ8250 аудио кодеке.
    • Додата подршка за АРМ плоче, уређаје и платформе: Галаки Ноте 10.1, Мицрософт Лумиа 950 КСЛ, НаноПи Р1, ФриендлиАрм ЗероПи, Елимо Инитиум СБЦ, Броадцом БЦМ4908, Медиатек МТ8192/МТ6779/МТ8167, МСтар Нумиа 2 Мар 730ЦМ, 382ЦМ ​Микротик базиран на Марвелл Престера 98ДКС3236, сервери са Нувотон НПЦМ750 БМЦ, Контрон и.МКС8М Мини, Еспрессобин Ултра, „Трогдор“ Цхромебоок, Кобол Хелиос64, Енгицам ПКС30.Цоре.
    • Уграђена подршка за Оуиа играчку конзолу засновану на НВИДИА Тегра 3.

Истовремено, Латиноамеричка фондација за слободни софтвер формирала је верзију потпуно бесплатног кернела 5.11 - Линук-либре 5.11-гну, очишћену од елемената фирмвера и драјвера који садрже неслободне компоненте или одељке кода, чији је обим ограничен. од стране произвођача. Ново издање чисти драјвере за кат_4ккк (крипто), лт9611укцм (дси/хдми мост), ццс/смиа++ (сензор), атх11к_пци, нкп аудио примопредајник и мхи пци контролер. Ажурирани код за чишћење мрља у драјверима и подсистемима амдгпу, бткца, бтртл, бтусб, и915 цср. Онемогућене нове мрље у м3 рпроц, идт82п33 птп цлоцк и куалцомм арм64.

Извор: опеннет.ру

Додај коментар