Линук КСНУМКС

Линук КСНУМКС

Након два месеца развоја, Линус Торвалдс уведен Линук кернел 6.14 издање. Међу најзначајнијим променама: драјвер нтсинц са примитивима за синхронизацију Виндовс НТ, подешавање балансирања операција читања у Бтрфс РАИД1, подршка за рефлинк у КСФС у режиму реалног времена, могућност некешираног баферованог улаза/излаза, дмем цгроуп за ограничавање ГПУ меморије, омогућавање ио_уринга за делегирање у НФС-у, подршка за делегирање делегирања у ФУСЕ-у. убрзање симболичких веза, контрола над могућношћу извршавања скрипти, подршка за чипове Куалцомм Снапдрагон 8 Елите, драјвер за АМД НПУ.

Нова верзија укључује 12115 исправки од 1984 програмера, величина закрпе је 39 МБ (промене су утицале на 10170 датотека, додато је 531586 линија кода, 235999 линија је обрисано). Последње издање је имало 14172 поправке од 2086 програмера, величина закрпе је била 46 МБ. Око 41% свих промена уведених у 6.14 односи се на драјвере уређаја, приближно 13% промена се односи на ажурирање кода специфичног за хардверске архитектуре, 14% се односи на мрежни стек, 7% на систем датотека, а 4% на интерне подсистеме кернела.

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

  • Дисковни подсистем, И/О и системи датотека
    • На систему датотека Бтрфс појавио се подршка за нове методе балансирања операција читања између диск јединица укључених у РАИД1 низ. Поред раније постојеће расподеле оптерећења засноване на идентификаторима процеса (пид), нова верзија нуди три нова режима балансирања: „ротација“ (уједначена расподела оптерећења на све дискове, режим је подразумевано омогућен); „латенција“ (дистрибуција узимајући у обзир кашњења, може бити корисна у случају кварова или нестабилног рада драјвова); девид (ручно управљање). Да промените режим балансирања додато интерфејс /сис/фс/бтрфс/ /реад_полици. Остале промене у Бтрфс-у укључују: имплементација иоцтл ФС_ИОЦ_РЕАД_ВЕРИТИ_МЕТАДАТА.
    • Додато Улазно-излазни режим са бафером који се не може кеширати у коме се подаци уклањају из кеша странице одмах након завршетка операција читања или писања. Промена може бити корисна када се користе веома брзи уређаји за складиштење, за које су операције кеширања у РАМ-у сувишне. За такве уређаје, нови режим елиминише непотребну потрошњу меморије од стране кеша странице без прибегавања коришћењу компликованог Дирецт И/О АПИ-ја.
    • У фснотифи, механизам за праћење промена у ФС, додао је нови ФС_ПРЕ_АЦЦЕСС догађај генерисан у фази пре приступа садржају датотеке. Догађај се обрађује у синхроном режиму, то јест, кернел шаље догађај и чека да се добије одговор. Ако се добије одговор, операција се изводи, а ако дође до квара, системски позив враћа код грешке корисничком простору. Користећи ФС_ПРЕ_АЦЦЕСС, процес у корисничком простору, на пример, може да организује да се датотека попуни чим подаци буду спремни у спорој меморији.
    • Додан је подсистем ФУСЕ, који вам омогућава да креирате имплементације система датотека у корисничком простору подршка комуникација између језгра и руковаоца корисничког простора помоћу И/О механизма ио_уринг. Промена побољшава перформансе ФУСЕ тако што смањује промене контекста између кернела и корисничког простора.
    • Додато у КСФС систем датотека прилика коришћењем обрнутог мапирања (рмап, реверсе-маппинг) у радном режиму са предвидљивим кашњењима („уређај у реалном времену“). Обрнуто мапирање вам омогућава да одредите коју датотеку се одређени блок на уређају за складиштење користи за чување. Користећи рмап у КСФС за режим у реалном времену, имплементирана је подршка за операцију рефлинк, која вам омогућава да креирате копије датотека клонирањем метаподатака датотеке и креирањем везе са постојећим подацима без стварног копирања.
    • У ВФС имплементиран кеширање величине симболичких веза, што је омогућило да се операција реадлинк убрза за 1.5% (у тесту са /инитрд.имг у ект4). Кеширање је укључено у системе датотека ект4 и тмпфс.
    • Подршка је додата имплементацији НФСв4.2 делегирање атрибута датотеке, који вам омогућава да управљате атрибутима датотеке као што је време модификације (мтиме) на страни НФС клијента, без потребе да испразните промене на серверу. НФС је такође побољшао подршку за "ЛОЦАЛИО", који вам омогућава да утврдите да ли су клијент и НФС сервер на истом хосту, да бисте омогућили одговарајуће оптимизације, као што је клијент који користи директан И/О.
    • Povećano перформансе операција читања у системима датотека НЕТФС, ЦИФС и АФС (Андрев Филе Систем).
    • Ин Скуасхфс укључен режим директног учитавања блокова у кеш странице (СКУАСХФС_ФИЛЕ_ДИРЕЦТ), који вам омогућава да радите без засебног кеша странице за читање. Промена је омогућила да се смањи количина меморије која се троши при покретању Скуасхфс-а.
    • У системском позиву статк(). имплементиран СТАТКС_ДИО_РЕАД_АЛИГН заставица, за одређивање потребног поравнања за операције читања из датотеке.
    • На систему датотека Бцацхефс ажуриран и стабилизовано формат структуре диска. Све даље промене формата биће класификоване као опционе и биће спроведене у облику опционих додатака. Брзина провере интегритета система датотека је значајно повећана. Поред тога, Бцацхефс је побољшао перформансе само за читање; Решени проблеми који су довели до приступа меморији након што је ослободите (користите након ослобађања); Проблеми са рефлинк показивачима у фсцк-у су решени; Исправљена обрада поновног покретања трансакције.
    • Вратио се мд-линеарни модул дизајниран за комбиновање блок уређаја. Овај модул је раније проглашен застарелим и уклоњен из кернела 6.8, али како се испоставило, био је тражен и стога је сада враћен.
    • Системи датотека Ф2ФС и СКУАСХФС су пребачени на употребу томови страница сећања (фолио страница).
    • У возачу нулл_блк „ротациони“ атрибут је имплементиран, постављен преко цонфигфс-а и омогућава вам да симулирате рад са уређајем заснованим на ротирајућим дисковима да бисте поједноставили тестирање функција кернела.
    • У систему мапирања уређаја и у модулима дм-миррор, дм-ио, дм-табле, дм-линеар, дм-стрипе и дм-раид1 имплементиран Подршка за атомско писање.
  • Меморијске и системске услуге
    • Завршено интеграција језгра драјвера нтсинц, који имплементира /дев/нтсинц карактерни уређај и скуп примитива за синхронизацију који се користе у језгру Виндовс НТ-а. Имплементација таквих примитива на нивоу кернела може значајно побољшати перформансе Виндовс игара покренутих помоћу Вине-а. Пораст перформанси се постиже елиминацијом додатних трошкова повезаних са коришћењем РПЦ-а у корисничком простору. Креирање посебног драјвера за Линук кернел објашњава се тешкоћом исправне имплементације НТ АПИ-ја за синхронизацију поврх постојећих примитива у језгру.
    • Додат је нови контролер цгроуп ДМЕМ за одвојено обрачунавање меморијских области уређаја као што су ГПУ. ДМЕМ вам омогућава да креирате засебне цгрупе за различите ГПУ задатке тако да могу да раде без утицаја једна на другу. Нова функција решава проблем принудног прекида ГПУ операција када је доступна меморија исцрпљена, узимајући у обзир рефлектовану ГПУ меморију и ЦПУ меморију коју користе ЦПУ драјвери у појединачним цгрупама.
    • Направљене су оптимизације за скалирање операције испирања ТЛБ кеша (Транслатион Лоокасиде Буффер), која се користи за убрзавање конверзије виртуелних адреса у физичке. Додате оптимизације укључују лењо ажурирање неких структура података током промене контекста, што побољшава перформансе на неким тестовима.
    • Povećano перформансе механизма МГЛРУ (Мулти-Генератионал ЛРУ), користи се за одређивање које меморијске странице се користе и које се могу заменити на партицију за замену.
    • наставио померање промена са гране Руст-фор-Линук, у вези са коришћењем Руста као другог језика за развој драјвера и модула кернела (Руст подршка није активна подразумевано и не доводи до укључивања Руста као обавезне зависности за прављење кернела). Могуће је користити макро “изводи (ЦоерцеПоинтее)", омогућавајући употребу паметних показивача са објектима особина. У језгро uključeno Омотавање од рђе за ПЦИ, платформе, Отворите фирмвер, карактерни уређаји и неке И/О функције. Грег Кроах-Хартман, одговоран за одржавање стабилне гране Линук кернела, окарактерисан тренутно стање је „скоро спремно да напише прави драјвер у Русту“.
    • У скриптама за изградњу предложио Нови код за генерисање верзија симбола за отклањање грешака за модуле који се могу учитати, који сада користи информације из ДВАРФ форматираних записа за отклањање грешака уместо да директно анализира изворни код. Промена омогућава верзионисање симбола за отклањање грешака за модуле написане на Руст језику. Стара имплементација је такође остављена у језгру, а генератор се бира на нивоу асемблерских опција.
    • За архитектуру ПоверПЦ имплементиран подршка за режим „лење“ предности (ПРЕЕМПТ_ЛАЗИ, лази преемптион), који одговара режиму пуне предности за задатке у реалном времену (РР/ФИФО/ДЕАДЛИНЕ), али одлаже спречавање редовних задатака (СЦХЕД_НОРМАЛ) до границе.
    • У подсистем за профилисање перф перформанси додао је подршка за бројаче потрошње енергије за АМД процесоре. Додато могућност рада на системима са до 2048 ЦПУ језгара.
    • Под условом могућност коришћења параметра пид_мак сисцтл са просторима имена процеса ИД-а. Параметар пид_мак је намењен да ограничи максималну вредност идентификатора процеса (ПИД) и сада се може користити за ограничавање максималног могућег броја процеса који се покрећу у одређеном именском простору. Обрада параметара се врши хијерархијски, односно ограничења у спољним именским просторима се примењују на угнежђене просторе имена.
    • Када се користи за покретање процеса системског позива екецвеат Систем датотека /проц ће сада приказати име покренуте датотеке, а не број дескриптора датотеке.
    • Услужни програм моунтинфо је додат изворном коду језгра (у директоријуму узорака), демонстрирајући употребу системских позива статмоунт() и листмоунт().
    • У подсистему БПФ предложено нове функције бпф_лоцал_ирк_саве() и бпф_лоцал_ирк_ресторе() за привремено онемогућавање прекида на локалном ЦПУ-у. Функције се могу користити за имплементацију структура чија обрада није обустављена прекидима.
    • У системском позиву мадвисе() када користите ознаке МАДВ_ДОНТНЕЕД и МАДВ_ФРЕЕ obezbeđeno Ослобађање таблица меморијских страница повезаних са опсегом адреса који се ослобађа, пошто у неким ситуацијама празне меморијске странице могу заузети доста меморије.
    • За ОпенРИСЦ архитектуру, подршка за механизам секвенце који се може поново покренути (рсек, секвенце које се могу поново покренути), дизајниран за брзо атомско извршавање операција које се, ако их прекине друга нит, чисте и покушавају поново.
    • Код је реорганизован имплементацијом ЦРЦ32 и ЦРЦ-Т10ДИФ алгоритама, који се више не укршта са крипто подсистемом и позива се директно из интерфејса библиотеке. Промена нам је омогућила да поједноставимо код и побољшамо његову ефикасност.
    • На асинхрони улаз/излаз систем ио_уринг додато Интерфејс за прослеђивање додатних метаподатака интегритета приликом извођења операција читања и писања.
  • Виртуелизација и безбедност
    • У системском позиву екецвеат додато заставица АТ_ЕКСЕЦВЕ_ЦХЕЦК, дозвољава изврши проверу дозвољеност извршавања датотеке без стварног покретања, али узимајући у обзир безбедносне политике, права приступа и активне ЛСМ модуле. За употребу у комбинацији са АТ_ЕКСЕЦВЕ_ЦХЕЦК, предложене су сецуребит заставице СЕЦБИТ_ЕКСЕЦ_РЕСТРИЦТ_ФИЛЕ и СЕЦБИТ_ЕКСЕЦ_ДЕНИ_ИНТЕРАЦТИВЕ, које се могу користити за ограничавање извршавања датотека са скриптама у интерпретираним програмским језицима. Ознака СЕЦБИТ_ЕКСЕЦ_РЕСТРИЦТ_ФИЛЕ налаже повезивачима и тумачима да користе опцију АТ_ЕКСЕЦВЕ_ЦХЕЦК да провере да ли је извршење важеће, а ознака СЕЦБИТ_ЕКСЕЦ_ДЕНИ_ИНТЕРАЦТИВЕ спречава обраду интерактивних команди. Основна идеја промене је могућност примене безбедносних политика не само на традиционалне извршне датотеке, већ и на текстуалне датотеке са скриптама које се могу учитати покретањем интерпретатора (тј. забрана извршавања се може применити не само када се покреће „./сцрипт.сх” већ и када се извршава у облику „сх сцрипт.сх”).
    • На к86 системима је имплементирана подршка за заштићене бројаче времена за гостујуће системе, што не дозвољава промену сата система госта из окружења домаћина. Могућност се спроводи на основу механизма АМД СЕВ (Сецуре Енцриптед Виртуализатион), користи се у системима виртуелизације за заштиту виртуелних машина од ометања хипервизора или администратора хост система.
    • Систему обавезне контроле приступа СЕЛинук додао је подршка кперм-правила, дозвољавајући СЕЛинук политикама да буду везане за одређене иоцтл() позиве или нетлинк поруке.
    • За дигитално потписивање модула кернела уместо подразумеваног СХА1 укључени СХА512 алгоритам.
    • У ВиртуалБок гостујућим драјверима укључени подршка за АРМ64 архитектуру.
    • У КВМ хипервизору продужен посао преко коришћења Интел ТДКС (Трустед Домаин Ектенсионс) механизма за шифровање меморије гостујућих система.
    • Ин виртио_блк додао је подршка за режим опоравка од грешке.
  • Мрежни подсистем
    • У спровођењу протокола РкРПЦ појавио се могућност коришћења великих УДП оквира за повећање пропусности.
    • Додата подршка за алгоритам за ТЦП РАЦК-ТЛП да се утврди губитак пакета.
    • Додато нови сисцтл параметар тцп_тв_реусе_делаи, који ради у спрези са мрежним простором имена и омогућава вам да одредите кашњење уведено пре него што систем може поново да користи број мрежног порта након затварања ТЦП утичнице.
    • Додато могућност избора добављача прецизног времена (ПТП) за генерисање временских ознака на ПХИ и МАЦ нивоима.
    • За ИПсец имплементиран подршка за механизам агрегације и фрагментације енкапсулираних ИП пакета – ИП-ТФС/АГГФРАГ (Режим безбедности тока ИП саобраћаја/агрегације и фрагментације за инкапсулацију безбедносног терета).
    • На систем мрежних утичница додао је подршка пренос информација о приоритету (СО_ПРИОРИТИ) у облику контролних порука (цмсг – контролне поруке). За мрежне утичнице додао је опција СО_РЦВПРИОРИТИ, која омогућава пренос информација о приоритету сокета функцији рецвмсг().
  • Оборудование
    • Додато возач амдкдна за НПУ (Неурал Процессинг Унит) акцелераторе засноване на архитектури интегрисане у АМД ЦПУ КСДНА, дизајниран да убрза операције везане за машинско учење. НПУ засновани на КСДНА архитектури доступни су у серијама 7040 и 8040 АМД Ризен процесора, АМД Алвео В70 акцелераторима и АМД Версал СоЦ-овима.
    • У драјверу за и915 додао је идентификатори нових ГПУ-а, имплементиран је обрађивач грешака при иницијализацији ХДМИ, а побољшана је поузданост ресетовања ГПУ мотора на Хасвелл-у и старијим системима.
    • Настављено рад на дрм драјверу (Дирецт Рендеринг Манагер) Ксе за ГПУ засноване на Интел Ксе архитектури, који се користи у Интел Арц фамилији видео картица и интегрисане графике, почевши од Тигер Лаке процесора.
    • Ноувеау драјвер сада има могућност да преноси бафере са ГСП-РМ евиденцијама преко дебугф-ова.
    • АМДГПУ драјвер подржава ДРМ механизам за панику, који приказује нешто попут „плавог екрана смрти“ у случају кварова. Настављају се припреме за подршку будуће серије Радеон РКС 9000 графичких картица заснованих на РДНА4 архитектури. Ажурирана подршка за ДЦН 3.5, ГГ 9.5, ИХ 4.4, ПСП 13.к, СМУ 13.к, ВЦН 5.к, ЈПЕГ 5.к, ГЦ 12.к, ДЦ ФАМС, РАС и ИСП.
    • Подршка за платформу Куалцомм СМ6150 (КЦС615) је додата мсм ДРМ драјверу (Куалцомм Адрено ГПУ).
    • Додата подршка за СоЦ МедиаТек МТ8188 са ГПУ Мали-Г57 за панфрост ДРМ драјвер.
    • Додата подршка за Броадцом БЦМ4 СоЦ (Распберри Пи 2712) за вц5 ДРМ драјвер.
    • У вфио драјверу нвграце-гпу додао је подршка НВИДИА Граце Блацквелл 200 чипови.
    • Структура укључен Драјвер за Интел ТХЦ (Тоуцх Хост Цонтроллер) контролере, који се користе за интеракцију са екранима осетљивим на додир и тачпедима на неким лаптоповима. Додата подршка за Вацом уређаје са ПЦИ интерфејсом. Додато подршка за КХ Елецтроницс контролере игара.
    • Додато подршка АРМ плоче, СоЦ-ови и уређаји: Куалцомм Снапдрагон 8 Елите (СМ8750), Куалцомм Снапдрагон АР2 (САР2130П), Куалцомм ИК6/ИК8, Снапдрагон 425 (МСМ8917), Самсунг Екинос 9810, Блаизе1600БЛЗПцхи7, Блаизе65БЛ4нес Р-Цар В3.0Х ЕС3, Ренесас РЗ/ГXNUMXЕ. Додата подршка за СоЦ СпацемиТ К1 заснован на РИСЦ-В архитектури.
    • У АЛСА аудио подсистему за МИДИ 2.0 проширен АПИ равмиди и секвенцер. АСРЦ (Асинцхроноус Сампле Рате Цонверсион) подршка је додата АПИ-ју за ослобађање операција компресије на страну звучне картице.
    • Додата подршка за звучне системе Аллвиннер суинв Ф1Ц100с, Авинц АВ88083, Реалтек АЛЦ5682И-ВЕ, ТАС2781, Фоцусрите Сцарлетт 4. Ген 16и16, 18и16 и 18и20 уређаја. Додато подршка за СтеелСериес Арцтис 9 бежичне слушалице.

Извор: линук.орг.ру

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