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

Након два месеца развоја, Линус Торвалдс уведен издање кернела Линук КСНУМКС. Међу најзначајнијим променама: интеграција ВиреГуард ВПН интерфејса, подршка за УСБ4, простори имена за време, могућност креирања руковаоца загушења ТЦП користећи БПФ, почетна подршка за МултиПатх ТЦП, ослобађање кернела од проблема из 2038, механизам „боотцонфиг“ , ЗонеФС.

Нова верзија укључује 13702 поправки од 1810 програмера,
величина закрпе - 40 МБ (промене су утицале на 11577 датотека, додато 610012 линија кода,
294828 редова је уклоњено). Око 45% свих представљених у 5.6
промене се односе на драјвере уређаја, отприлике 15% промена је
став према ажурирању кода специфичног за хардверске архитектуре, 12%
повезано са мрежним стеком, 4% са системима датотека и 3% са интерним
подсистеми кернела.

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

  • Мрежни подсистем
    • Додато имплементација ВПН интерфејса ВиреГуард, који је имплементиран на основу савремених метода шифровања (ЦхаЦха20, Поли1305, Цурве25519, БЛАКЕ2с), једноставан је за коришћење, без компликација, доказао се у низу великих имплементација и пружа веома високе перформансе (3,9 пута бржи од ОпенВПН-а у смислу пропусности). ВиреГуард користи концепт рутирања кључева за шифровање, који укључује прикључивање приватног кључа на сваки мрежни интерфејс и његово коришћење за повезивање јавних кључева. Јавни кључеви се размењују да би се успоставила веза на сличан начин као ССХ. Криптографски примитиви потребни да би ВиреГуард радио били пренесено из библиотеке цинк као део стандардног Црипто АПИ-ја и uključeno у језгро 5.5.
    • Започео интеграција компоненти неопходних за подршку МПТЦП (МултиПатх ТЦП), проширење ТЦП протокола за организовање рада ТЦП везе са испоруком пакета истовремено дуж неколико рута кроз различите мрежне интерфејсе повезане са различитим ИП адресама. За мрежне апликације, таква агрегирана веза изгледа као обична ТЦП веза, а сву логику раздвајања тока изводи МПТЦП. Мултипатх ТЦП се може користити и за повећање пропусности и за повећање поузданости. На пример, МПТЦП се може користити за организовање преноса података на паметном телефону користећи ВиФи и 4Г везе истовремено, или за смањење трошкова повезивањем сервера користећи неколико јефтиних линкова уместо једне скупе.
    • Додато подршка за дисциплину обраде мрежног реда сцх_етс (Побољшан избор преноса, ИЕЕЕ 802.1Каз), који пружа могућност расподеле пропусног опсега између различитих класа саобраћаја. Ако је оптерећење одређене класе саобраћаја испод додељеног пропусног опсега, онда ЕТС дозвољава другим класама саобраћаја да користе доступну (неискоришћену) пропусност. Кдисц сцх_етс је конфигурисан као ПРИО дисциплина и користи класе саобраћаја за дефинисање строгих и заједничких ограничења пропусног опсега. ЕТС функционише као комбинација дисциплина ПРИО и ДРР — ако постоје стриктно ограничене класе саобраћаја, користи се ПРИО, али ако нема саобраћаја у реду, ради као ДРР.
    • Додан је нови тип БПФ програма БПФ_ПРОГ_ТИПЕ_СТРУЦТ_ОПС, који вам омогућава да имплементирате руковаоце функцијама језгра преко БПФ-а. Тренутно, ова функција се већ може користити за имплементацију ТЦП алгоритама за контролу загушења у облику БПФ програма. Као пример предложио БПФ програм са имплементацијом алгоритма ДЦТЦП.
    • Прихваћен у језгро Промене, алати за превођење еттоол са иоцтл() за коришћење нетлинк интерфејс. Нови интерфејс олакшава додавање екстензија, побољшава руковање грешкама, омогућава слање обавештења када се стање промени, поједностављује интеракцију између кернела и корисничког простора и смањује број именованих листа које треба да се синхронизују.
    • Додата имплементација ФК-ПИЕ (Флов Куеуе ПИЕ) алгоритма за управљање мрежним редовима, чији је циљ смањење негативног утицаја међубаферовања пакета на ивичну мрежну опрему (буфферблоат). ФК-ПИЕ показује високу ефикасност када се користи у системима са кабловским модемима.
  • Дисковни подсистем, И/О и системи датотека
    • За Бтрфс систем датотека додао је асинхрона имплементација операције ДИСЦАРД (означавање ослобођених блокова које више није потребно физички чувати). У почетку су се операције ДИСЦАРД изводиле синхроно, што је могло довести до деградације перформанси због драјвова који чекају да се доврше одговарајуће команде. Асинхрона имплементација вам омогућава да не чекате да диск заврши ОДБАЦИ и извршите ову операцију у позадини.
    • У КСФС спроведена Чишћење кода који је користио старе 32-битне бројаче времена (тип тиме_т је замењен тиме64_т), што је довело до проблема из 2038. Исправљене грешке и оштећење меморије до којих је дошло на 32-битним платформама. Код је прерађен да ради са проширеним атрибутима.
    • У ект4 систем датотека представио Оптимизације перформанси које се односе на руковање закључавањем иноде током операција читања и писања. Побољшане перформансе поновног писања у режиму Дирецт И/О. Да би се поједноставила дијагноза проблема, први и последњи код грешке се чувају у суперблоку.
    • На систему датотека Ф2ФС имплементиран способност складиштења података у компримованом облику. За појединачну датотеку или директоријум, компресија се може омогућити помоћу команде „цхаттр +ц филе“ или „цхаттр +ц дир; додирните дир/филе". Да бисте компримовали целу партицију, можете користити опцију „-о цомпресс_ектенсион=ект“ у услужном програму за монтирање.
    • Кернел укључује систем датотека ЗонеФС, што поједностављује рад на ниском нивоу са зонираним уређајима за складиштење. Под зонираним дисковима подразумевају се уређаји на чврстим магнетним дисковима или НВМе ССД-овима, простор за складиштење у којима је подељен на зоне које чине групе блокова или сектора, у које је дозвољено само секвенцијално додавање података, ажурирање целе групе блокова. ФС ЗонеФС је развио Вестерн Дигитал и повезује сваку зону у драјву са посебном датотеком која се може користити за складиштење података у сировом режиму без манипулације на нивоу сектора и блока, тј. Дозвољава апликацијама да користе АПИ датотеке уместо директног приступа блок уређају помоћу иоцтл-а.
    • У НФС-у, монтирање партиција преко УДП-а је подразумевано онемогућено. Додата подршка за могућност директног копирања датотека између сервера, дефинисана у НФС 4.2 спецификацији. Додата је нова опција монтирања "софтревал", која омогућава да се кеширане вредности атрибута користе у случају квара сервера. На пример, када наведете ову опцију, након што сервер буде недоступан, остаје могуће да се крећете дуж путања у НФС партицији и приступате информацијама које су се сместиле у кеш меморију.
    • Спроведена оптимизација перформанси фс-верити механизма, који се користи за праћење интегритета и аутентикацију појединачних датотека. Повећана брзина секвенцијалног читања захваљујући употреби Меркле хасх дрвета. Перформансе ФС_ИОЦ_ЕНАБЛЕ_ВЕРИТИ су оптимизоване када нема података у кешу (примењено је превентивно читање страница са подацима).
  • Виртуелизација и безбедност
    • Могућност онемогућавања СЕЛинук модула током рада је застарела, а истовар већ активираног СЕЛинук-а биће забрањено у будућности. Да бисте онемогућили СЕЛинук, мораћете да проследите параметар "селинук=0" на командној линији кернела.
    • Додато подршка за просторе имена за време (временски простори имена), омогућавајући вам да повежете стање системског сата са контејнером (ЦЛОЦК_РЕАЛТИМЕ,
      ЦЛОЦК_МОНОТОНИЦ, ЦЛОЦК_БООТТИМЕ), користите своје време у контејнеру и, приликом миграције контејнера на други хост, уверите се да очитавања ЦЛОЦК_МОНОТОНИЦ и ЦЛОЦК_БООТТИМЕ остану непромењена (узмите у обзир време након учитавања, са или без узимања у обзир да сте у режиму спавања ).

    • /дев/рандом блок за блокирање је уклоњен. Понашање /дев/рандом је слично /дев/урандом у смислу спречавања ентропијског блокирања након иницијализације скупа.
    • Језгро језгра укључује драјвер који омогућава гостујућим системима који користе ВиртуалБок да монтирају директоријуме које извози окружење домаћина (ВиртуалБок Схаред Фолдер).
    • Сет закрпа је додат у БПФ подсистем (диспечер БПФ-а), када користите механизам Ретполине за заштиту од напада класе Спецтре В2, омогућава вам да повећате ефикасност позивања БПФ програма када се догађају повезани са њима (на пример, омогућава да се убрза позивање КСДП руковалаца када стиже мрежни пакет).
    • Додат је драјвер за подршку ТЕЕ (Трустед Екецутион Енвиронмент) уграђен у АМД АПУ.
  • Меморијске и системске услуге
    • БПФ је додао подршку за глобалне функције. Развој се спроводи као део иницијативе за додавање подршке за библиотеке функција које се могу укључити у БПФ програме. Следећи корак ће бити подршка динамичким екстензијама које омогућавају учитавање глобалних функција, укључујући замену постојећих глобалних функција док су у употреби. БПФ подсистем такође додаје подршку за варијанту операције мапе (која се користи за складиштење трајних података), која подржава извршење у групном режиму.
    • Додато Уређај „цпу_цоолинг“ вам омогућава да охладите прегрејани ЦПУ тако што ћете га ставити у стање мировања на кратке временске периоде.
    • Додат системски позив опенат2(), који нуди скуп додатних заставица за ограничавање резолуције путање датотеке (забрана укрштања тачака монтирања, симболичке везе, магичне везе (/проц/ПИД/фд), компоненте „../”).
    • За хетерогене системе засноване на биг.ЛИТТЛЕ архитектури, комбинујући моћна и мање ефикасна енергетски ефикасна ЦПУ језгра у једном чипу, параметар уцламп_мин се поставља приликом извршавања задатака у реалном времену (настао у кернелу 5.3 постоји механизам за обезбеђивање оптерећења). Овај параметар осигурава да ће задатак бити постављен од стране планера на ЦПУ језгро које има довољне перформансе.
    • Кернел је ослобођен проблеми 2038. Замењени последњи преостали руковаоци, који су користили 32-битни (потписани инт) тип тиме_т за епохални бројач времена, који би, узимајући у обзир извештај из 1970. године, требало да се препуни 2038. године.
    • Континуирано побољшање асинхроног И/О интерфејса ио_уринг, у чему обезбеђено подршка за нове операције: ИОРИНГ_ОП_ФАЛЛОЦАТЕ (резервација празних подручја), ИОРИНГ_ОП_ОПЕНАТ,
      ИОРИНГ_ОП_ОПЕНАТ2,
      ИОРИНГ_ОП_ЦЛОСЕ (отварање и затварање датотека),
      ИОРИНГ_ОП_ФИЛЕС_УПДАТЕ (додавање и уклањање датотека са листе за брзи приступ),
      ИОРИНГ_ОП_СТАТКС (захтев за информације о датотеци),
      ИОРИНГ_ОП_РЕАД,
      ИОРИНГ_ОП_ВРИТЕ (поједностављени аналози ИОРИНГ_ОП_РЕАДВ и ИОРИНГ_ОП_ВРИТЕВ),
      ИОРИНГ_ОП_ФАДВИСЕ,
      ИОРИНГ_ОП_МАДВИСЕ (асинхроне варијанте позива посик_фадвисе и мадвисе), ИОРИНГ_ОП_СЕНД,
      ИОРИНГ_ОП_РЕЦВ (слање и пријем мрежних података),
      ИОРИНГ_ОП_ЕПОЛЛ_ЦТЛ (изврши операције на дескрипторима еполл датотека).

    • Додат системски позив пидфд_гетфд(), омогућавајући процесу да преузме дескриптор датотеке за отворену датотеку из другог процеса.
    • Имплементирано механизам „боотцонфиг“, који омогућава, поред опција командне линије, да се одреде параметри кернела кроз датотеку за подешавања. Да бисте додали такве датотеке у инитрамфс слику, предлаже се услужни програм боотцонфиг. Ова функција се може користити, на пример, за конфигурисање кпробес у време покретања.
    • Прерађено механизам за чекање за писање и читање података у неименованим цевима. Промена је омогућила да се убрзају задаци као што је паралелно склапање великих пројеката. Међутим, оптимизација може довести до стања трке у ГНУ маке-у због грешке у издању 4.2.1, која је исправљена у верзији 4.3.
    • Додата је ознака ПР_СЕТ_ИО_ФЛУСХЕР у прцтл(), која се може користити за означавање процеса без меморије који не би требало да подлежу ограничењима када систему нема довољно меморије.
    • На основу система дистрибуције ИОН меморије који се користи у Андроиду, имплементиран је подсистем дма-буф хрпе, који вам омогућава да контролишете доделу ДМА бафера за дељење меморијских области између драјвера, апликација и различитих подсистема.
  • Архитектуре хардвера
    • Додата подршка за Е0ПД екстензију, која се појавила у АРМв8.5 и омогућава заштиту од напада повезаних са спекулативним извршавањем инструкција на ЦПУ-у. Заштита заснована на Е0ПД резултира нижим трошковима од КПТИ (изолација табеле странице језгра).
    • За системе засноване на архитектури АРМв8.5, додата је подршка за РНГ инструкцију, која обезбеђује приступ хардверском генератору псеудо-случајних бројева. У кернелу, РНГ инструкција се користи за генерисање ентропије приликом иницијализације генератора псеудослучајних бројева који обезбеђује кернел.
    • Уклоњена подршка за МПКС (мемори Протецтион Ектенсионс) додата у кернел 3.19 и омогућава вам да организујете проверу показивача како бисте осигурали да се поштују границе меморијских области. Ова технологија није била широко коришћена у компајлерима и уклоњена је из ГЦЦ-а.
    • За РИСЦ-В архитектуру је имплементирана подршка за КАСан (Кернел аддресс санитизер) алат за отклањање грешака, који помаже у идентификацији грешака при раду са меморијом.
  • Оборудование
    • Имплементирана подршка спецификацијама УСБ КСНУМКС, који је заснован на Тхундерболт 3 протоколу и обезбеђује пропусност до 40 Гбпс, уз одржавање компатибилности уназад са УСБ 2.0 и УСБ 3.2. По аналогији са Муња УСБ 4.0 интерфејс вам омогућава да тунелирате различите протоколе преко једног кабла са конектором Тип-Ц, укључујући ПЦИе, Дисплаи Порт и УСБ 3.к, као и софтверске имплементације протокола, на пример, за организовање мрежних веза између хостова. Имплементација се заснива на Тхундерболт драјверу који је већ укључен у Линук кернел и прилагођава га за рад са хостовима и уређајима компатибилним са УСБ4. Промене такође додају подршку за Тхундерболт 3 уређаје у софтверску имплементацију Цоннецтион Манагер-а, који је одговоран за креирање тунела за повезивање више уређаја преко једног конектора.
    • У драјверу за амдгпу додао је почетна подршка за ХДЦП 2.к (Хигх-бандвидтх Дигитал Цонтент Протецтион) технологију заштите од копирања. Додата подршка за АМД Поллоцк АСИЦ чип заснован на Равен 2. Имплементирана могућност ресетовања ГПУ-а за породице Реноир и Нави.
    • ДРМ драјвер за Интел видео картице додао је ДСИ ВДСЦ подршка за чипове засноване на микроархитектури Ице Лаке и Тигер Лаке, имплементиран је ЛМЕМ ммап (локална меморија уређаја), побољшана је ВБТ (Видео БИОС табела) рашчлањивање, имплементирана је ХДЦП 2.2 подршка за чипове Цоффее Лаке.
    • Настављен је рад на обједињавању кода драјвера амдкфд (за дискретне ГПУ, као што су Фији, Тонга, Поларис) са амдгпу драјвером.
    • К10темп драјвер је прерађен, додајући подршку за приказ параметара напона и струје за АМД Зен ЦПУ, као и проширене информације са температурних сензора који се користе у Зен и Зен 2 ЦПУ-има.
    • У ноувеау возачу додао је подршка за верификовани режим учитавања фирмвера за НВИДИА ГПУ засноване на Туринг микроархитектури (ГеФорце РТКС 2000), што је омогућило да се омогући подршка за 3Д убрзање за ове картице (потребно је преузимање званичног фирмвера са НВИДИА дигиталним потписом). Додата подршка за графички мотор ТУ10к. Проблеми са ХД аудио-ом су решени.
    • Додата подршка за компресију података када се преносе преко ДисплаиПорт МСТ (Мулти-Стреам Транспорт).
    • Додан нови драјвер "атх11к» за Куалцомм бежичне чипове који подржавају 802.11ак.
      Драјвер је заснован на мац80211 стеку и подржава режиме приступне тачке, радне станице и мрежног чвора.

    • Преко сисфс-а, омогућен је приступ читљивим очитањима температурних сензора који се користе на савременим чврстим дисковима и ССД-овима.
    • Достављени значајне промене у АЛСА звучном систему, са циљем да се ослободе кода проблеми 2038 (избегавање употребе 32-битног типа тиме_т у интерфејсима снд_пцм_ммап_статус и снд_пцм_ммап_цонтрол). Додата подршка за нове аудио кодеке
      Куалцомм ВЦД9340/ВЦД9341, Реалтек РТ700, РТ711, РТ715, РТ1308, Ингениц ЈЗ4770.

    • Додато драјвери за ЛЦД панеле Логиц ПД 28, Јимак8729д МИПИ-ДСИ, игениц ЈЗ4770, Сони ацк424АКП, Леадтек ЛТК500ХД1829, Ксинпенг КСПП055Ц272, АУО Б116КСАК01, ГиантПлус940, ГПМ0
      БОЕ НВ140ФХМ-Н49,
      Сатоз САТ050АТ40Х12Р2,
      Схарп ЛС020Б1ДД01Д.

    • Додато подршка за АРМ плоче и Ген1 платформе Амазон Ецхо (засновано на ОМАП3630), Самсунг Галаки С ИИИ мини (ГТ-И8190), Аллвиннер Емлид Неутис, Либре Цомпутер АЛЛ-Х3-ИТ, ПинеХ64 Модел Б, Аибретецх Амлогиц ГКС ПЦ,
      Армада СолидРун Цлеарфог ГТР, НКСПГатеворкс ГВ59кк,
      Толино Схине 3 читач е-књига,
      Ембеддед Артистс ЦОМ (и.МКС7УЛП), СолидРун Цлеарфог ЦКС/ИТКС и ХонеиЦомб (ЛКС2160А), Гоогле Цорал Едге ТПУ (и.МКС8МК),
      Роцкцхип Радка Даланг Царриер, Радка Роцк Пи Н10, ВМАРЦ РК3399Про СОМ
      СТ Ерицссон ХРЕФ520, Инфорце 6640, СЦ7180 ИДП, Атмел/Мицроцхип АМ9Кс60 (АРМ926 СоЦ, Кизбокмини), СТ стм32мп15, АМ3703/АМ3715/ДМ3725, СТ Ерицссон аб8505, Унисоц СЦ Куалцомм СЦ9863. Додата подршка за ПЦИе контролер који се користи у Распберри Пи 7180.

Истовремено, Латиноамеричка фондација за слободни софтвер формирана
опција потпуно бесплатно језгро 5.6 - Линук-либре 5.6-гну, очишћен од фирмвера и елемената драјвера који садрже неслободне компоненте или одељке кода, чији је обим ограничен од стране произвођача. Ново издање онемогућава блоб учитавање у драјверима за АМД ТЕЕ, АТХ11К и Медиатек СЦП. Ажуриран код за чишћење мрља у АМД ПСП, амдгпу и ноувеау драјверима и подсистемима.

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

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