Linux 5.6 kjarnaútgáfa

Eftir tveggja mánaða þróun, Linus Torvalds kynnt kjarnaútgáfu Linux 5.6. Meðal athyglisverðustu breytinganna: samþætting WireGuard VPN viðmótsins, stuðningur við USB4, nafnrými fyrir tíma, hæfileikinn til að búa til TCP þrengslur með BPF, upphafsstuðningur fyrir MultiPath TCP, losa kjarnann við 2038 vandamálið, „bootconfig“ vélbúnaðurinn , ZoneFS.

Nýja útgáfan inniheldur 13702 lagfæringar frá 1810 forriturum,
plástrastærð - 40 MB (breytingar höfðu áhrif á 11577 skrár, 610012 línur af kóða var bætt við,
294828 raðir fjarlægðar). Um 45% allra kynnt í 5.6
breytingar tengjast reklum tækja, um það bil 15% breytinga eru það
viðhorf til uppfærslu kóða sem er sértækur fyrir vélbúnaðararkitektúr, 12%
tengt við netstafla, 4% við skráarkerfi og 3% með innri
kjarna undirkerfi.

Helstu nýjungar:

  • Net undirkerfi
    • Bætt við innleiðing á VPN tengi WireGuard, sem er útfært á grundvelli nútíma dulkóðunaraðferða (ChaCha20, Poly1305, Curve25519, BLAKE2s), er auðvelt í notkun, laust við fylgikvilla, hefur sannað sig í fjölda stórra útfærslur og gefur mjög mikla afköst (3,9 sinnum hraðari en OpenVPN hvað varðar skilmálar). af afköstum). WireGuard notar hugtakið dulkóðunarlyklaleið, sem felur í sér að festa einkalykil við hvert netviðmót og nota hann til að binda opinberu lyklana. Skipt er á almennum lyklum til að koma á tengingu á svipaðan hátt og SSH. Dulmáls frumstæður sem þarf til að WireGuard virki voru flutt yfir frá bókasafninu sink sem hluti af venjulegu Crypto API og innifalið inn í kjarnann 5.5.
    • Byrjaði samþætting íhluta sem nauðsynlegir eru til að styðja MPTCP (MultiPath TCP), framlenging á TCP-samskiptareglum til að skipuleggja rekstur TCP-tengingar með afhendingu pakka samtímis eftir nokkrum leiðum í gegnum mismunandi netviðmót sem tengjast mismunandi IP-tölum. Fyrir netforrit lítur slík samanlögð tenging út eins og venjuleg TCP tenging og öll flæðisaðskilnaðarrökfræðin er framkvæmd af MPTCP. Multipath TCP er hægt að nota bæði til að auka afköst og auka áreiðanleika. Til dæmis er hægt að nota MPTCP til að skipuleggja gagnaflutning á snjallsíma með því að nota WiFi og 4G hlekki samtímis, eða til að draga úr kostnaði með því að tengja netþjón með nokkrum ódýrum hlekkjum í stað einnar dýrs.
    • Bætt við stuðningur við netröð vinnslugrein sch_ets (Aukið flutningsval, IEEE 802.1Qaz), sem veitir möguleika á að dreifa bandbreidd milli mismunandi flokka umferðar. Ef álagið á tiltekinn umferðarflokk er undir úthlutaðri bandbreidd, þá leyfir ETS öðrum umferðarflokkum að nota tiltæka (ónotaða) bandbreidd. Qdisc sch_ets er stillt sem PRIO fræðigrein og notar umferðarflokka til að skilgreina ströng og sameiginleg bandbreiddarmörk. ETS virkar sem sambland af fræðigreinum FYRIR и DRR — ef það eru stranglega takmarkaðir umferðarflokkar er PRIO notað, en ef engin umferð er í biðröðinni virkar það eins og DRR.
    • Bætti við nýrri tegund af BPF forritum BPF_PROG_TYPE_STRUCT_OPS, sem gerir þér kleift að innleiða kjarnaaðgerðastjórnun í gegnum BPF. Eins og er er nú þegar hægt að nota þennan eiginleika til að innleiða TCP þrengslumýringarreglur í formi BPF forrita. Sem dæmi lagt til BPF forrit með innleiðingu reiknirit DCTCP.
    • Samþykkt inn í kjarnann breytingar, þýðingarverkfæri ethool með ioctl() til að nota netlink tengi. Nýja viðmótið gerir það auðveldara að bæta við viðbótum, bætir villumeðferð, gerir kleift að senda tilkynningar þegar ástand breytist, einfaldar samskipti milli kjarna og notendarýmis og dregur úr fjölda nafngreindra lista sem þarf að samstilla.
    • Bætt við útfærslu á FQ-PIE (Flow Queue PIE) netriðrunaralgrími, sem miðar að því að draga úr neikvæðum áhrifum millipakkabuffunar á jaðarnetbúnaði (bufferbloat). FQ-PIE sýnir mikla skilvirkni þegar það er notað í kerfum með kapalmótaldi.
  • Diska undirkerfi, I/O og skráarkerfi
    • Fyrir Btrfs skráarkerfi bætt við ósamstillt útfærsla á DISCARD aðgerðinni (merkir losaðar blokkir sem ekki þarf lengur að geyma líkamlega). Upphaflega voru DISCARD aðgerðir framkvæmdar samstillt, sem gæti leitt til skerðingar á frammistöðu vegna þess að drif biðu eftir að samsvarandi skipunum yrði lokið. Ósamstillt útfærsla gerir þér kleift að bíða ekki eftir að drifið ljúki DISCARD og framkvæma þessa aðgerð í bakgrunni.
    • Í XFS framkvæmt Að hreinsa upp kóða sem notaði gamla 32-bita tímateljara (time_t gerðinni var skipt út fyrir time64_t), sem leiddi til 2038 vandamálsins. Lagaðar villur og minnisskemmdir sem urðu á 32 bita kerfum. Kóðinn hefur verið endurgerður til að vinna með útbreidda eiginleika.
    • Til ext4 skráarkerfi kynnt Hagræðing afkasta sem tengist meðhöndlun inódulæsingar meðan á lestri og ritun stendur. Bætt endurritunarafköst í beinni I/O ham. Til að einfalda greiningu á vandamálum eru fyrsti og síðasti villukóðinn geymdur í ofurblokkinni.
    • Á F2FS skráarkerfinu komið til framkvæmda getu til að geyma gögn í þjöppuðu formi. Fyrir einstaka skrá eða möppu er hægt að virkja þjöppun með því að nota skipunina "chattr +c file" eða "chattr +c dir; snerta dir/skrá". Til að þjappa öllu skiptingunni geturðu notað „-o compress_extension=ext“ valmöguleikann í mount tólinu.
    • Kjarninn inniheldur skráarkerfi ZoneFS, sem einfaldar vinnu á lágu stigi með svæðisbundnum geymslutækjum. Svæðisbundin drif þýðir tæki á hörðum seguldiskum eða NVMe SSD diskum, geymslurýminu þar sem er skipt í svæði sem mynda hópa af blokkum eða geirum, þar sem aðeins er leyft að bæta við gögnum í röð, sem uppfærir allan hóp blokkanna. FS ZoneFS var þróað af Western Digital og tengir hvert svæði í drifinu við sérstaka skrá sem hægt er að nota til að geyma gögn í hráum ham án þess að meðhöndla á sviði og blokk stigi, þ.e. Leyfir forritum að nota skráar-API í stað þess að fá beinan aðgang að blokkartækinu með ioctl.
    • Í NFS er sjálfgefið óvirkt að setja upp skipting yfir UDP. Bætti við stuðningi við möguleikann á að afrita skrár beint á milli netþjóna, skilgreind í NFS 4.2 forskriftinni. Bætti við nýjum festingarvalkosti „softreval“ sem gerir kleift að nota skyndiminni eigindagildi ef miðlarabilun verður. Til dæmis, þegar þessi valkostur er tilgreindur, eftir að þjónninn er ekki tiltækur, er áfram hægt að fara eftir slóðum í NFS skiptingunni og fá aðgang að upplýsingum sem hafa komið sér fyrir í skyndiminni.
    • Framkvæmt hagræðingu á frammistöðu fs-verity vélbúnaðarins, notaður til að fylgjast með heiðarleika og auðkenningu einstakra skráa. Aukinn raðlestrarhraði þökk sé notkun Merkle kjötkássatrés. Frammistaða FS_IOC_ENABLE_VERITY hefur verið fínstillt þegar engin gögn eru í skyndiminni (fyrirbyggjandi lestur á síðum með gögnum hefur verið beitt).
  • Sýndarvæðing og öryggi
    • Möguleikinn á að slökkva á SELinux einingunni á meðan hún er í gangi hefur verið úrelt og afhleðsla SELinux sem þegar hefur verið virkjað verður bönnuð í framtíðinni. Til að slökkva á SELinux þarftu að senda "selinux=0" færibreytuna á kjarna skipanalínunni.
    • Bætt við stuðningur við nafnrými fyrir tíma (tímanafnarými), sem gerir þér kleift að binda stöðu kerfisklukkunnar við ílátið (CLOCK_REALTIME,
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), notaðu þinn eigin tíma í ílátinu og, þegar þú flytur ílátið til annars hýsils, vertu viss um að CLOCK_MONOTONIC og CLOCK_BOOTTIME aflestur haldist óbreyttur (taktu með í reikninginn tímann eftir hleðslu, með eða án þess að taka tillit til þess að vera í svefnstillingu ).

    • /dev/random blokkunarhópurinn hefur verið fjarlægður. Hegðun /dev/random er svipuð og /dev/urandom hvað varðar að koma í veg fyrir óreiðublokkun eftir frumstillingu laugar.
    • Kjarnakjarnan inniheldur rekla sem gerir gestakerfum sem keyra VirtualBox kleift að tengja möppur sem fluttar eru út af hýsilumhverfinu (VirtualBox Shared Folder).
    • Setti plástra hefur verið bætt við BPF undirkerfið (BPF sendill), þegar Retpoline vélbúnaðurinn er notaður til að vernda gegn Spectre V2 flokki árásum, gerir það þér kleift að auka skilvirkni þess að hringja í BPF forrit þegar atburðir sem tengjast þeim eiga sér stað (til dæmis gerir það mögulegt að flýta fyrir því að hringja í XDP meðhöndlara þegar a netpakki kemur).
    • Bætt við reklum til að styðja TEE (Trusted Execution Environment) innbyggt í AMD APU.
  • Minni og kerfisþjónusta
    • BPF hefur bætt við stuðningi við alþjóðlegar aðgerðir. Þróun er unnin sem hluti af átaki til að bæta við stuðningi við söfn með aðgerðir sem hægt er að taka með í BPF forritum. Næsta skref verður að styðja við kraftmikla viðbætur sem gera kleift að hlaða alþjóðlegum aðgerðum, þar á meðal að skipta út núverandi alþjóðlegum aðgerðum á meðan þær eru í notkun. BPF undirkerfið bætir einnig við stuðningi við afbrigði af kortaaðgerðinni (notað til að geyma viðvarandi gögn), sem styður framkvæmd í lotuham.
    • Bætt við „Cpu_cooling“ tækið gerir þér kleift að kæla ofhitaðan örgjörva með því að setja hann í aðgerðalausa stöðu í stuttan tíma.
    • Bætt við kerfissímtali openat2(), sem býður upp á sett af viðbótarflöggum til að takmarka upplausn skráarslóða (bann við að fara yfir tengipunkta, táknræna tengla, töfratengla (/proc/PID/fd), "../" hluti).
    • Fyrir ólík kerfi sem byggjast á stóra.LITTLE arkitektúrnum, sem sameinar öfluga og óhagkvæmari orkunýtna örgjörvakjarna í einum flís, er uclamp_min færibreytan stillt þegar rauntímaverkefni eru framkvæmd (komið fram í kjarna 5.3 er vélbúnaður til að tryggja álagið). Þessi færibreyta tryggir að verkefnið verði sett af tímaáætlunaraðilanum á CPU kjarna sem hefur nægilega afköst.
    • Kjarninn er laus við vandamál 2038. Skipti út síðustu meðhöndlunum sem eftir voru, sem notuðu 32-bita (signed int) tegundina time_t fyrir tímateljarann, sem, að teknu tilliti til skýrslunnar frá 1970, ætti að flæða yfir árið 2038.
    • Áframhaldandi endurbætur á ósamstilltu I/O viðmótinu io_úringþar sem veitt stuðningur við nýjar aðgerðir: IORING_OP_FALLOCATE (geymsla á tómum svæðum), IORING_OP_OPENAT,
      IORING_OP_OPENAT2,
      IORING_OP_CLOSE (opnun og lokun skráa),
      IORING_OP_FILES_UPDATE (bætir við og fjarlægir skrár af flýtiaðgangslistanum),
      IORING_OP_STATX (beiðni um skráarupplýsingar),
      IORING_OP_READ,
      IORING_OP_WRITE (einfölduð hliðstæður IORING_OP_READV og IORING_OP_WRITEV),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (ósamstilltur afbrigði af köllum posix_fadvise og madvise), IORING_OP_SEND,
      IORING_OP_RECV (sending og móttaka netgagna),
      IORING_OP_EPOLL_CTL (framkvæma aðgerðir á epoll skráarlýsingum).

    • Bætt við kerfissímtali pidfd_getfd(), sem gerir ferli kleift að sækja skráarlýsingu fyrir opna skrá úr öðru ferli.
    • Framkvæmt „bootconfig“ vélbúnaðurinn, sem gerir, auk skipanalínuvalkosta, kleift að ákvarða færibreytur kjarnans í gegnum stillingaskrá. Til að bæta slíkum skrám við initramfs myndina er lagt til að ræsistillingarforritið sé notað. Hægt er að nota þennan eiginleika til dæmis til að stilla kprobes við ræsingu.
    • Endurhannað vélbúnaður til að bíða eftir að skrifa og lesa gögn í ónefndum pípum. Breytingin gerði það að verkum að hægt var að flýta verkefnum eins og samhliða samsetningu stórra verkefna. Hins vegar getur hagræðing leitt til keppnisástands í GNU-gerð vegna villu í 4.2.1 útgáfunni, sem var lagfærð í útgáfu 4.3.
    • Bætti PR_SET_IO_FLUSHER fánanum við prctl(), sem hægt er að nota til að merkja minnislaus ferli sem ættu ekki að vera háð takmörkunum þegar kerfið er með lítið minni.
    • Byggt á ION minnisdreifingarkerfinu sem notað er í Android hefur undirkerfi verið innleitt dma-buf hrúga, sem gerir þér kleift að stjórna úthlutun DMA biðminni til að deila minnissvæðum milli rekla, forrita og ýmissa undirkerfa.
  • Vélbúnaðararkitektúr
    • Bætti við stuðningi við E0PD viðbótina, sem birtist í ARMv8.5 og gerir ráð fyrir vernd gegn árásum sem tengjast íhugandi framkvæmd leiðbeininga á örgjörvanum. E0PD byggð vörn leiðir til lægri kostnaður en KPTI (Kernel Page Table Isolation) vörn.
    • Fyrir kerfi sem byggja á ARMv8.5 arkitektúr hefur stuðningi við RNG kennsluna verið bætt við, sem veitir aðgang að vélbúnaðargervi-handahófsnúmeragjafa. Í kjarnanum er RNG leiðbeiningin notuð til að búa til óreiðu þegar frumstillt er gervi-handahófsnúmeraframleiðanda frá kjarnanum.
    • Fjarlægður stuðningur fyrir MPX (Memory Protection Extensions) bætt við í kjarnanum 3.19 og gerir þér kleift að skipuleggja athugun á ábendingum til að tryggja að mörk minnisvæða séu virt. Þessi tækni var ekki mikið notuð í þýðendum og var fjarlægð úr GCC.
    • Fyrir RISC-V arkitektúrinn hefur stuðningur við KASan (Kernel address sanitizer) kembiforritið verið innleitt, sem hjálpar til við að bera kennsl á villur þegar unnið er með minni.
  • Оборудование
    • Forskriftarstuðningur innleiddur USB 4.0, sem er byggð á Thunderbolt 3 samskiptareglunum og veitir afköst allt að 40 Gbps, en viðhalda afturábakssamhæfi við USB 2.0 og USB 3.2. Með hliðstæðum hætti við Þrumufleygur USB 4.0 tengi gerir þér kleift að setja mismunandi samskiptareglur yfir eina snúru með tengi Tegund-C, þar á meðal PCIe, Display Port og USB 3.x, svo og hugbúnaðarútfærslur á samskiptareglum, til dæmis til að skipuleggja nettengingar milli gestgjafa. Útfærslan byggir á Thunderbolt reklinum sem þegar er innifalinn í Linux kjarnanum og aðlagar hann til að vinna með USB4-samhæfum vélum og tækjum. Breytingarnar bæta einnig stuðningi við Thunderbolt 3 tæki við hugbúnaðarútfærslu Connection Manager, sem sér um að búa til göng til að tengja mörg tæki í gegnum eitt tengi.
    • Í amdgpu bílstjóri bætt við upphafsstuðningur fyrir HDCP 2.x (High-bandwidth Digital Content Protection) afritunarvarnartækni. Bætti við stuðningi fyrir AMD Pollock ASIC flöguna sem byggir á Raven 2. Útfærði möguleikann á að endurstilla GPU fyrir Renoir og Navi fjölskyldurnar.
    • DRM bílstjóri fyrir Intel skjákort bætt við DSI VDSC stuðningur fyrir flögur byggðar á Ice Lake og Tiger Lake örarkitektúr, LMEM mmap (staðbundið minni tækis) hefur verið innleitt, VBT (Video BIOS Table) þáttun hefur verið endurbætt, HDCP 2.2 stuðningur hefur verið útfærður fyrir Coffee Lake flögur.
    • Áfram var unnið að því að sameina amdkfd ökumannskóðann (fyrir stakar GPU, eins og Fiji, Tonga, Polaris) við amdgpu ökumanninn.
    • K10temp bílstjórinn hefur verið endurgerður og bætti við stuðningi við að sýna spennu og straumbreytur fyrir AMD Zen örgjörva, sem og auknar upplýsingar frá hitaskynjurum sem notaðir eru í Zen og Zen 2 örgjörva.
    • Í nýja bílstjóranum bætt við stuðningur við staðfestan fastbúnaðarhleðsluham fyrir NVIDIA GPU sem byggir á Turing örarkitektúr (GeForce RTX 2000), sem gerði það mögulegt að virkja stuðning við 3D hröðun fyrir þessi kort (þarf að hlaða niður opinberum fastbúnaði með NVIDIA stafrænni undirskrift). Bætti við stuðningi við TU10x grafíkvélina. Vandamál með HD Audio hafa verið leyst.
    • Bætt við stuðningi við gagnaþjöppun þegar þau eru send um DisplayPort MST (Multi-Stream Transport).
    • Nýr bílstjóri bætt við"11 þús» fyrir Qualcomm þráðlausa flís sem styðja 802.11ax.
      Ökumaðurinn er byggður á mac80211 staflanum og styður aðgangsstað, vinnustöð og nethnútastillingar fyrir möskva.

    • Í gegnum sysfs er veittur aðgangur að læsilegum hitaskynjara sem notaðir eru á nútíma hörðum diskum og SSD diskum.
    • Lagt fram verulegar breytingar á ALSA hljóðkerfinu, sem miða að því að losa um kóðann vandamál 2038 (forðastu notkun á 32-bita time_t gerðinni í snd_pcm_mmap_status og snd_pcm_mmap_control tengi). Bætti við stuðningi fyrir nýja hljóðmerkjamál
      Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.

    • Bætt við rekla fyrir LCD spjöld Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Sharp LS020B1DD01D.

    • Bætt við stuðningur fyrir ARM borð og Gen1 palla Amazon Echo (undirstaða OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 rafbókalesari,
      Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX og HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
      Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
      ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863com7180m 4. Bætti við stuðningi við PCIe stjórnandi sem notaður er í Raspberry Pi XNUMX.

Á sama tíma, Latin American Free Software Foundation myndast
вариант alveg ókeypis kjarna 5.6 - Linux-frítt 5.6-gnu, hreinsaður af vélbúnaðar- og ökumannseiningum sem innihalda ófrjálsa íhluti eða kóðahluta, en umfang þeirra er takmarkað af framleiðanda. Nýja útgáfan slekkur á blobhleðslu í rekla fyrir AMD TEE, ATH11K og Mediatek SCP. Uppfærður blob-hreinsunarkóði í AMD PSP, amdgpu og nouveau rekla og undirkerfum.

Heimild: opennet.ru

Bæta við athugasemd