FreeBSD Q2019 XNUMX Rapport ta’ Progress

ippubblikat rapport dwar l-iżvilupp tal-proġett FreeBSD minn April sa Ġunju 2019. Fost il-bidliet nistgħu ninnotaw:

  • Kwistjonijiet ġenerali u sistemiċi
    • It-tim Core iddeċieda li jistabbilixxi grupp ta 'ħidma biex jesplora l-possibbiltà li jiċċaqlaq il-kodiċi tas-sors mis-sistema ċentralizzata ta' kontroll tas-sors Subversion għas-sistema Git deċentralizzata.
    • Twettqet ittestjar fuzz tal-qalba FreeBSD bl-użu tas-sistema syzkaller u għadd ta' żbalji identifikati ġew ikkoreġuti. Żid saff għall-ittestjar fuzzing tal-libreriji għall-kompatibilità ma 'ambjent 32-bit fuq sistemi b'kernel 64-bit. Implimenta l-abbiltà li tħaddem syzkaller f'magni virtwali bbażati fuq bhyve. Fl-istadju li jmiss, huwa ppjanat li tespandi l-kopertura tal-ittestjar tas-sejħa tas-sistema, tuża sanitizer LLVM biex tiċċekkja l-qalba, tuża netdump biex tissejvja d-dumps tal-qalba waqt ħabtiet waqt l-ittestjar tal-fuzzing, eċċ.
    • Inbeda x-xogħol fuq l-aġġornament tal-implimentazzjoni zlib fil-livell tal-kernel. Għall-aċċess għall-kernel għall-kodiċi zlib, id-direttorju contrib/zlib ingħata isem ġdid għal sys/contrib/zlib, u l-fajl header crc.h ġie ssemmiet ukoll biex jiġi evitat kunflitt ma 'zlib/crc.h. Kodiċi wirt imnaddaf li jiddependi fuq zlib u inflate. Sussegwentement, huwa ppjanat li tipprovdi l-abbiltà li tinbena l-qalba simultanjament maż-zlib qodma u ġdida għat-trasferiment gradwali għall-verżjoni l-ġdida ta 'funzjonijiet li jużaw il-kompressjoni;
    • L-infrastruttura tal-emulazzjoni tal-ambjent Linux (Linuxulator) ġiet aġġornata. Żieda fl-appoġġ għall-għodod tal-debugging tal-Linux bħall-utilità strace. Il-pakkett linux-c7-strace ġie miżjud mal-portijiet, li jistgħu jintużaw biex jiġu rintraċċati fajls eżekutibbli Linux minflok l-utilitajiet standard tal-irfid u ktrace, li għadhom ma jistgħux jiddekowdja xi bnadar u strutturi speċifiċi għal Linux. Barra minn hekk, ġie miżjud il-pakkett linux-ltp mal-eżekutibbli tal-Linux Test Project u ġew solvuti kwistjonijiet ta' kompatibilità ma' eżekutibbli marbuta ma' verżjonijiet ġodda ta' glibc;
    • L-implimentazzjoni ta 'operazzjonijiet ta' invalidazzjoni mdewma fil-mekkaniżmu pmap ġiet trasferita għall-użu ta 'algoritmu ta' pproċessar ta 'kju li jaħdem mingħajr serraturi, li għamilha possibbli li jiġu solvuti problemi ta' skalabbiltà meta jwettqu numru kbir ta 'operazzjonijiet paralleli ta' unmap;
    • Il-mekkaniżmu għall-imblukkar ta' vnode waqt l-eżekuzzjoni tas-sejħiet tas-sistema tal-familja execve() inbidel, li għamilha possibbli li tinkiseb effiċjenza akbar meta tesegwixxi simultanjament execve() għall-istess fajl (per eżempju, meta jitwettqu operazzjonijiet ta 'assemblaġġ b'parallelizzazzjoni tat-tnedija tal-kompilatur);
  • sigurtà
    • L-hypervisor bhyve ikompli jtejjeb l-appoġġ għall-migrazzjoni Live ta 'ambjenti mistiedna minn host għal ieħor u l-funzjonalità Save/Restore, li tippermettilek tiffriża s-sistema mistieden, issalva l-istat għal fajl, u mbagħad terġa' tibda l-eżekuzzjoni.
    • Permezz tal-użu tal-librerija libvdsk, bhyve żied l-appoġġ għall-immaġini tad-disk fil-format QCOW2. Jeħtieġ installazzjoni biex jaħdem
      modifikati apposta verżjoni ta' bhyve, li ġiet ikkonvertita biex tuża file operation handlers ibbażati fuq libvdsk. Matul il-perjodu ta 'rappurtar, libvdsk wettaq ukoll xogħol biex jissimplifika l-integrazzjoni ta' appoġġ għal formati ġodda, titjib fil-prestazzjoni tal-qari u l-kitba, u żied l-appoġġ għal Copy-On-Write. Mill-kompiti li fadal, l-integrazzjoni ta 'libvdsk fl-istruttura ewlenija ta' bhyve hija nnutata;

    • Sistema għall-ġbir ta’ informazzjoni dwar it-traffiku ġiet miżjuda mal-portijiet
      Maltrail, li jippermettilek toħloq nases għal talbiet malizzjużi tan-netwerk (IPs u dominji minn listi suwed huma kkontrollati) u tibgħat informazzjoni dwar attività skoperta lil server ċentralizzat għal imblukkar sussegwenti jew analiżi ta 'attentati ta' attakk;

    • Ġew miżjuda pjattaformi mal-portijiet għall-iskoperta ta 'attakki, l-analiżi ta' zkuk u l-monitoraġġ tal-integrità tal-fajl Wazuh (furketta ta' Ossec b'appoġġ għall-integrazzjoni ma' ELK-Munzell);
  • Subsistema tan-netwerk
    • Is-sewwieq ena ġie aġġornat biex jappoġġa t-tieni ġenerazzjoni ta 'adapters tan-netwerk ENAv2 (Elastic Network Adapter) użati fl-infrastruttura Elastic Compute Cloud (EC2) biex torganizza komunikazzjoni bejn nodi EC2 b'veloċitajiet sa 25 Gb/s. L-appoġġ NETMAP ġie miżjud mas-sewwieq ena.
    • FreeBSD HEAD jadotta munzell MMC/SD ġdid, ibbażat fuq il-qafas CAM u li jippermettilek tikkonnettja apparati b'interface SDIO (Secure Digital I/O). Pereżempju, SDIO jintuża f'moduli WiFi u Bluetooth għal ħafna bordijiet, bħall-Raspberry Pi 3. Il-munzell il-ġdid jippermetti wkoll li l-interface CAM tintuża biex tibgħat kmandi SD minn applikazzjonijiet fl-ispazju tal-utent, li jagħmilha possibbli li jinħoloq apparat sewwieqa li joperaw fil-livell tal-utent. Inbeda x-xogħol fuq il-ħolqien ta 'sewwieqa għal ċipep bla fili Broadcom li joperaw fil-modalità FullMAC (min-naħa taċ-ċippa tħaddem apparenza tas-sistema operattiva tagħha stess b'implimentazzjonijiet tal-munzell mingħajr fili 802.11 tagħha);
    • Għaddej xogħol biex jiġi implimentat NFSv4.2 (RFC-7862) għal FreeBSD. Il-verżjoni l-ġdida ta 'NFS żżid appoġġ għall-funzjonijiet posix_fadvise, posix_fallocate, modi SEEKHOLE/SEEKDATA f'lseek, u l-operazzjoni ta' ikkupjar lokali ta 'partijiet ta' fajl fuq is-server (mingħajr trasferiment lill-klijent).

      FreeBSD bħalissa jipprovdi appoġġ bażiku għall-operazzjonijiet LayoutError, IOAdvise, Allote, u Kopja. Kulma jibqa 'huwa li timplimenta l-operazzjoni Seek meħtieġa biex tuża lseek(SEEKHOLE/SEEKDATA) ma' NFS. L-appoġġ NFSv4.2 huwa ppjanat għal FreeBSD 13;

  • Sistemi ta' ħażna u fajls
    • Il-proġett biex tinħadem mill-ġdid is-sewwieq għas-subsistema FUSE (File system in USErspace), li tippermetti l-ħolqien ta’ implimentazzjonijiet ta’ sistemi ta’ fajls fl-ispazju tal-utent, wasal biex jitlesta. Is-sewwieq fornut oriġinarjament huwa skadut u fih ħafna bugs. Bħala parti mill-proġett tal-modernizzazzjoni tas-sewwieq, ġie implimentat appoġġ għall-protokoll FUSE 7.23 (qabel il-verżjoni 7.8, rilaxxata 11-il sena ilu kienet appoġġjata), ġie miżjud kodiċi biex jiċċekkja d-drittijiet tal-aċċess fuq in-naħa tal-kernel (“-o default_permissions”), sejħiet lil Ġew miżjuda VOP_MKNOD, VOP_BMAP u VOP_ADVLOCK, l-abbiltà li jiġu interrotti l-operazzjonijiet FUSE, appoġġ miżjud għal pajpijiet mingħajr isem u sockets unix f'fusefs, il-kapaċità li tuża kqueue għal /dev/fuse, ippermetta l-aġġornament tal-parametri tal-muntatura permezz ta '"mount -u", appoġġ miżjud għall-esportazzjoni ta 'fusefs permezz ta' NFS, implimenta l-kontabilità RLIMIT_FSIZE, żied il-bnadar FOPEN_KEEP_CACHE u FUSE_ASYNC_READ, saru ottimizzazzjonijiet sinifikanti tal-prestazzjoni u tjiebet l-organizzazzjoni tal-caching;
    • L-appoġġ għall-operazzjoni BIO_DELETE ġie miżjud mal-kodiċi swap pager, li jippermettilek tuża l-kmand TRIM meta tneħħi blokki minn drives SSD biex iżżid il-ħajja tas-servizz tagħhom.
  • Appoġġ tal-ħardwer
    • Ikompli l-ħidma biex timplimenta appoġġ għal ARM64 SoC Broadcom BCM5871X bi proċessuri ARMv8 Cortex-A57, immirati għall-użu f'routers, gateways u ħażna tan-netwerk. Matul il-perjodu ta 'rappurtar, l-appoġġ għall-karozzi tal-linja iProc PCIe interni u esterni ġie mtejjeb, ġie miżjud appoġġ għal BNXT Ethernet, u għaddej xogħol biex tintuża l-magna kripto integrata biex taċċellera IPsec. L-integrazzjoni tal-kodiċi fil-fergħa HEAD hija mistennija fit-tieni nofs tas-sena;
    • Ix-xogħol beda fuq l-appoġġ għall-64-bit SoC NXP LS1046A ibbażat fuq il-proċessur ARMv8 Cortex-A72 b'magna ta 'aċċelerazzjoni tal-ipproċessar tal-pakketti tan-netwerk integrata, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 u USB 3.0. L-appoġġ għall-pjattaforma bażi (SMP multi-utent) u SATA 3.0 diġà ġie implimentat. L-appoġġ għall-USB 3.0, SD/MMC u I2C jinsab fl-iżvilupp. Il-pjanijiet jinkludu appoġġ għal Ethernet, GPIO u QSPI. It-tlestija tax-xogħol u l-inklużjoni fil-fergħa HEAD hija mistennija fir-4 kwart tal-2019.
    • Drivers mlx5en u mlx5ib aġġornati għall-adapters Ethernet u InfiniBand ta' Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], u ConnectX-6 [Dx]. Appoġġ miżjud għall-adapters Mellanox Socket Direct (ConnectX-6), li jippermetti throughput sa 200Gb/s fuq il-bus PCIe Gen 3.0. Għal ċipep BlueField multi-core, ġie miżjud appoġġ għas-sewwieq RShim. Il-pakkett mstflint b'sett ta 'utilitajiet dijanjostiċi għall-adapters Mellanox ġie miżjud mal-portijiet;
  • Applikazzjonijiet u sistema tal-port
    • Il-komponenti tal-munzell tal-grafika ġew aġġornati. Is-sewwieq drm.ko (Direct Rendering Manager) ġie trasferit mill-kernel Linux 5.0. Dan is-sewwieq huwa meqjus bħala sperimentali u ġie miżjud mas-siġra tal-portijiet bħala graphics/drm-devel-kmod. Peress li s-sewwieq juża l-qafas tal-Linux KPI aġġornat biex ikun kompatibbli mal-Linux Kernel DRM API, FreeBSD CURRENT huwa meħtieġ biex jaħdem. Is-sewwieq vboxvideo.ko drm għall-GPU virtwali VirtualBox ġie wkoll portat minn Linux. Il-pakkett Mesa ġie aġġornat biex jirrilaxxa 18.3.2 u qaleb biex juża LLVM mill-port devel/llvm80 minflok devel/llvm60.
    • Is-siġra tal-portijiet tal-FreeBSD qabżet is-37000 port, in-numru ta 'PRs mhux magħluqa jibqa' 2146. Matul il-perjodu ta 'rappurtar, saru 7837 tibdil minn 172 żviluppatur. Tliet parteċipanti ġodda rċevew drittijiet tal-kommittenti. Fost l-aġġornamenti sinifikanti tal-verżjoni fil-portijiet hemm: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Il-portijiet kollha tal-Go ġew konvertiti biex jużaw il-bandiera "USES=go". Miżjud il-bandiera "USES=cabal" mal-maniġer tal-pakkett Cabal użat għall-kodiċi Haskell. Il-mod ta 'protezzjoni tal-munzell strett huwa attivat. Il-verżjoni default Python hija 3.6 minflok 2.7.
    • Ir-rilaxx tal-utilità ġie ppreparat nsysctl 1.0, li joffri analogu għal /sbin/sysctl li juża libxo għall-output u jipprovdu sett estiż ta 'għażliet. Nsysctl jista 'jintuża biex jimmonitorja viżwalment l-istat tal-valuri sysctl u jippreżenta informazzjoni dwar oġġetti f'forma strutturata. Output fil-formati XML, JSON u HTML huwa possibbli;

Sors: opennet.ru

Żid kumment