Adroddiad Cynnydd FreeBSD Ch2019 XNUMX

Cyhoeddwyd adroddiad ar ddatblygiad y prosiect FreeBSD o fis Ebrill i fis Mehefin 2019. Ymhlith y newidiadau gallwn nodi:

  • Materion cyffredinol a systemig
    • Penderfynodd y tîm Craidd sefydlu gweithgor i archwilio'r posibilrwydd o symud cod ffynhonnell o'r system rheoli ffynhonnell Subversion ganolog i'r system Git ddatganoledig.
    • Cynnal profion fuzz o'r cnewyllyn FreeBSD gan ddefnyddio'r system syzcaller a chywirwyd nifer o wallau a nodwyd. Ychwanegwyd haen ar gyfer profi niwlog ar lyfrgelloedd i weld a ydynt yn gydnaws ag amgylchedd 32-did ar systemau gyda chnewyllyn 64-did. Mae'r gallu i redeg syzkaller mewn peiriannau rhithwir yn seiliedig ar bhyve wedi'i roi ar waith. Yn y cam nesaf, bwriedir ehangu cwmpas profion galwadau system, defnyddio glanweithydd LLVM i wirio'r cnewyllyn, defnyddio netdump i arbed tomenni cnewyllyn yn ystod damweiniau yn ystod profion niwlog, ac ati.
    • Mae gwaith wedi dechrau ar ddiweddaru gweithrediad zlib ar lefel y cnewyllyn. Ar gyfer mynediad cnewyllyn i god zlib, ailenwyd y cyfeiriadur contrib/zlib i sys/contrib/zlib, ac ailenwyd y ffeil pennawd crc.h hefyd er mwyn osgoi gwrthdaro â zlib/crc.h. Glanhau cod etifeddiaeth a oedd yn dibynnu ar zlib a chwyddo. Nesaf, bwriedir darparu'r gallu i adeiladu'r cnewyllyn ar yr un pryd â'r zlib hen a newydd ar gyfer trosglwyddo'n raddol i'r fersiwn newydd o swyddogaethau sy'n defnyddio cywasgu;
    • Mae seilwaith efelychu amgylchedd Linux (Linuxulator) wedi'i ddiweddaru. Mwy o gefnogaeth i offer dadfygio Linux fel y cyfleustodau strace. Mae'r pecyn linux-c7-strace wedi'i ychwanegu at y porthladdoedd, y gellir ei ddefnyddio i olrhain ffeiliau gweithredadwy Linux yn lle'r cyfleustodau truss a ktrace safonol, na allant ddadgodio rhai baneri a strwythurau Linux-benodol eto. Yn ogystal, mae'r pecyn linux-ltp gyda Linux Test Project executables wedi'i ychwanegu ac mae materion cydnawsedd â gweithredyddion sy'n gysylltiedig â fersiynau newydd o glibc wedi'u datrys;
    • Mae gweithredu gweithrediadau annilysu gohiriedig yn y mecanwaith pmap wedi'i drosglwyddo i ddefnyddio algorithm prosesu ciw sy'n gweithio heb gloeon, sydd wedi ei gwneud hi'n bosibl datrys problemau scalability wrth berfformio nifer fawr o weithrediadau unmap cyfochrog;
    • Mae'r mecanwaith ar gyfer blocio vnode wrth gyflawni galwadau system y teulu execve() wedi'i newid, sydd wedi'i gwneud hi'n bosibl cyflawni mwy o effeithlonrwydd wrth weithredu execve() ar yr un pryd ar gyfer yr un ffeil (er enghraifft, wrth berfformio gweithrediadau cydosod gyda chyfochredd lansiad y casglwr);
  • diogelwch
    • Mae'r hypervisor bhyve yn parhau i wella cefnogaeth ar gyfer mudo byw o amgylcheddau gwesteion o un gwesteiwr i'r llall a'r swyddogaeth Cadw/Adfer, sy'n eich galluogi i rewi'r system westai, gan arbed y cyflwr i ffeil, ac yna ailddechrau gweithredu.
    • Trwy ddefnyddio llyfrgell libvdsk, mae bhyve wedi ychwanegu cefnogaeth ar gyfer delweddau disg yn y fformat QCOW2. Mae angen gosod i weithio
      wedi'i addasu'n arbennig fersiwn o bhyve, sydd wedi'i drosi i ddefnyddio trinwyr gweithredu ffeiliau yn seiliedig ar libvdsk. Yn ystod y cyfnod adrodd, gwnaeth libvdsk waith hefyd i symleiddio'r broses o integreiddio cymorth ar gyfer fformatau newydd, gwell perfformiad darllen ac ysgrifennu, ac ychwanegodd gefnogaeth ar gyfer Copi-Ar-Write. O'r tasgau sy'n weddill, nodir integreiddio libvdsk i brif strwythur bhyve;

    • Mae system ar gyfer casglu gwybodaeth traffig wedi'i hychwanegu at y porthladdoedd
      Maltrail, sy'n eich galluogi i greu trapiau ar gyfer ceisiadau rhwydwaith maleisus (gwirir IPs a pharthau o restrau du) ac anfon gwybodaeth am weithgaredd a ganfuwyd i weinydd canolog ar gyfer blocio neu ddadansoddi ymdrechion ymosodiad dilynol;

    • Mae llwyfannau wedi'u hychwanegu at y porthladdoedd ar gyfer canfod ymosodiadau, dadansoddi logiau a monitro cywirdeb ffeiliau Wazuh (fforch o Ossec gyda chefnogaeth i integreiddio gyda ELK-Stack);
  • Is-system rhwydwaith
    • Mae'r gyrrwr ena wedi'i ddiweddaru i gefnogi'r ail genhedlaeth o addaswyr rhwydwaith ENAv2 (Addaswr Rhwydwaith Elastig) a ddefnyddir yn y seilwaith Cwmwl Elastig Compute (EC2) i drefnu cyfathrebu rhwng nodau EC2 ar gyflymder hyd at 25 Gb/s. Mae cefnogaeth NETMAP wedi'i ychwanegu at y gyrrwr ena.
    • Mae FreeBSD HEAD yn mabwysiadu pentwr MMC/SD newydd, yn seiliedig ar y fframwaith CAM ac sy'n eich galluogi i gysylltu dyfeisiau â rhyngwyneb SDIO (Secure Digital I/O). Er enghraifft, defnyddir SDIO mewn modiwlau WiFi a Bluetooth ar gyfer llawer o fyrddau, megis y Raspberry Pi 3. Mae'r pentwr newydd hefyd yn caniatáu i'r rhyngwyneb CAM gael ei ddefnyddio i anfon gorchmynion SD o geisiadau yn y gofod defnyddiwr, sy'n ei gwneud hi'n bosibl creu dyfais gyrwyr sy'n gweithredu ar lefel y defnyddiwr. Mae gwaith wedi dechrau ar greu gyrwyr ar gyfer sglodion diwifr Broadcom sy'n gweithredu yn y modd FullMAC (ar yr ochr sglodion mae'n rhedeg ei system weithredu ei hun gyda gweithrediadau ei stac diwifr 802.11);
    • Mae gwaith ar y gweill i weithredu NFSv4.2 (RFC-7862) ar gyfer FreeBSD. Mae'r fersiwn newydd o NFS yn ychwanegu cefnogaeth ar gyfer y swyddogaethau posix_fadvise, posix_fallocate, moddau SEEKHOLE / SEEKDATA yn lseek, a gweithrediad copïo lleol o rannau o ffeil ar y gweinydd (heb drosglwyddo i'r cleient).

      Ar hyn o bryd mae FreeBSD yn darparu cefnogaeth sylfaenol ar gyfer gweithrediadau LayoutError, IOAdvise, Allocate, a Copy. Y cyfan sydd ar ôl yw gweithredu'r gweithrediad Seek sydd ei angen i ddefnyddio lseek (SEEKHOLE / SEEKDATA) gyda NFS. Mae cymorth NFSv4.2 wedi'i gynllunio ar gyfer FreeBSD 13;

  • Systemau storio a ffeiliau
    • Mae'r prosiect i ail-weithio'r gyrrwr ar gyfer yr is-system FUSE (System ffeil yn USErspace), sy'n caniatáu creu systemau ffeiliau yng ngofod y defnyddiwr, bron wedi'i gwblhau. Mae'r gyrrwr a ddarparwyd yn wreiddiol yn hen ffasiwn ac yn cynnwys llawer o fygiau. Fel rhan o'r prosiect moderneiddio gyrwyr, gweithredwyd cefnogaeth ar gyfer protocol FUSE 7.23 (cefnogwyd fersiwn 7.8 yn flaenorol, a ryddhawyd 11 mlynedd yn ôl), ychwanegwyd cod i wirio hawliau mynediad ar ochr y cnewyllyn (“-o default_permissions”), galwadau i Ychwanegwyd VOP_MKNOD, VOP_BMAP a VOP_ADVLOCK, y gallu i dorri ar draws gweithrediadau FUSE, ychwanegwyd cefnogaeth ar gyfer pibellau dienw a socedi unix mewn fusefs, y gallu i ddefnyddio kqueue ar gyfer /dev/ffiws, caniatáu diweddaru paramedrau mowntio trwy "mount -u", cefnogaeth ychwanegol ar gyfer allforio fusefs trwy NFS, gweithredu cyfrifeg RLIMIT_FSIZE, ychwanegu fflagiau FOPEN_KEEP_CACHE a FUSE_ASYNC_READ, mae optimeiddiadau perfformiad sylweddol wedi'u gwneud ac mae trefniadaeth caching wedi'i wella;
    • Mae cefnogaeth ar gyfer gweithrediad BIO_DELETE wedi'i ychwanegu at y cod galwr cyfnewid, sy'n eich galluogi i ddefnyddio'r gorchymyn TRIM wrth dynnu blociau o yriannau SSD i gynyddu eu bywyd gwasanaeth.
  • Cefnogaeth caledwedd
    • Mae gwaith yn parhau i weithredu cefnogaeth ar gyfer ARM64 SoC Broadcom BCM5871X gyda phroseswyr ARMv8 Cortex-A57, gyda'r nod o'u defnyddio mewn llwybryddion, pyrth a storio rhwydwaith. Yn ystod y cyfnod adrodd, gwellwyd cefnogaeth ar gyfer bysiau iProc PCIe mewnol ac allanol, ychwanegwyd cefnogaeth ar gyfer BNXT Ethernet, ac mae gwaith ar y gweill i ddefnyddio'r injan crypto adeiledig i gyflymu IPsec. Disgwylir integreiddio'r cod i gangen HEAD yn ail hanner y flwyddyn;
    • Mae gwaith wedi dechrau ar gefnogaeth ar gyfer y SoC 64-bit NXP LS1046A yn seiliedig ar y prosesydd ARMv8 Cortex-A72 gyda pheiriant cyflymu prosesu pecynnau rhwydwaith integredig, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 a USB 3.0. Mae cefnogaeth i'r platfform sylfaen (SMP aml-ddefnyddiwr) a SATA 3.0 eisoes wedi'i roi ar waith. Mae cefnogaeth ar gyfer USB 3.0, SD/MMC ac I2C yn cael ei ddatblygu. Mae'r cynlluniau'n cynnwys cymorth ar gyfer Ethernet, GPIO a QSPI. Disgwylir i'r gwaith gael ei gwblhau a'i gynnwys yng nghangen HEAD yn y 4ydd chwarter 2019.
    • Gyrwyr mlx5en a mlx5ib wedi'u diweddaru ar gyfer addaswyr Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], a ConnectX-6 [Dx] ac InfiniBand. Cefnogaeth ychwanegol i addaswyr Mellanox Socket Direct (ConnectX-6), gan ganiatáu ar gyfer trwybwn o hyd at 200Gb yr eiliad ar y bws PCIe Gen 3.0. Ar gyfer sglodion BlueField aml-graidd, mae cefnogaeth i'r gyrrwr RShim wedi'i ychwanegu. Mae'r pecyn mstflint gyda set o gyfleustodau diagnostig ar gyfer addaswyr Mellanox wedi'i ychwanegu at y porthladdoedd;
  • Cymwysiadau a system porthladd
    • Mae cydrannau stac graffeg wedi'u diweddaru. Mae'r gyrrwr drm.ko (Rheolwr Rendro Uniongyrchol) wedi'i gludo o'r cnewyllyn Linux 5.0. Ystyrir bod y gyrrwr hwn yn arbrofol ac mae wedi'i ychwanegu at y goeden borthladdoedd fel graffeg/drm-devel-kmod. Gan fod y gyrrwr yn defnyddio'r fframwaith KPI Linux wedi'i ddiweddaru i fod yn gydnaws â'r API DRM cnewyllyn Linux, mae angen FreeBSD PRESENNOL i redeg. Mae'r gyrrwr drm vboxvideo.ko ar gyfer y GPU rhithwir VirtualBox hefyd wedi'i borthi o Linux. Mae pecyn Mesa wedi'i ddiweddaru i ryddhau 18.3.2 a'i newid i ddefnyddio LLVM o'r porthladd devel/llvm80 yn lle devel/llvm60.
    • Mae coeden porthladdoedd FreeBSD wedi rhagori ar 37000 o borthladdoedd, mae nifer y cysylltiadau cyhoeddus heb eu cau yn parhau i fod yn 2146. Yn ystod y cyfnod adrodd, gwnaed 7837 o newidiadau gan 172 o ddatblygwyr. Derbyniodd tri chyfranogwr newydd hawliau i ymroddwyr. Ymhlith y diweddariadau fersiwn sylweddol yn y porthladdoedd mae: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Mae holl borthladdoedd Go wedi'u trosi i ddefnyddio'r faner "USES=go". Wedi ychwanegu baner "USES=cabal" at y rheolwr pecyn Cabal a ddefnyddir ar gyfer cod Haskell. Mae modd amddiffyn pentwr llym wedi'i alluogi. Y fersiwn rhagosodedig o Python yw 3.6 yn lle 2.7.
    • Mae'r datganiad cyfleustodau wedi'i baratoi nsysctl 1.0, sy'n cynnig analog i /sbin/sysctl sy'n defnyddio libxo ar gyfer allbwn a darparu set ehangach o opsiynau. Gellir defnyddio nsysctl i fonitro cyflwr gwerthoedd sysctl yn weledol a chyflwyno gwybodaeth am wrthrychau ar ffurf strwythuredig. Mae allbwn mewn fformatau XML, JSON a HTML yn bosibl;

Ffynhonnell: opennet.ru

Ychwanegu sylw