FreeBSD Q2019 XNUMX Fortschrëtt Bericht

publizéiert Bericht iwwer d'Entwécklung vum FreeBSD Projet vun Abrëll bis Juni 2019. Ënnert den Ännerungen kënne mir notéieren:

  • Allgemeng a systemesch Themen
    • D'Core Team huet decidéiert en Aarbechtsgrupp opzebauen fir d'Méiglechkeet ze entdecken Quellcode vum zentraliséierte Subversion Quellekontrollsystem op den dezentraliséierte Git System ze bewegen.
    • Fuzz Testen vum FreeBSD Kernel duerchgefouert mam System syzkaller an eng Rei vun identifizéiert Feeler goufen korrigéiert. Eng Schicht bäigefüügt fir Fuzzing Testen vu Bibliothéiken fir Kompatibilitéit mat engem 32-Bit Ëmfeld op Systemer mat engem 64-Bit Kernel. D'Kapazitéit fir syzkaller a bhyve-baséiert virtuelle Maschinnen ze lafen ass ëmgesat ginn. Op der nächster Etapp ass et geplangt d'Ofdeckung vum System Call Testen auszebauen, LLVM Sanitizer ze benotzen fir de Kernel ze kontrolléieren, Netdump benotze fir Kernel Dumps während Crashen während Fuzzing Testen ze retten, etc.
    • D'Aarbecht huet ugefaang fir d'Zlib-Implementatioun um Kernel-Niveau ze aktualiséieren. Fir Kernel Zougang zum zlib Code gouf de Contrib / zlib Verzeechnes op sys/contrib/zlib ëmbenannt, an d'crc.h Header Datei gouf och ëmbenannt fir Konflikt mat zlib/crc.h ze vermeiden. Gebotzt Legacy Code deen op zlib hänkt an opbléien. Als nächst ass et geplangt fir d'Fähigkeit ze bidden fir de Kernel gläichzäiteg mam alen an neie zlib ze bauen fir de graduellen Transfer op déi nei Versioun vu Funktiounen déi Kompressioun benotzen;
    • D'Linux Ëmfeld Emulatiounsinfrastruktur (Linuxulator) gouf aktualiséiert. Erweidert Ënnerstëtzung fir Linux Debugging Tools wéi de Strace Utility. De Linux-c7-strace Package gouf op d'Ports bäigefüügt, déi benotzt kënne fir Linux ausführbar Dateien ze verfolgen amplaz vun de Standard Truss- a Ktrace-Utilities, déi nach net e puer Linux-spezifesch Fändelen a Strukturen decodéiere kënnen. Zousätzlech ass de Linux-ltp Package mat Linux Test Project executables hinzugefügt an d'Kompatibilitéitsprobleemer mat Ausführbaren verbonne mat neie Versioune vu glibc goufen geléist;
    • D'Ëmsetze vu verspéiten Invalidatiounsoperatiounen am pmap-Mechanismus gouf op d'Benotzung vun engem Schlaangveraarbechtung Algorithmus transferéiert, deen ouni Spär funktionnéiert, wat et méiglech gemaach huet, Skalierbarkeetproblemer ze léisen wann Dir eng grouss Zuel vu parallelen Unmap-Operatiounen ausféiert;
    • De Mechanismus fir vnode ze blockéieren während der Ausféierung vu Systemriff vun der Execve () Famill gouf geännert, wat et méiglech gemaach huet eng erhéicht Effizienz z'erreechen wann Dir gläichzäiteg execve () fir déi selwecht Datei ausféiert (zum Beispill wann Dir Assemblée Operatioune mat Paralleliséierung ausféiert. vum Compiler Start);
  • Sécherheet
    • De bhyve Hypervisor verbessert d'Ënnerstëtzung fir Live Migratioun vu Gaaschtëmfeld vun engem Host an en aneren an d'Späicheren / Restauréieren Funktionalitéit, déi Iech erlaabt de Gaaschtsystem ze afréieren, de Staat op eng Datei ze späicheren an dann d'Ausféierung weiderzeféieren.
    • Duerch d'Benotzung vun der libvdsk Bibliothéik huet bhyve Ënnerstëtzung fir Disk Biller am QCOW2 Format bäigefüügt. Erfuerdert Installatioun fir ze schaffen
      speziell geännert Versioun vu bhyve, déi ëmgewandelt gouf fir Dateioperatiounshandler baséiert op libvdsk ze benotzen. Wärend der Berichtungsperiod huet libvdsk och Aarbecht gemaach fir d'Integratioun vun Ënnerstëtzung fir nei Formater ze vereinfachen, verbessert Lies- a Schreifleistung, an zousätzlech Ënnerstëtzung fir Copy-On-Write. Vun de verbleiwen Aufgaben gëtt d'Integratioun vu libvdsk an d'Haaptstruktur vu bhyve bemierkt;

    • E System fir Verkéiersinformatioun ze sammelen ass an d'Häfen bäigefüügt
      Maltrail, wat Iech erlaabt Fallen fir béiswëlleg Netzwierkerfuerderungen ze kreéieren (IPs an Domainen aus Schwaarzlëschte ginn iwwerpréift) an Informatioun iwwer detektéiert Aktivitéit op en zentraliséierte Server schécken fir spéider Blockéierung oder Analyse vun Attacke Versuche;

    • Plattforme goufen op d'Ports bäigefüügt fir Attacken z'entdecken, Logbicher ze analyséieren an d'Dateiintegritéit ze iwwerwaachen Wazuh (Gabel vun Ossec mat Ënnerstëtzung fir Integratioun mat ELK-Stack);
  • Netzwierk Subsystem
    • Den ena Chauffer gouf aktualiséiert fir déi zweet Generatioun vun ENAv2 (Elastesche Netzwierkadapter) Netzwierkadapteren z'ënnerstëtzen, déi an der Elastic Compute Cloud (EC2) Infrastruktur benotzt ginn, fir d'Kommunikatioun tëscht EC2 Noden mat Geschwindegkeete vu bis zu 25 Gb / s ze organiséieren. NETMAP Ënnerstëtzung gouf un den ena Chauffer bäigefüügt.
    • FreeBSD HEAD adoptéiert en neie MMC / SD Stack, baséiert op dem CAM Kader an erlaabt Iech Apparater mat enger SDIO (Secure Digital I/O) Interface ze verbannen. Zum Beispill gëtt SDIO a WiFi a Bluetooth Moduler fir vill Boards benotzt, wéi zum Beispill de Raspberry Pi 3. Den neie Stack erlaabt och d'CAM Interface benotzt fir SD Befehle vun Uwendungen am Benotzerraum ze schécken, wat et méiglech mécht Apparater ze kreéieren Chauffeuren déi um Benotzerniveau funktionnéieren. D'Aarbecht huet ugefaang fir Chauffeuren fir Broadcom Wireless Chips ze kreéieren déi am FullMAC Modus operéieren (op der Chip Säit leeft et e Schema vu sengem eegene Betribssystem mat Implementatioune vu sengem 802.11 Wireless Stack);
    • D'Aarbecht ass amgaang fir NFSv4.2 (RFC-7862) fir FreeBSD ëmzesetzen. Déi nei Versioun vun NFS füügt Ënnerstëtzung fir d'posix_fadvise, posix_fallocate Funktiounen, SEEKHOLE / SEEKDATA Modi an lseek, an d'Operatioun vun der lokaler Kopie vun Deeler vun enger Datei um Server (ouni Transfert un de Client).

      FreeBSD bitt momentan Basis Ënnerstëtzung fir LayoutError, IOAdvise, Allocate, and Copy Operatiounen. Alles wat bleift ass d'Seek Operatioun ëmzesetzen déi néideg ass fir lseek (SEEKHOLE / SEEKDATA) mat NFS ze benotzen. NFSv4.2 Ënnerstëtzung ass fir FreeBSD 13 geplangt;

  • Stockage an Fichier Systemer
    • De Projet fir de Chauffer fir de FUSE (Dateisystem am USErspace) Subsystem z'erschaffen, wat et erlaabt Implementatiounen vun Dateiesystemer am Benotzerraum ze kreéieren, ass bal fäerdeg. Den ursprénglech geliwwerte Chauffer ass veroudert an enthält vill Bugs. Als Deel vum Chauffer Moderniséierungsprojet gouf Ënnerstëtzung fir de FUSE 7.23 Protokoll implementéiert (virdrun Versioun 7.8, verëffentlecht virun 11 Joer gouf ënnerstëtzt), Code gouf bäigefüügt fir Zougangsrechter op der Kernel Säit ze kontrolléieren ("-o default_permissions"), rifft op VOP_MKNOD, VOP_BMAP a VOP_ADVLOCK goufen derbäigesat, d'Fäegkeet fir FUSE Operatiounen z'ënnerbriechen, bäigefüügt Ënnerstëtzung fir onbenannt Päifen an Unix Sockets an Fusefs, d'Fäegkeet fir kqueue fir /dev/fuse ze benotzen, erlaabt d'Aktualiséierung vun de Montéierungsparameter iwwer "mount -u", dobäi Ënnerstëtzung fir exporting fusefs via NFS, ëmgesat RLIMIT_FSIZE Comptablesmethod, dobäi FOPEN_KEEP_CACHE Fändelen an FUSE_ASYNC_READ, bedeitendst Leeschtung optimizations goufen gemaach an Caching Organisatioun gouf verbessert;
    • Ënnerstëtzung fir d'BIO_DELETE Operatioun gouf zum Swap Pager Code bäigefüügt, wat Iech erlaabt den TRIM Kommando ze benotzen wann Dir Blocks vun SSD Drive läscht fir hir Liewensdauer ze erhéijen.
  • Hardware Ënnerstëtzung
    • D'Aarbecht geet weider fir d'Ënnerstëtzung fir ARM64 SoC Broadcom BCM5871X mat ARMv8 Cortex-A57 Prozessoren ëmzesetzen, zielt op d'Benotzung an Router, Paarte an Netzwierkspeicher. Wärend der Berichterstattung gouf d'Ënnerstëtzung fir intern an extern iProc PCIe Bussen verbessert, Ënnerstëtzung fir BNXT Ethernet gouf bäigefüügt, an d'Aarbecht ass amgaang fir den agebaute Krypto-Motor ze benotzen fir IPsec ze beschleunegen. Integratioun vum Code an der HEAD Branche gëtt an der zweeter Halschent vum Joer erwaart;
    • D'Aarbecht huet ugefaang op Ënnerstëtzung fir den 64-Bit SoC NXP LS1046A baséiert op dem ARMv8 Cortex-A72 Prozessor mat engem integréierte Netzwierk Paketveraarbechtungsbeschleunigungsmotor, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 an USB 3.0. Ënnerstëtzung fir d'Basisplattform (Multi-User SMP) an SATA 3.0 ass scho implementéiert ginn. Ënnerstëtzung fir USB 3.0, SD / MMC an I2C ass an der Entwécklung. D'Pläng enthalen Ënnerstëtzung fir Ethernet, GPIO an QSPI. Fäerdegstellung vun der Aarbecht an der Inklusioun an der HEAD Branche gëtt am 4. Quartal vun 2019 erwaart.
    • Aktualiséiert mlx5en an mlx5ib Chauffeuren fir Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], an ConnectX-6 [Dx] Ethernet an InfiniBand Adapter. Ënnerstëtzung bäigefüügt fir Mellanox Socket Direct (ConnectX-6) Adapter, déi den Duerchgang vu bis zu 200Gb / s um PCIe Gen 3.0 Bus erlaabt. Fir Multi-Core BlueField Chips ass d'Ënnerstëtzung fir den RShim Chauffer bäigefüügt. De mstflint Package mat enger Rei vun Diagnostice Utilities fir Mellanox Adapter gouf op d'Ports bäigefüügt;
  • Uwendungen an port System
    • Grafik Stack Komponente goufen aktualiséiert. Den drm.ko (Direct Rendering Manager) Chauffer gouf vum Linux 5.0 Kernel portéiert. Dëse Chauffer gëtt als experimentell ugesinn an ass an de Ports Bam als Grafiken / drm-devel-kmod bäigefüügt. Well de Chauffer den aktualiséierten Linux KPI Kader benotzt fir kompatibel mat der Linux Kernel DRM API ze sinn, ass FreeBSD CURRENT néideg fir ze lafen. De vboxvideo.ko drm Treiber fir d'VirtualBox virtuelle GPU gouf och vu Linux portéiert. Mesa Package gouf fir d'Verëffentlechung 18.3.2 aktualiséiert a gewiesselt fir LLVM vum devel/llvm80 Hafen ze benotzen anstatt devel/llvm60.
    • De FreeBSD Ports Bam huet 37000 Ports iwwerschratt, d'Zuel vun ongeschlossene PRs bleift bei 2146. Während der Berichterstattung goufen 7837 Ännerunge vun 172 Entwéckler gemaach. Dräi nei Participanten kruten Committer Rechter. Ënnert de bedeitende Versiounsupdates an den Ports sinn: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. All Go Ports goufen ëmgewandelt fir de "USES=go" Fändel ze benotzen. Füügt "USES = cabal" Fändel un de Cabal Package Manager benotzt fir den Haskell Code. Strikt Stack Schutz Modus ass aktivéiert. D'Default Python Versioun ass 3.6 anstatt 2.7.
    • D'Utility Release ass virbereet ginn nsysctl 1.0, déi en Analog zu /sbin/sysctl bitt, deen benotzt libxo fir Ausgang a bitt eng erweidert Set vun Optiounen. Nsysctl ka benotzt ginn fir den Zoustand vu sysctl Wäerter visuell ze iwwerwaachen an Informatioun iwwer Objeten an enger strukturéierter Form ze presentéieren. Ausgang an XML, JSON an HTML Formater ass méiglech;

Source: opennet.ru

Setzt e Commentaire