Framfaraskýrsla FreeBSD 2019. ársfjórðungs XNUMX

birt skýrslu um þróun FreeBSD verkefnisins frá apríl til júní 2019. Meðal breytinga sem við getum tekið eftir:

  • Almenn og kerfisbundin atriði
    • Kjarnateymið ákvað að stofna vinnuhóp til að kanna möguleikann á að færa frumkóðann frá miðstýrða Subversion frumstýringarkerfinu yfir í dreifða Git kerfið.
    • Framkvæmdi fuzz prófun á FreeBSD kjarnanum með því að nota kerfið syzkaller og fjöldi auðkenndra villna var leiðréttur. Lagi bætt við til að prófa óljósar bókasöfn fyrir samhæfni við 32 bita umhverfi á kerfum með 64 bita kjarna. Innleitt getu til að keyra syzkaller í sýndarvélum sem byggja á bhyve. Á næsta stigi er fyrirhugað að auka umfang kerfissímtalsprófunar, nota LLVM sótthreinsiefni til að athuga kjarnann, nota netdump til að vista kjarnaupptökur við hrun við óljós prófun o.s.frv.
    • Vinna er hafin við að uppfæra zlib útfærsluna á kjarnastigi. Fyrir kjarnaaðgang að zlib kóða var contrib/zlib möppunni breytt í sys/contrib/zlib og crc.h hausskránni var einnig breytt til að forðast átök við zlib/crc.h. Hreinsaði upp eldri kóða sem var háður zlib og blása upp. Næst er fyrirhugað að bjóða upp á getu til að byggja upp kjarnann samtímis gamla og nýja zlib fyrir hægfara flutning yfir í nýja útgáfu af aðgerðum sem nota þjöppun;
    • Linux umhverfi hermi innviði (Linuxulator) hefur verið uppfært. Aukinn stuðningur við Linux kembiforrit eins og strace tólið. Linux-c7-strace pakkanum hefur verið bætt við tengin, sem hægt er að nota til að rekja Linux keyrsluskrár í stað venjulegu truss og ktrace tólanna, sem geta ekki enn afkóða suma Linux sértæka fána og uppbyggingu. Að auki hefur linux-ltp pakkanum með Linux Test Project executables verið bætt við og samhæfisvandamál við executables tengd nýjum útgáfum af glibc hafa verið leyst;
    • Innleiðing seinkaðrar ógildingaraðgerða í pmap vélbúnaðinum hefur verið færð yfir í notkun á biðröðvinnslualgrími sem virkar án læsinga, sem hefur gert það mögulegt að leysa sveigjanleikavandamál þegar verið er að framkvæma fjölda samhliða afkortaaðgerða;
    • Búnaðurinn til að loka á vnode meðan á keyrslu kerfiskalla í execve() fjölskyldunni stendur hefur verið breytt, sem hefur gert það mögulegt að ná aukinni skilvirkni þegar execve() er keyrt samtímis fyrir sömu skrá (td þegar samsetningaraðgerðir eru framkvæmdar með samhliða samsetningu) af ræsingu þýðanda);
  • öryggi
    • Bhyve hypervisor heldur áfram að bæta stuðning við lifandi flutning gestaumhverfis frá einum gestgjafa til annars og vista/endurheimta virknina, sem gerir þér kleift að frysta gestakerfið, vista ástandið í skrá og halda síðan áfram keyrslu.
    • Með notkun libvdsk bókasafnsins hefur bhyve bætt við stuðningi við diskamyndir á QCOW2 sniði. Uppsetning þarf til að virka
      sérstaklega breytt útgáfa af bhyve, sem hefur verið breytt til að nota skráaraðgerðir sem byggjast á libvdsk. Á skýrslutímabilinu vann libvdsk einnig vinnu til að einfalda samþættingu stuðnings við ný snið, bæta lestrar- og skrifafköst og bæta við stuðningi við Copy-On-Write. Af þeim verkefnum sem eftir eru er tekið fram samþættingu libvdsk í aðalskipulag bhyve;

    • Kerfi til að safna umferðarupplýsingum hefur verið bætt við hafnirnar
      Maltrail, sem gerir þér kleift að búa til gildrur fyrir skaðlegar netbeiðnir (IP-tölur og lén af svörtum listum eru merkt) og senda upplýsingar um greind virkni til miðlægs netþjóns til að loka eða greina árásartilraunir í kjölfarið;

    • Pallum hefur verið bætt við gáttirnar til að greina árásir, greina annála og fylgjast með heiðarleika skráa Wazuh (gaffli Ossec með stuðningi við samþættingu við ELK-Stack);
  • Net undirkerfi
    • Ena rekillinn hefur verið uppfærður til að styðja við aðra kynslóð ENAv2 (Elastic Network Adapter) netmillistykki sem notuð eru í Elastic Compute Cloud (EC2) innviðum til að skipuleggja samskipti milli EC2 hnúta á allt að 25 Gb/s hraða. NETMAP stuðningi hefur verið bætt við ena driverinn.
    • FreeBSD HEAD samþykkir nýjan MMC/SD stafla, byggðan á CAM ramma og gerir þér kleift að tengja tæki með SDIO (Secure Digital I/O) viðmóti. Til dæmis er SDIO notað í WiFi og Bluetooth einingar fyrir mörg bretti, eins og Raspberry Pi 3. Nýi staflan gerir einnig kleift að nota CAM viðmótið til að senda SD skipanir frá forritum í notendarými, sem gerir það mögulegt að búa til tæki ökumenn sem starfa á notendastigi. Vinna er hafin við að búa til rekla fyrir Broadcom þráðlausa flís sem starfa í FullMAC ham (á flíshliðinni keyrir það svipur á eigin stýrikerfi með útfærslum á 802.11 þráðlausa stafla sínum);
    • Unnið er að því að innleiða NFSv4.2 (RFC-7862) fyrir FreeBSD. Nýja útgáfan af NFS bætir við stuðningi við posix_fadvise, posix_fallocate aðgerðir, SEEKHOLE/SEEKDATA stillingar í lseek, og virkni staðbundinnar afritunar hluta skráar á þjóninum (án flutnings til biðlarans).

      FreeBSD veitir sem stendur grunnstuðning fyrir LayoutError, IOAdvise, Allocate og Copy aðgerðir. Allt sem er eftir er að innleiða Seek aðgerðina sem þarf til að nota lseek(SEEKHOLE/SEEKDATA) með NFS. NFSv4.2 stuðningur er fyrirhugaður fyrir FreeBSD 13;

  • Geymsla og skráarkerfi
    • Verkefninu að endurvinna ökumanninn fyrir FUSE (File system in USErspace) undirkerfið, sem gerir kleift að búa til útfærslur á skráarkerfum í notendarými, er að ljúka. Rekillinn sem upphaflega fylgdi með er úreltur og inniheldur margar villur. Sem hluti af nútímavæðingarverkefni ökumanna var stuðningur við FUSE 7.23 samskiptareglur innleiddur (áður útgáfa 7.8, gefin út fyrir 11 árum síðan var studd), kóða var bætt við til að athuga aðgangsrétt á kjarnahliðinni ("-o default_permissions"), símtöl til VOP_MKNOD, VOP_BMAP og VOP_ADVLOCK var bætt við, möguleikinn á að trufla FUSE-aðgerðir, bætti við stuðningi við ónefnda rör og unix-innstungur í fusefs, möguleikinn á að nota kqueue fyrir /dev/fuse, leyfði uppfærslu á festingarbreytum í gegnum „mount -u“, bætti við stuðningi fyrir útflutning á fusefs í gegnum NFS, innleitt RLIMIT_FSIZE bókhald, bætt við FOPEN_KEEP_CACHE fánum og FUSE_ASYNC_READ, verulegar hagræðingar hafa verið gerðar og skipulag skyndiminni hefur verið bætt;
    • Stuðningur fyrir BIO_DELETE aðgerðina hefur verið bætt við skiptikallakóðann, sem gerir þér kleift að nota TRIM skipunina þegar þú fjarlægir blokkir af SSD drifum til að auka endingartíma þeirra.
  • Stuðningur við vélbúnað
    • Vinna heldur áfram að innleiða stuðning fyrir ARM64 SoC Broadcom BCM5871X með ARMv8 Cortex-A57 örgjörvum, sem miðar að notkun í beinum, gáttum og netgeymslu. Á skýrslutímabilinu var stuðningur við innri og ytri iProc PCIe rútur bættur, stuðningi við BNXT Ethernet bætt við og unnið er að því að nota innbyggðu dulritunarvélina til að flýta fyrir IPsec. Gert er ráð fyrir samþættingu kóðans í HEAD útibúið á seinni hluta ársins;
    • Vinna er hafin við stuðning við 64 bita SoC NXP LS1046A sem byggir á ARMv8 Cortex-A72 örgjörva með samþættri netpakkavinnslu hröðunarvél, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 og USB 3.0. Stuðningur við grunnvettvang (fjölnotenda SMP) og SATA 3.0 hefur þegar verið innleiddur. Stuðningur við USB 3.0, SD/MMC og I2C er í þróun. Áætlanirnar innihalda stuðning fyrir Ethernet, GPIO og QSPI. Verklok og innlimun í HEAD útibúið er gert ráð fyrir á 4. ársfjórðungi 2019.
    • Uppfærðir mlx5en og mlx5ib rekla fyrir Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex] og ConnectX-6 [Dx] Ethernet og InfiniBand millistykki. Bætt við stuðningi fyrir Mellanox Socket Direct (ConnectX-6) millistykki, sem gerir kleift að afkösta allt að 200Gb/s á PCIe Gen 3.0 rútunni. Fyrir fjölkjarna BlueField flís hefur verið bætt við stuðningi við RShim rekil. mstflint pakkinn með setti af greiningartólum fyrir Mellanox millistykki hefur verið bætt við tengin;
  • Umsóknir og hafnarkerfi
    • Íhlutir grafíkstafla hafa verið uppfærðir. Drm.ko (Direct Rendering Manager) bílstjórinn hefur verið fluttur úr Linux 5.0 kjarnanum. Þessi bílstjóri er talinn tilraunakenndur og hefur verið bætt við ports tréið sem grafík/drm-devel-kmod. Þar sem ökumaðurinn notar uppfærða Linux KPI ramma til að vera samhæfur við Linux kjarna DRM API, þarf FreeBSD CURRENT til að keyra. Vboxvideo.ko drm bílstjórinn fyrir VirtualBox sýndar-GPU hefur einnig verið fluttur frá Linux. Mesa pakkinn hefur verið uppfærður í útgáfu 18.3.2 og skipt yfir í að nota LLVM frá devel/llvm80 tenginu í stað devel/llvm60.
    • FreeBSD ports tréð hefur farið yfir 37000 ports, fjöldi ólokaðra PRs er enn 2146. Á skýrslutímabilinu voru 7837 breytingar gerðar frá 172 þróunaraðilum. Þrír nýir þátttakendur fengu skuldbindingarréttindi. Meðal mikilvægra útgáfuuppfærslna í portunum eru: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Öllum Go portum hefur verið breytt til að nota "USES=go" fánann. Bætti við „USES=cabal“ fána við Cabal pakkastjórann sem notaður er fyrir Haskell kóða. Strangri staflavörn er virkjuð. Sjálfgefin Python útgáfa er 3.6 í stað 2.7.
    • Búið er að útbúa veituútgáfuna nsysctl 1.0, sem býður upp á hliðstæðu við /sbin/sysctl sem notar libxo fyrir framleiðsla og bjóða upp á aukið valmöguleika. Nsysctl er hægt að nota til að fylgjast sjónrænt með stöðu sysctl gilda og kynna upplýsingar um hluti á skipulögðu formi. Úttak í XML, JSON og HTML sniðum er mögulegt;

Heimild: opennet.ru

Bæta við athugasemd