Rapora Pêşveçûnê ya FreeBSD Q2019 XNUMX

weşandin rapor li ser pêşkeftina projeya FreeBSD ji Nîsana heta Hezîrana 2019. Di nav guhertinan de em dikarin destnîşan bikin:

  • Pirsgirêkên giştî û sîstematîk
    • Tîma Core biryar da ku komek xebatê damezrîne da ku îhtîmala veguheztina koda çavkaniyê ji pergala kontrolkirina çavkaniya navendî ya Subversion berbi pergala nenavendî ya Git vekole.
    • Bi karanîna pergalê ceribandina fuzz a kernel FreeBSD pêk anî syzkaller û jimarek xeletiyên naskirî hatin rastkirin. Ji bo lihevhatina bi hawîrdora 32-bit re li ser pergalên bi kernelek 64-bit re qatek ji bo ceribandina fuzzing a pirtûkxaneyan zêde kir. Kapasîteya xebitandina syzkaller di makîneyên virtual-bingeha bhyve de hate bicîh kirin. Di qonaxa paşîn de, tê plansaz kirin ku berbelavkirina ceribandina banga pergalê berfireh bike, paqijkerê LLVM bikar bîne da ku kernelê kontrol bike, netdump bikar bîne da ku kernelên kernel di dema qezayan de di dema ceribandina fuzzing de xilas bike, hwd.
    • Xebatên nûjenkirina pêkanîna zlib di asta kernelê de dest pê kir. Ji bo gihîştina kernelê ya koda zlib, pelrêça contrib/zlib hate guheztin bo sys/contrib/zlib, û pelê sernavê crc.h jî hate guheztin da ku bi zlib/crc.h re nakokî nemîne. Koda mîrasê ya ku bi zlib û inflate ve girêdayî ye paqij kir. Dûv re, tê plan kirin ku ji bo veguheztina hêdî-hêdî berbi guhertoya nû ya fonksiyonên ku berhevkirinê bikar tînin, kapasîteya avakirina kernelê bi hevdemî bi zlib-a kevn û nû re peyda bike;
    • Binesaziya emûlasyona hawîrdora Linux (Linuxulator) hate nûve kirin. Piştgiriya zêde ya ji bo amûrên debuggkirina Linux-ê yên wekî kargêriya strace. Pakêta linux-c7-strace li portan hatiye zêdekirin, ku dikare were bikar anîn ji bo şopandina pelên îcrakar ên Linux-ê li şûna karûbarên standard Truss û ktrace, yên ku hîna nekarin hin ala û strukturên taybetî yên Linux-ê deşîfre bikin. Digel vê yekê, pakêta linux-ltp-ê ya bi lêkerên Projeya Testê ya Linux-ê ve hatî zêdekirin û pirsgirêkên lihevhatina bi darvekerên ku bi guhertoyên nû yên glibc ve girêdayî ne hatine çareser kirin;
    • Pêkanîna operasyonên betalkirina derengmayî di mekanîzmaya pmap de hate veguheztin bo karanîna algorîtmayek pêvajoyek rêzê ya ku bêyî kilît dixebite, ku ev yek mimkun kiriye ku dema ku hejmareke mezin ji operasyonên nexşeyê yên paralel pêk tîne çareserkirina pirsgirêkên scalability;
    • Mekanîzmaya astengkirina vnode di dema pêkanîna bangên pergalê yên malbata execve() de hate guheztin, ku ev yek mimkun kiriye ku dema ku bi hevdemî execve () ji bo heman pelê têne darvekirin (mînakek, dema ku bi paralelbûnê re operasyonên meclîsê têne kirin, karbidestiya zêde bi dest bixin. destpêkirina berhevkar);
  • Ewlekariyê
    • Hîpervisorê bhyve berdewam dike ku piştgirîya ji bo koçkirina Zindî ya hawîrdorên mêvanan ji mêvanek ji mêvanek din re û fonksiyona Save/Restore çêtir bike, ku dihêle hûn pergala mêvanan bicemidînin, dewletê li pelek tomar bikin, û dûv re ji nû ve darvekirinê bidin destpêkirin.
    • Bi karanîna pirtûkxaneya libvdsk, bhyve ji bo wêneyên dîskê di formata QCOW2 de piştgirî zêde kiriye. Ji bo xebatê sazkirinê hewce dike
      bi taybetî hate guherandin guhertoya bhyve, ya ku hatî veguheztin da ku kargêrên operasyona pelê li ser bingeha libvdsk bikar bîne. Di heyama raporê de, libvdsk di heman demê de xebatek ji bo hêsankirina entegrasyona piştevaniya ji bo formatên nû, çêtirkirina performansa xwendin û nivîsandinê, û piştgirî zêde kir ji bo Copy-On-Write. Ji karên mayî, entegrasyona libvdsk di avahiya bingehîn a bhyve de tê destnîşan kirin;

    • Pergalek ji bo berhevkirina agahdariya trafîkê li benderan hate zêdekirin
      Maltrail, ku destûrê dide te ku hûn ji bo daxwazên torê yên xirab xefikan biafirînin (IP û domên ji navnîşên reş têne kontrol kirin) û agahdariya li ser çalakiya tespîtkirî ji serverek navendî re bişînin ji bo paşerojê astengkirin an analîzkirina hewildanên êrîşê;

    • Ji bo tespîtkirina êrîşan, analîzkirina têketin û şopandina yekrêziya pelê platform li portan hatine zêde kirin Wazuh (fork of Ossec bi piştgiriya ji bo entegrasyonê bi ELK-Stack);
  • Subsystem Network
    • Ajokara ena hate nûve kirin da ku piştgirî bide nifşa duyemîn a adaptorên torê ENAv2 (Adaptera Tora Elastîk) ku di binesaziya Elastic Compute Cloud (EC2) de têne bikar anîn da ku pêwendiya di navbera girêkên EC2 de bi leza 25 Gb/s organîze bike. Piştgiriya NETMAP ji ajokera ena re hate zêdekirin.
    • FreeBSD HEAD stekek nû ya MMC/SD-ê, li ser bingeha çarçoweya CAM-ê, dipejirîne û dihêle hûn cîhazên bi navgînek SDIO (I/O Dîjîtal Ewle) ve girêdin. Mînakî, SDIO di modulên WiFi û Bluetooth-ê de ji bo gelek panelan, wek Raspberry Pi 3, tê bikar anîn. Stacka nû di heman demê de dihêle ku navbeynkariya CAM-ê ji bo şandina fermanên SD ji serîlêdanên li cîhê bikarhêner were bikar anîn, ku ev yek jî çêkirina amûrê gengaz dike. ajokarên ku di asta bikarhêner de dixebitin. Xebat li ser çêkirina ajokarên ji bo çîpên bêtêl Broadcom ên ku di moda FullMAC de dixebitin dest pê kir (li aliyê çîpê ew bi pêkanînên 802.11 stûna xweya bêtêlê re xuyangek pergala xebitandina xwe dimeşîne);
    • Ji bo bicihanîna NFSv4.2 (RFC-7862) ji bo FreeBSD xebat didomin. Guhertoya nû ya NFS piştgirî ji bo fonksiyonên posix_fadvise, posix_fallocate, modên SEEKHOLE/SEEKDATA di lseek de, û xebata kopîkirina herêmî ya parçeyên pelê li ser serverê (bêyî veguheztina bi xerîdar) zêde dike.

      FreeBSD niha ji bo operasyonên LayoutError, IOAdvise, Allocate û Copy piştgirîya bingehîn peyda dike. Tiştê ku dimîne ev e ku meriv operasyona Lêgerînê ya ku ji bo karanîna lseek (SEEKHOLE / SEEKDATA) bi NFS re hewce dike, bicîh bîne. Piştgiriya NFSv4.2 ji bo FreeBSD 13 tê plan kirin;

  • Pergalên hilanînê û pelan
    • Projeya ji nû ve xebitandina ajokerê ji bo binepergala FUSE (Pergala pelê li USERspace), ku destûrê dide pêkanîna pergalên pelan di cîhê bikarhêner de, li ber qedandinê ye. Ajokarê ku di eslê xwe de hatî peyda kirin kevn e û gelek xeletî dihewîne. Wekî beşek ji projeya nûjenkirina ajokerê, piştgirî ji bo protokola FUSE 7.23 hate bicîh kirin (berê guhertoya 7.8, ku 11 sal berê hate berdan piştgirî bû), kod hate zêdekirin da ku mafên gihîştinê li aliyê kernelê kontrol bike ("-o default_permissions"), bang li VOP_MKNOD, VOP_BMAP û VOP_ADVLOCK hatin zêdekirin, şiyana qutkirina operasyonên FUSE, piştgirî ji bo lûleyên nenas û soketên unix di fusefs de, şiyana karanîna kqueue ji bo /dev/fuse, destûr nûvekirina parametreyên mountê bi riya "mount -u", piştgirî zêde kirin. ji bo hinardekirina fûzeyan bi rêya NFS, hesabkirina RLIMIT_FSIZE hate sepandin, alayên FOPEN_KEEP_CACHE û FUSE_ASYNC_READ hatin zêdekirin, xweşbîniyên performansê yên girîng hatine çêkirin û rêxistina cachekirinê baştir bûye;
    • Piştgiriya operasyona BIO_DELETE li koda pagerê ya swap-ê hate zêdekirin, ku dihêle hûn dema ku blokan ji ajokarên SSD-ê radikin fermana TRIM bikar bînin da ku jiyana karûbarê wan zêde bikin.
  • Piştgiriya hardware
    • Xebat berdewam e ji bo bicihanîna piştgiriya ARM64 SoC Broadcom BCM5871X bi pêvajoyên ARMv8 Cortex-A57, ku armanc ew e ku di rêgez, dergeh û hilanîna torê de bikar bînin. Di heyama raporê de, piştgirî ji bo otobusên iProc PCIe yên navxweyî û derveyî hate baştir kirin, piştgirî ji bo BNXT Ethernet hate zêdekirin, û xebat didomin ku motora krîptoyê ya çêkirî bikar bînin da ku IPsec bileztir bikin. Di nîvê duyemîn ê salê de tê payîn ku yekbûna kodê di şaxê HEAD de;
    • Xebat li ser piştgirîkirina 64-bit SoC NXP LS1046A li ser bingeha pêvajoya ARMv8 Cortex-A72 bi motorek bilezkirina pêvajoya pakêta torê ya yekbûyî, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 û USB 3.0 dest pê kir. Piştgiriya ji bo platforma bingehîn (SMP pir-bikarhêner) û SATA 3.0 jixwe hatî bicîh kirin. Piştgiriya USB 3.0, SD / MMC û I2C di pêşveçûnê de ye. Di planan de ji bo Ethernet, GPIO û QSPI piştgirî heye. Tê payîn ku di çaryeka 4'an a sala 2019'an de temamkirina kar û tevlêbûna şaxa HEAD'ê.
    • Ji bo adapterên Mellanox ConnectX-5 [Lx], ConnectX-5 [Ex], û ConnectX-4 [Dx] Ethernet û InfiniBand ajokarên mlx5en û mlx6ib nûve kirin. Piştgiriya ji bo adapterên Mellanox Socket Direct (ConnectX-6) lê zêde kir, ku di otobusa PCIe Gen 200 de heya 3.0 Gb / s rê dide. Ji bo çîpên pir-core BlueField, piştgirî ji ajokera RShim re hate zêdekirin. Pakêta mstflint bi komek karûbarên tespîtkirinê yên ji bo adapterên Mellanox li portan hate zêdekirin;
  • Serlêdan û pergala portê
    • Pêkhateyên stacka grafîkê hatine nûve kirin. Ajokarê drm.ko (Rêveberê Renderkirina Rasterast) ji kernel Linux 5.0 hatiye barkirin. Ev ajokar ceribandinek tête hesibandin û wekî grafîk / drm-devel-kmod li dara portê hatî zêdekirin. Ji ber ku ajoker çarçoveya Linux KPI-ya nûvekirî bikar tîne da ku bi DRM API-ya Linux-ê re hevaheng be, pêdivî ye ku FreeBSD CURRENT were xebitandin. Ajokarê drm-ê vboxvideo.ko ji bo GPU-ya virtual ya VirtualBox jî ji Linux-ê hatî şandin. Pakêta Mesa ji bo serbestberdana 18.3.2 hate nûve kirin û hate guheztin ku li şûna devel/llvm80 LLVM ji porta devel/llvm60 bikar bîne.
    • Dara portên FreeBSD ji 37000 benderan derbas bûye, hejmara PR-yên negirtî 2146 dimîne. Di heyama raporê de, 7837 guhertin ji 172 pêşdebiran hatine çêkirin. Sê beşdarên nû mafên berpirsiyariyê wergirtin. Di nav benderan de nûvekirinên guhertoya girîng ev in: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Hemî portên Go hatine guheztin da ku ala "USES=go" bikar bînin. Ala "USES=cabal" li gerînendeyê pakêtê Cabal ku ji bo koda Haskell tê bikar anîn zêde kir. Moda parastina stûyê hişk çalak e. Guhertoya xwerû ya Python li şûna 3.6 2.7 e.
    • Daxuyaniya karûbarê hate amadekirin nsysctl 1.0, ku analogek /sbin/sysctl ku bikar tîne pêşkêşî dike libxo ji bo encam û peydakirina komek vebijarkan a berfireh. Nsysctl dikare were bikar anîn da ku bi dîtbarî rewşa nirxên sysctl bişopîne û agahdariya li ser tiştan bi rengek çêkirî pêşkêşî bike. Hilberîna di formatên XML, JSON û HTML-ê de gengaz e;

Source: opennet.ru

Add a comment