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

Након два месеца развоја, Линус Торвалдс уведен издање кернела Линук КСНУМКС. Међу најуочљивијим променама: Ект4 радни режим не разликује велика и мала слова, одвојени системски позиви за монтирање система датотека, драјвери за ГПУ Мали 4кк/ 6кк/7кк, могућност руковања променама сисцтл вредности у БПФ програмима, уређај за мапирање модул дм-дуст, заштита од напада МДС, подршка за Соунд Опен Фирмваре за ДСП, оптимизација БФК перформанси, довођење ПСИ (Прессуре Сталл Информатион) подсистема до могућности коришћења у Андроиду.

Нова верзија укључује 15100 поправки од 1882 програмера,
величина закрпе - 62 МБ (промене су утицале на 30889 датотека, додато је 625094 линија кода, 531864 линија је обрисано). Око 45% свих представљених у 5.2
промене се односе на драјвере уређаја, отприлике 21% промена је
став према ажурирању кода специфичног за хардверске архитектуре, 12%
односи се на мрежни стек, 3% на систем датотека и 3% на интерне
подсистеми кернела. 12.4% свих промена припремио је Интел, 6.3% Ред Хат, 5.4% Гоогле, 4.0% АМД, 3.1% СУСЕ, 3% ИБМ, 2.7% Хуавеи, 2.7% Линаро, 2.2% АРМ , 1.6 % - Орацле.

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

  • Дисковни подсистем, И/О и системи датотека
    • Додато за Ект4 подршка раде без разликовања великих и малих слова у називима датотека, што се активира само у односу на појединачне празне директоријуме користећи нови атрибут “+Ф” (ЕКСТ4_ЦАСЕФОЛД_ФЛ). Када се овај атрибут подеси на директоријум, све операције са датотекама и поддиректоријумима унутар ће се обављати без узимања у обзир великих и малих знакова, укључујући и велика и мала слова ће се занемарити приликом претраживања и отварања датотека (на пример, датотеке Тест.ткт, тест.ткт и тест.ТКСТ у таквим директоријумима сматраће се истим). Подразумевано, систем датотека наставља да разликује велика и мала слова, са изузетком директоријума са атрибутом „цхаттр +Ф“;
    • Обједињене су функције за обраду УТФ-8 знакова у именима датотека, које се користе приликом извођења операција поређења стрингова и нормализације;
    • КСФС додаје инфраструктуру за праћење здравља система датотека и нови иоцтл за испитивање здравственог статуса. Имплементирана је експериментална функција за провјеру бројача суперблокова на мрежи.
    • Додан нови модул уређај-маппер "дм-дуст“, који вам омогућава да симулирате појаву лоших блокова на медију или грешака при читању са диска. Модул вам омогућава да поједноставите отклањање грешака и тестирање апликација и различитих система за складиштење у случају могућих кварова;
    • Спроведена Значајне оптимизације перформанси за БФК И/О планер. У условима великог И/О оптерећења, извршене оптимизације допустити Смањите време операција као што је покретање апликација до 80%.
    • Додан је низ системских позива за монтирање система датотека: фсопен(), отворено_дрво(), фспицк(), фсмоунт(), фсцонфиг() и мове_моунт(). Ови системски позиви вам омогућавају да засебно обрађујете различите фазе монтирања (обрадите суперблок, добијете информације о систему датотека, монтирате, прикачите на тачку монтирања), које су претходно изведене коришћењем општег системског позива моунт(). Одвојени позиви пружају могућност извођења сложенијих сценарија монтирања и обављања одвојених операција као што су реконфигурисање суперблока, омогућавање опција, промена тачке монтирања и прелазак у други простор имена. Поред тога, одвојена обрада вам омогућава да тачно одредите разлоге за излаз кодова грешака и поставите више извора за вишеслојне системе датотека, као што су оверлаифови;
    • Нова операција ИОРИНГ_ОП_СИНЦ_ФИЛЕ_РАНГЕ је додата у интерфејс за асинхрони И/О ио_уринг, која обавља радње еквивалентне системском позиву синц_филе_ранге(), а такође је имплементирана могућност регистрације евентфд са ио_уринг и примања обавештења о завршетку операција;
    • За систем датотека ЦИФС, додат је ФИЕМАП иоцтл, који обезбеђује ефикасно мапирање опсега, као и подршку за режиме СЕЕК_ДАТА и СЕЕК_ХОЛЕ;
    • У подсистему ФУСЕ предложио АПИ за управљање кеширањем података;
    • Бтрфс је оптимизовао имплементацију кгроупс и побољшао брзину извршавања фсинц за датотеке са више тврдих веза. Побољшан је код за проверу интегритета података, који сада узима у обзир могућа оштећења информација у РАМ-у пре избацивања података на диск;
    • ЦЕПХ је додао подршку за извоз снимака преко НФС-а;
    • Имплементација НФСв4 монтирања у „меком“ режиму је побољшана (ако дође до грешке при приступу серверу у „меком“ режиму, позив на одмах враћа код грешке, а у „тврдом“ режиму контрола се не даје све док ФС доступност или временско ограничење се враћа). Ново издање пружа прецизније руковање временским ограничењем, бржи опоравак након пада и нову опцију „мекшег“ монтирања која вам омогућава да промените код грешке (ЕТИМЕДОУТ) који се враћа када дође до истека времена;
    • нфсдцлд АПИ, дизајниран да прати стање НФС клијената, омогућава НФС серверу да исправно прати стање клијента након поновног покретања. Дакле, демон нфсдцлд сада може да делује као руковалац нфсдцлтрацк;
    • За АФС додао је емулација закључавања опсега бајтова у датотекама (Закључавање опсега бајтова);
  • Виртуелизација и безбедност
    • Рад је обављен на елиминисању места у језгру која дозвољавају извршавање кода из рефлектованих меморијских области на које се може писати, што омогућава блокирање потенцијалних рупа које би могле бити искоришћене током напада;
    • Додан је нови параметар командне линије језгра „митигатионс=", који пружа поједностављен начин контроле омогућавања одређених техника за заштиту од рањивости повезаних са спекулативним извршавањем инструкција на ЦПУ-у. Преношење „митигатионс=офф“ онемогућава све постојеће методе, а подразумевани режим „митигатионс=ауто“ омогућава заштиту, али не утиче на коришћење Хипер Тхреадинг-а. Режим „митигатионс=ауто,носмт“ додатно онемогућава Хипер Тхреадинг ако то захтева метода заштите.
    • Додато подршка за електронски дигитални потпис према ГОСТ Р 34.10-2012 (РФЦ 7091, ИСО/ИЕЦ 14888-3), развијен од стране Виталиј Чикунов из Басалт СПО. Додата подршка за АЕС128-ЦЦМ матичној ТЛС имплементацији. Додата подршка за АЕАД алгоритме за црипто_симд модул;
    • У Кцонфиг-у додао је посебан одељак „очвршћавања језгра“ са опцијама за побољшање заштите језгра. Тренутно, нови одељак садржи само подешавања за омогућавање додатака за побољшање провере ГЦЦ-а;
    • Код кернела је скоро испоручена из наредби које не прекидају случајеве у прекидачу (без повратка или прекида након сваког блока случаја). Остаје да се поправи 32 од 2311 случајева такве употребе прекидача, након чега ће бити могуће користити режим “-Вимплицит-фаллтхроугх” приликом изградње кернела;
    • За архитектуру ПоверПЦ, имплементирана је подршка за хардверске механизме за ограничавање нежељених приступних путања кернела подацима у корисничком простору;
    • Додан код за блокирање напад МДС (Мицроарцхитецтурал Дата Самплинг) класа у Интел процесорима. Можете проверити да ли је систем рањив на рањивости преко СисФС променљиве „/сис/девицес/систем/цпу/вулнерабилитиес/мдс“. Доступан два режима заштите: пуни, који захтева ажурирани микрокод, и бајпас, који не гарантује потпуно брисање ЦПУ бафера када се контрола пренесе на кориснички простор или систем за госте. За контролу режима заштите, језгру је додат параметар „мдс=“, који може да има вредности „фулл“, „фулл,носмт“ (+ онемогућити хипер-нити) и „офф“;
    • На к86-64 системима је додата заштита „стацк гуард-паге“ за ИРК, механизме за отклањање грешака и руковаоце изузетцима, чија је суштина замена меморијских страница на граници са стеком, приступање којој доводи до генерисања изузетак (грешка странице);
    • Додата сисцтл поставка вм.унпривилегед_усерфаултфд, која контролише способност непривилегованих процеса да користе системски позив усерфаултфд();
  • Мрежни подсистем
    • Додато Подршка за ИПв6 мрежни пролаз за ИПв4 руте. На пример, сада можете да наведете правила рутирања попут „ип ро адд 172.16.1.0/24 преко инет6 2001:дб8::1 дев етх0“;
    • За ИЦМПв6, иоцтл позиви ицмп_ецхо_игноре_аницаст и ицмп_ецхо_игноре_мултицаст су имплементирани да игноришу ИЦМП ЕЦХО за аницаст и
      мултицаст адресе. Додато могућност ограничавања интензитета обраде ИЦМПв6 пакета;

    • За БАТМАН (Беттер Аппроацх То Мобиле Адхоц Нетворкинг) месх протокол, који омогућава креирање децентрализованих мрежа у којима је сваки чвор повезан преко суседних чворова, додао је подршка за емитовање са мултицаст на уницаст, као и могућност контроле преко сисфс-а;
    • У етхтоол додато нови параметар Фаст Линк Довн, који вам омогућава да смањите време потребно за пријем информација о догађају прекида везе за 1000БасеТ (у нормалним условима кашњење је до 750мс);
    • Појавио се прилика везивање Фоо-Овер-УДП тунела за одређену адресу, мрежни интерфејс или сокет (раније је везивање вршено само заједничком маском);
    • У бежичној мрежи обезбеђено могућност имплементације руковалаца
      ОВЕ (Оппортунистиц Вирелесс Енцриптион) у корисничком простору;

    • У Нетфилтер-у, подршка за фамилију инет адреса је додата нат ланцима (на пример, сада можете да користите једно правило превођења за обраду ипв4 и ипв6, без раздвајања правила за ипв4 и ипв6);
    • У нетлинк додато режим строг за строгу проверу исправности свих порука и атрибута, у којима није дозвољено прекорачење очекиване величине атрибута и забрањено додавање додатних података на крају порука;
  • Меморијске и системске услуге
    • Ознака ЦЛОНЕ_ПИДФД је додата у системски позив цлоне(), када је специфицирано, дескриптор датотеке „пидфд“ идентификован са креираним подређеним процесом се враћа родитељском процесу. Овај дескриптор датотеке, на пример, може да се користи за слање сигнала без страха да ће доћи до стања трке (одмах након слања сигнала, циљни ПИД може бити ослобођен због прекида процеса и заузет другим процесом);
    • За другу верзију цгроуп-а, додата је функционалност контролера замрзивача, помоћу које можете прекинути рад у цгроуп-у и привремено ослободити неке ресурсе (ЦПУ, И/О, а потенцијално чак и меморију) за обављање других задатака. Управљање се врши преко контролних датотека цгроуп.фреезе и цгроуп.евентс у стаблу цгроуп. Унос 1 у цгроуп.фреезе замрзава процесе у тренутној цгроуп и свим подређеним групама. Пошто замрзавање траје неко време, обезбеђена је додатна датотека цгроуп.евентс преко које можете сазнати о завршетку операције;
    • Осигуран извоз меморијских атрибута придружених сваком чвору у сисфс-у, што вам омогућава да из корисничког простора одредите природу обраде меморијских банака у системима са хетерогеном меморијом;
    • Подсистем ПСИ (Прессуре Сталл Информатион) је побољшан, који вам омогућава да анализирате информације о времену чекања за пријем различитих ресурса (ЦПУ, меморија, И/О) за одређене задатке или скупове процеса у цгрупи. Користећи ПСИ, руковаоци корисничког простора могу прецизније проценити ниво оптерећења система и образаца успоравања у поређењу са просечним оптерећењем. Нова верзија пружа подршку за постављање прагова осетљивости и могућност коришћења позива полл() за примање обавештења да су постављени прагови активирани током одређеног временског периода. Ова функција омогућава Андроид-у да прати недостатак меморије у раној фази, идентификује извор проблема и укида неважне апликације без изазивања проблема који су приметни кориснику. Приликом тестирања стреса, алати за праћење потрошње меморије засновани на ПСИ-ју показали су 10 пута мање лажних позитивних резултата у поређењу са статистиком вмпрессуре;
    • Код за проверу БПФ програма је оптимизован, што омогућава проверу до 20 пута брже за велике програме. Оптимизација је омогућила подизање границе величине БПФ програма са 4096 на милион инструкција;
    • За програме БПФ-а под условом могућност приступа глобалним подацима, што вам омогућава да дефинишете глобалне варијабле и константе у програмима;
    • Додато АПИ за, који вам омогућава да контролишете промене у сисцтл параметрима из БПФ програма;
    • За МИПС32 архитектуру, имплементиран је ЈИТ компајлер за еБПФ виртуелну машину;
    • За 32-битну ПоверПЦ архитектуру, додата је подршка за КАСан (Кернел аддресс санитизер) алат за отклањање грешака, који помаже у идентификацији грешака при раду са меморијом;
    • На к86-64 системима, уклоњено је ограничење постављања думпова стања током пада кернела (црасх-думп) у меморијске области изнад 896МБ;
    • За архитектуру с390, имплементирана је подршка за рандомизацију адресног простора језгра (КАСЛР) и могућност верификације дигиталних потписа приликом учитавања кернела путем кекец_филе_лоад();
    • За ПА-РИСЦ архитектуру, додата подршка за дебагер кернела (КГДБ), ознаке за скок и кпробе;
  • Оборудование
    • Дривер укључен Лима за Мали 400/450 ГПУ, који се користи у многим старијим чиповима заснованим на АРМ архитектури. За новије Мали ГПУ-ове, додат је Панфрост драјвер који подржава чипове засноване на Мидгард (Мали-Т6кк, Мали-Т7кк, Мали-Т8кк) и Бифрост (Мали Г3к, Г5к, Г7к) микроархитектурама;
    • Додата подршка за аудио уређаје који користе отворени фирмвер Соунд Опен Фирмваре (СОФ). Упркос доступности отворених драјвера, код фирмвера за звучне чипове је и даље остао затворен и испоручен је у бинарном облику. Пројекат Соунд Опен Фирмваре је развио Интел за креирање отвореног фирмвера за ДСП чипове који се односе на обраду звука (Гоогле се касније такође придружио развоју). Тренутно је пројекат већ припремио откриће фирмвера за звучне чипове платформи Интел Баитраил, ЦхерриТраил, Броадвелл, АполлоЛаке, ГеминиЛаке, ЦаннонЛаке и ИцеЛаке;
    • Интел ДРМ драјвер (и915) додаје подршку за чипове
      Елкхартлаке (Ген11). Додати ПЦИ ИД-ови за чипове Цомет Лаке (Ген9). Подршка за Ицелаке чипове је стабилизована, за шта су такође додати додатни идентификатори ПЦИ уређаја.
      Укључен
      режим асинхроног пребацивања између два бафера у видео меморији (асинц флип) при обављању операција писања преко ммио-а, што је значајно повећало перформансе неких 3Д апликација (на пример, перформансе у 3ДМарк Ице Сторм тесту повећане су за 300-400%). Додата технолошка подршка ХДЦП2.2 (Хигх-бандвидтх Дигитал Цонтент Протецтион) за шифровање видео сигнала који се преносе преко ХДМИ-ја;

    • Амдгпу драјвер за Вега20 ГПУ додао је подршка за РАС (Релиабилити, Аваилабилити, Сервицеабилити) и експериментална подршка за подсистем СМУ 11, који је заменио Поверплаи технологију. За ГПУ Вега12 додао је подршка за БАЦО режим (Бус Ацтиве, Цхип Офф). Додата почетна подршка за КСГМИ, магистралу велике брзине (ПЦИе 4.0) за ГПУ интерконекцију. Додати недостајући идентификатори за картице засноване на Поларис10 ГПУ у амдкфд драјвер;
    • Ноувеау драјвер је додао подршку за плоче засноване на НВИДИА Туринг 117 чипсету (ТУ117, који се користи у ГеФорце ГТКС 1650). ИН
      кцонфиг додао је подешавање за онемогућавање застарелих функција које се више не користе у тренутним издањима либдрм-а;

    • Подршка за објекте синхронизације „временске линије“ је додата ДРМ АПИ-ју и амдгпу драјверу, што вам омогућава да радите без класичног блокирања.
    • Вбоквидео драјвер за ВиртуалБок виртуелни ГПУ је премештен са сценске гране у главну структуру;
    • Додат аспеед драјвер за ГФКС СоЦ АСПЕЕД чип;
    • Додата подршка за АРМ СоЦ и Интел Агилек (СоЦФПГА), НКСП и.МКС8ММ, Аллвиннер (РерВисион Х3-ДВК (Х3), Оцеаниц 5205 5инМФД, ,Беелинк ГС2 (Х6), Оранге Пи 3 (Х6)), Роцкцхип (Оранге Пи ) плоче РК3399, Нанопи НЕО4, Веирон-Мигхти Цхромебоок), Амлогиц: СЕИ Роботицс СЕИ510,
      СТ Мицро (стм32мп157а, стм32мп157ц), НКСП (
      Ецкелманн ци4к10 (и.МКС6ДЛ),

      и.МКС8ММ ЕВК (и.МКС8ММ),

      ЗИИ и.МКС7 РПУ2 (и.МКС7),

      ЗИИ СПБ4 (ВФ610),

      Зии Ултра (и.МКС8М),

      ТК ТКМа7С (и.МКС7Соло),

      ТК ТКМа7Д (и.МКС7Дуал),

      Кобо Аура (и.МКС50),

      Менлосистемс М53 (и.МКС53)), НВИДИА Јетсон Нано (Тегра Т210).

Истовремено, Латиноамеричка фондација за слободни софтвер формирана
опција потпуно бесплатно језгро 5.2 - Линук-либре 5.2-гну, очишћен од фирмвера и елемената драјвера који садрже неслободне компоненте или одељке кода, чији је обим ограничен од стране произвођача. Ново издање укључује отпремање датотека
Звук Отворени фирмвер. Учитавање блоб-ова у драјверима је онемогућено
мт7615, ртв88, ртв8822б, ртв8822ц, бтмтксдио, икс5кк, исхтп и уцси_ццг. Код за чишћење мрља у драјверима и подсистемима икп4кк, имк-сдма, амдгпу, ноувеау и гоиа, као и у документацији микрокода, је ажуриран. Чишћење мрља у управљачком програму р8822бе је заустављено због његовог уклањања.

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

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