FreeBSD Q2019 XNUMX foarútgongsrapport

publisearre rapportearje oer de ûntwikkeling fan it FreeBSD-projekt fan april oant juny 2019. Under de feroarings kinne wy ​​​​opmerke:

  • Algemiene en systemyske problemen
    • It Core-team besleat in wurkgroep op te stellen om de mooglikheid te ûndersykjen om boarnekoade te ferpleatsen fan it sintralisearre Subversion-boarnekontrôlesysteem nei it desintralisearre Git-systeem.
    • Fuzz-testen útfierd fan 'e FreeBSD-kernel mei it systeem syzkaller en in oantal identifisearre flaters waarden korrizjearre. In laach tafoege foar fuzzing testen fan biblioteken foar kompatibiliteit mei in 32-bit omjouwing op systemen mei in 64-bit kernel. De mooglikheid om syzkaller út te fieren yn bhyve-basearre firtuele masines is ymplementearre. Op it folgjende poadium is it plan om de dekking fan systeemoproptesten út te wreidzjen, LLVM-sanitizer te brûken om de kernel te kontrolearjen, netdump te brûken om kernel-dumps te bewarjen tidens crashes tidens fuzzing-testen, ensfh.
    • Wurk is begûn oan it bywurkjen fan de zlib-ymplemintaasje op it kernelnivo. Foar kernel tagong ta zlib koade, de triemtafel contrib / zlib waard omneamd ta sys / contrib / zlib, en de crc.h header triem waard ek omneamd om foar te kommen konflikt mei zlib / crc.h. Opromme legacy koade dy't ôfhinklik fan zlib en opblaze. Dêrnei is it pland om de mooglikheid te jaan om de kernel tagelyk te bouwen mei de âlde en nije zlib foar de stadichoan oerdracht nei de nije ferzje fan funksjes dy't kompresje brûke;
    • De Linux-omjouwingemulaasje-ynfrastruktuer (Linuxulator) is bywurke. Fergrutte stipe foar Linux-debuggen-ark lykas it strace-hulpprogramma. It linux-c7-strace-pakket is tafoege oan 'e havens, dy't brûkt wurde kinne om Linux-útfierbere bestannen op te spoaren ynstee fan' e standert truss- en ktrace-hulpprogramma's, dy't guon Linux-spesifike flaggen en struktueren noch net kinne ûntsiferje. Dêrnjonken is it linux-ltp-pakket mei Linux Test Project executables tafoege en kompatibiliteitsproblemen mei útfierbere keppele mei nije ferzjes fan glibc binne oplost;
    • De ymplemintaasje fan fertrage invalidation operaasjes yn de pmap meganisme is oerdroegen oan it brûken fan in wachtrige ferwurkjen algoritme dat wurket sûnder slûzen, dat hat makke it mooglik om te lossen scalability problemen by it útfieren fan in grut oantal parallelle unmap operaasjes;
    • It meganisme foar it blokkearjen fan vnode by it útfieren fan systeemoproppen fan 'e execve()-famylje is feroare, wat it mooglik makke hat om ferhege effisjinsje te berikken by it tagelyk útfieren fan execve () foar deselde triem (bygelyks by it útfieren fan assembly-operaasjes mei parallelisaasje) fan 'e kompiler lansearring);
  • Feiligens
    • De bhyve-hypervisor bliuwt de stipe ferbetterje foar Live-migraasje fan gastomjouwings fan de iene host nei de oare en de Bewarje / Weromsette-funksjonaliteit, wêrtroch jo it gastsysteem kinne befrieze, de steat opslaan yn in bestân en dan de útfiering ferfetsje.
    • Troch it gebrûk fan 'e libvdsk-bibleteek hat bhyve stipe tafoege foar skiifôfbyldings yn it QCOW2-formaat. Fereasket ynstallaasje om te wurkjen
      spesjaal oanpast ferzje fan bhyve, dy't is omboud foar it brûken fan triemoperaasjebehannelers basearre op libvdsk. Yn 'e rapportaazjeperioade hat libvdsk ek wurk dien om de yntegraasje fan stipe foar nije formaten te ferienfâldigjen, ferbettere lês- en skriuwprestaasjes, en tafoege stipe foar Copy-On-Write. Fan de oerbleaune taken wurdt de yntegraasje fan libvdsk yn de haadstruktuer fan bhyve opmurken;

    • Oan de havens is in systeem foar it sammeljen fan ferkearsynformaasje tafoege
      Maltrail, wêrmei jo trapen meitsje kinne foar kweade netwurkoanfragen (IP's en domeinen fan swartelisten wurde kontrolearre) en stjoere ynformaasje oer ûntdutsen aktiviteit nei in sintralisearre server foar folgjende blokkearjen of analyze fan oanfalpogingen;

    • Platfoarms binne tafoege oan de havens foar it opspoaren fan oanfallen, analysearjen fan logs en kontrolearjen fan bestânintegriteit Wazuh (foark fan Ossec mei stipe foar yntegraasje mei ELK-Stack);
  • Netwurk subsysteem
    • De ena-bestjoerder is bywurke om de twadde generaasje ENAv2 (Elastic Network Adapter) netwurkadapters te stypjen dy't brûkt wurde yn 'e Elastic Compute Cloud (EC2) ynfrastruktuer om kommunikaasje te organisearjen tusken EC2-knooppunten mei faasjes oant 25 Gb / s. NETMAP-stipe is tafoege oan de ena-bestjoerder.
    • FreeBSD HEAD nimt in nije MMC / SD-stap oan, basearre op it CAM-ramt en wêrtroch jo apparaten kinne ferbine mei in SDIO (Secure Digital I/O) ynterface. Bygelyks, SDIO wurdt brûkt yn WiFi- en Bluetooth-modules foar in protte boards, lykas de Raspberry Pi 3. De nije stack lit ek de CAM-ynterface brûkt wurde om SD-kommando's te stjoeren fan applikaasjes yn brûkersromte, wat it mooglik makket om apparaat te meitsjen bestjoerders dy't operearje op it brûkersnivo. Wurk is begûn oan it meitsjen fan bestjoerders foar Broadcom draadloze chips dy't wurkje yn FullMAC-modus (oan 'e chipkant rint it in skyn fan in eigen bestjoeringssysteem mei ymplemintaasjes fan syn 802.11 draadloze stack);
    • Der wurdt wurke oan it útfieren fan NFSv4.2 (RFC-7862) foar FreeBSD. De nije ferzje fan NFS foeget stipe ta foar de posix_fadvise, posix_fallocate-funksjes, SEEKHOLE / SEEKDATA-modi yn lseek, en de wurking fan lokale kopiearjen fan dielen fan in bestân op 'e tsjinner (sûnder oerdracht nei de kliïnt).

      FreeBSD biedt op it stuit basisstipe foar de LayoutError, IOAdvise, Allocate en Copy operaasjes. Alles wat oerbliuwt is de Seek-operaasje ymplementearje dy't nedich is om lseek (SEEKHOLE / SEEKDATA) te brûken mei NFS. NFSv4.2-stipe is pland foar FreeBSD 13;

  • Opslach en triem systemen
    • It projekt om de bestjoerder foar it subsysteem FUSE (Bestânsysteem yn USErspace) opnij te bewurkjen, wêrtroch ymplemintaasjes fan bestânsystemen yn brûkersromte kinne oanmeitsje, is tichtby foltôging. De oarspronklik levere stjoerprogramma is ferâldere en befettet in protte bugs. As ûnderdiel fan it projekt foar modernisearring fan bestjoerders waard stipe foar it FUSE 7.23-protokol ymplementearre (earder ferzje 7.8, útbrocht 11 jier lyn waard stipe), koade waard tafoege om tagongsrjochten oan 'e kearnside te kontrolearjen ("-o default_permissions"), ropt nei VOP_MKNOD, VOP_BMAP en VOP_ADVLOCK waarden tafoege, de mooglikheid om FUSE-operaasjes te ûnderbrekken, tafoege stipe foar net neamde pipes en unix-sockets yn fusefs, de mooglikheid om kqueue te brûken foar /dev/fuse, tastien bywurkjen fan berchparameters fia "mount -u", tafoege stipe foar it eksportearjen fan fusefs fia NFS, ymplemintearre RLIMIT_FSIZE accounting, tafoege FOPEN_KEEP_CACHE flaggen en FUSE_ASYNC_READ, wichtige prestaasjes optimalisaasjes binne makke en caching organisaasje is ferbettere;
    • Stipe foar de BIO_DELETE-operaasje is tafoege oan de swap-pagerkoade, wêrtroch jo it TRIM-kommando kinne brûke by it fuortheljen fan blokken fan SSD-skiven om har libbensdoer te fergrutsjen.
  • Hardware stipe
    • Wurk giet troch mei it ymplementearjen fan stipe foar ARM64 SoC Broadcom BCM5871X mei ARMv8 Cortex-A57-prosessoren, rjochte op gebrûk yn routers, gateways en netwurk opslach. Yn 'e rapportaazjeperioade waard stipe foar ynterne en eksterne iProc PCIe-bussen ferbettere, stipe foar BNXT Ethernet waard tafoege, en wurk is oan 'e gong om de ynboude Krypto-motor te brûken om IPsec te fersnellen. Yntegraasje fan 'e koade yn' e HEAD-tûke wurdt ferwachte yn 'e twadde helte fan it jier;
    • Wurk is begon oan stipe foar de 64-bit SoC NXP LS1046A basearre op de ARMv8 Cortex-A72-prosessor mei in yntegreare netwurkpakketferwurkingsmotor, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 en USB 3.0. Stipe foar it basisplatfoarm (multi-user SMP) en SATA 3.0 is al ymplementearre. Stipe foar USB 3.0, SD / MMC en I2C is yn ûntwikkeling. De plannen omfetsje stipe foar Ethernet, GPIO en QSPI. Foltôging fan wurk en opname yn 'e HEAD-tûke wurdt ferwachte yn it 4e fearnsjier fan 2019.
    • Updated mlx5en- en mlx5ib-bestjoerders foar Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], en ConnectX-6 [Dx] Ethernet- en InfiniBand-adapters. Stipe tafoege foar Mellanox Socket Direct (ConnectX-6) adapters, wêrtroch trochfier fan maksimaal 200Gb / s op 'e PCIe Gen 3.0 bus mooglik is. Foar multi-core BlueField-chips is stipe foar de RShim-bestjoerder tafoege. It mstflint-pakket mei in set diagnostyske hulpprogramma's foar Mellanox-adapters is tafoege oan de havens;
  • Applikaasjes en haven systeem
    • Grafike stack komponinten binne bywurke. De drm.ko (Direct Rendering Manager) stjoerprogramma is porteare fan de Linux 5.0 kernel. Dizze stjoerprogramma wurdt as eksperiminteel beskôge en is tafoege oan de havenbeam as graphics/drm-devel-kmod. Sûnt de bestjoerder it bywurke Linux KPI-ramt brûkt om kompatibel te wêzen mei de Linux-kernel DRM API, is FreeBSD CURRENT ferplicht om te rinnen. De vboxvideo.ko drm-bestjoerder foar de VirtualBox firtuele GPU is ek porteare fan Linux. Mesa-pakket is bywurke om 18.3.2 frij te litten en oerskeakele om LLVM te brûken fan 'e devel/llvm80-poarte ynstee fan devel/llvm60.
    • De FreeBSD-portsbeam hat 37000-poarten oerwûn, it oantal net-sletten PR's bliuwt op 2146. Yn 'e rapportaazjeperioade waarden 7837 wizigingen makke fan 172-ûntwikkelders. Trije nije dielnimmers krigen committerrjochten. Under de wichtige ferzjeupdates yn 'e havens binne: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Alle Go-poarten binne omboud om de flagge "USES=go" te brûken. Flag "USES = cabal" tafoege oan de Cabal-pakketbehearder brûkt foar Haskell-koade. Strikte stack beskerming modus is ynskeakele. De standertferzje fan Python is 3.6 ynstee fan 2.7.
    • De utility release is taret nsysctl 1.0, dy't in analoog biedt oan /sbin/sysctl dy't brûkt libxo foar útfier en it bieden fan in útwreide set fan opsjes. Nsysctl kin brûkt wurde om de steat fan sysctl-wearden visueel te kontrolearjen en ynformaasje oer objekten yn in strukturearre foarm te presintearjen. Utfier yn XML-, JSON- en HTML-formaten is mooglik;

Boarne: opennet.ru

Add a comment