FreeBSD Q2019 XNUMX Daim Ntawv Qhia Txog Kev Txhim Kho

luam tawm qhia txog kev txhim kho FreeBSD qhov project txij lub Plaub Hlis Ntuj txog Lub Rau Hli 2019. Ntawm cov kev hloov pauv peb tuaj yeem nco ntsoov:

  • General thiab systemic teeb meem
    • Pab Pawg Tub Ntxhais tau txiav txim siab los tsim ib pab pawg ua haujlwm los tshawb nrhiav qhov muaj peev xwm txav tau qhov chaws los ntawm qhov chaw tswj hwm kev hloov pauv mus rau qhov kev faib tawm Git.
    • Ua kev sim fuzz ntawm FreeBSD kernel siv lub kaw lus syzkaller ua thiab ib tug xov tooj ntawm kev txheeb xyuas qhov yuam kev raug kho. Ntxiv ib txheej rau fuzzing kev sim ntawm cov tsev qiv ntawv rau kev sib raug zoo nrog 32-ntsis ib puag ncig ntawm cov tshuab nrog 64-ntsis ntsiav. Lub peev xwm los khiav syzkaller hauv bhyve-based virtual tshuab tau ua tiav. Nyob rau theem tom ntej, nws tau npaj kom nthuav dav qhov kev pab cuam ntawm kev kuaj hu xov tooj, siv LLVM tshuaj tua kab mob los xyuas cov kernel, siv netdump kom txuag cov pob pob zeb thaum muaj kev sib tsoo thaum lub sij hawm fuzzing kuaj, thiab lwm yam.
    • Kev ua haujlwm tau pib hloov kho qhov kev siv zlib ntawm qib kernel. Rau kernel nkag mus rau zlib code, contrib/zlib directory tau renamed rau sys/contrib/zlib, thiab cov ntaub ntawv crc.h header kuj tau renamed kom tsis txhob muaj teeb meem nrog zlib/crc.h. Cleaned li legacy code uas nyob ntawm zlib thiab inflate. Tom ntej no, nws yog npaj los muab lub peev xwm los tsim cov kernel ib txhij nrog cov qub thiab tshiab zlib rau kev maj mam hloov mus rau qhov tshiab ntawm cov haujlwm uas siv compression;
    • Linux ib puag ncig emulation infrastructure (Linuxulator) tau hloov kho. Kev txhawb nqa ntxiv rau Linux debugging cov cuab yeej xws li cov khoom siv hluav taws xob. Lub pob linux-c7-strace tau ntxiv rau cov chaw nres nkoj, uas tuaj yeem siv los taug qab Linux cov ntaub ntawv ua tiav tsis yog tus qauv truss thiab ktrace cov khoom siv hluav taws xob, uas tseem tsis tuaj yeem txiav txim siab qee tus chij thiab cov qauv ntawm Linux. Tsis tas li ntawd, cov pob linux-ltp nrog Linux Test Project executables tau ntxiv thiab cov teeb meem kev sib raug zoo nrog executables txuas nrog cov qauv tshiab ntawm glibc tau raug daws;
    • Kev ua haujlwm qeeb ntawm kev ua haujlwm tsis raug cai nyob rau hauv pmap mechanism tau raug xa mus rau kev siv cov kab ke ua cov txheej txheem uas ua haujlwm tsis muaj qhov xauv, uas tau ua rau nws tuaj yeem daws teeb meem scalability thaum ua haujlwm ntau ntawm kev ua haujlwm tsis sib luag;
    • Cov txheej txheem rau kev thaiv vnode thaum lub sijhawm ua tiav ntawm kev hu xov tooj ntawm tsev neeg execve() tau raug hloov pauv, uas tau ua rau nws ua tau kom ua tiav kev ua haujlwm tau zoo thaum ib txhij ua tiav execve() rau tib cov ntaub ntawv (piv txwv li, thaum ua haujlwm sib dhos nrog parallelization. ntawm qhov tso tawm compiler);
  • Kev ruaj ntseg
    • Lub bhyve hypervisor txuas ntxiv txhim kho kev txhawb nqa nyob rau hauv kev tsiv teb tsaws chaw ntawm cov qhua ib puag ncig los ntawm ib tus tswv tsev mus rau lwm tus thiab Txuag / Restore functionality, uas tso cai rau koj kom khov cov qhua, txuag lub xeev rau cov ntaub ntawv, thiab rov pib ua tiav.
    • Los ntawm kev siv lub tsev qiv ntawv libvdsk, bhyve tau ntxiv kev txhawb nqa rau cov duab disk hauv QCOW2 hom. Yuav tsum tau installation ua hauj lwm
      hloov kho tshwj xeeb version ntawm bhyve, uas tau hloov dua siab tshiab los siv cov ntaub ntawv ua haujlwm ua haujlwm raws li libvdsk. Thaum lub sijhawm tshaj tawm, libvdsk kuj tau ua haujlwm kom yooj yim rau kev sib koom ua ke ntawm kev txhawb nqa rau cov qauv tshiab, txhim kho kev nyeem ntawv thiab sau ntawv, thiab ntxiv kev txhawb nqa rau Luam-On-Sau. Ntawm cov haujlwm tseem ceeb, kev koom ua ke ntawm libvdsk rau hauv cov qauv tseem ceeb ntawm bhyve tau sau tseg;

    • Lub kaw lus rau kev sau cov ntaub ntawv tsheb tau ntxiv rau cov chaw nres nkoj
      Maltrail, uas tso cai rau koj los tsim cov cuab yeej rau kev thov kev sib txuas lus tsis zoo (IPs thiab cov npe ntawm cov npe dub raug kuaj xyuas) thiab xa cov ntaub ntawv hais txog kev kuaj pom kev ua haujlwm rau lub hauv paus server rau kev thaiv tom ntej lossis kev tshuaj xyuas ntawm kev sim tua;

    • Cov platform tau ntxiv rau cov chaw nres nkoj rau ntes tau tawm tsam, kev tshuaj xyuas cov cav thiab tshuaj xyuas cov ntaub ntawv kev ncaj ncees Wazuh ( nkhaus ntawm Ossec nrog kev txhawb nqa rau kev koom ua ke nrog ELK-Pib);
  • Network subsystem
    • Tus neeg tsav tsheb ena tau hloov kho los txhawb lub tiam thib ob ntawm ENAv2 (Elastic Network Adapter) network adapters siv hauv Elastic Compute Cloud (EC2) infrastructure los npaj kev sib txuas lus ntawm EC2 nodes ntawm speeds txog li 25 Gb / s. NETMAP kev txhawb nqa tau ntxiv rau tus tsav tsheb ena.
    • FreeBSD HEAD txais yuav MMC / SD pawg tshiab, raws li CAM lub luag haujlwm thiab tso cai rau koj los txuas cov khoom siv nrog SDIO (Secure Digital I / O) interface. Piv txwv li, SDIO yog siv hauv WiFi thiab Bluetooth modules rau ntau lub rooj tsavxwm, xws li Raspberry Pi 3. Cov pawg tshiab kuj tso cai rau CAM interface siv los xa SD cov lus txib los ntawm cov ntawv thov hauv cov neeg siv qhov chaw, uas ua rau nws muaj peev xwm tsim cov khoom siv. cov tsav tsheb uas ua haujlwm ntawm cov neeg siv qib. Kev ua haujlwm tau pib tsim cov tsav tsheb rau Broadcom wireless chips ua haujlwm hauv FullMAC hom (ntawm nti sab nws khiav ib qho piv txwv ntawm nws tus kheej kev ua haujlwm nrog kev siv ntawm nws 802.11 wireless pawg);
    • Kev ua haujlwm tab tom pib siv NFSv4.2 (RFC-7862) rau FreeBSD. Tus tshiab version ntawm NFS ntxiv kev txhawb nqa rau posix_fadvise, posix_fallocate functions, SEEKHOLE / SEEKDATA hom hauv lseek, thiab kev ua haujlwm ntawm kev luam tawm hauv zos ntawm qhov chaw ntawm cov ntaub ntawv ntawm lub server (tsis hloov mus rau tus neeg siv khoom).

      FreeBSD tam sim no muab kev txhawb nqa yooj yim rau LayoutError, IOAdvise, Allocate, thiab Copy operations. Txhua yam uas tseem tshuav yog siv txoj haujlwm Seek yuav tsum siv lseek(SEEKHOLE/SEEKDATA) nrog NFS. NFSv4.2 kev txhawb nqa yog npaj rau FreeBSD 13;

  • Cia thiab cov ntaub ntawv systems
    • Lub phiaj xwm rov ua haujlwm rau tus tsav tsheb rau FUSE (Cov Ntaub Ntawv hauv USErspace) subsystem, uas tso cai rau tsim kev siv cov ntaub ntawv hauv cov neeg siv qhov chaw, ze rau qhov ua tiav. Tus neeg tsav tsheb thaum xub thawj muab yog qhov qub thiab muaj ntau yam kab mob. Raws li ib feem ntawm qhov kev tsim kho tshiab ntawm tus neeg tsav tsheb, kev txhawb nqa rau FUSE 7.23 raws tu qauv tau ua tiav (yav dhau los version 7.8, tso tawm 11 xyoo dhau los tau txais kev txhawb nqa), cov lej tau ntxiv los txheeb xyuas cov cai nkag rau sab hauv ("-o default_permissions"), hu rau VOP_MKNOD, VOP_BMAP thiab VOP_ADVLOCK tau ntxiv, muaj peev xwm cuam tshuam cov haujlwm FUSE, ntxiv kev txhawb nqa rau cov kav dej tsis muaj npe thiab unix sockets hauv fusefs, muaj peev xwm siv kqueue rau /dev / fuse, tso cai hloov kho mount tsis ntawm "mount -u", ntxiv kev txhawb nqa rau kev xa tawm fusefs ntawm NFS, siv RLIMIT_FSIZE accounting, ntxiv FOPEN_KEEP_CACHE chij thiab FUSE_ASYNC_READ, kev ua haujlwm tseem ceeb tau ua tiav thiab lub koom haum caching tau txhim kho;
    • Kev them nyiaj yug rau BIO_DELETE kev ua haujlwm tau ntxiv rau qhov sib pauv pager code, uas tso cai rau koj siv TRIM hais kom ua thaum tshem cov blocks los ntawm SSD drives kom lawv lub neej ua haujlwm.
  • Kev them nyiaj yug kho vajtse
    • Kev ua haujlwm txuas ntxiv siv kev txhawb nqa rau ARM64 SoC Broadcom BCM5871X nrog ARMv8 Cortex-A57 processors, tsom rau kev siv hauv routers, rooj vag thiab network cia. Thaum lub sijhawm tshaj tawm, kev txhawb nqa rau cov tsheb npav sab hauv thiab sab nraud iProc PCIe tau txhim kho, kev txhawb nqa rau BNXT Ethernet tau ntxiv, thiab kev ua haujlwm tab tom ua haujlwm los siv lub cav tsim hauv crypto kom nrawm IPsec. Kev koom ua ke ntawm cov cai rau hauv HEAD ceg yuav tsum nyob rau hauv ib nrab ntawm lub xyoo;
    • Kev ua haujlwm tau pib ntawm kev txhawb nqa rau 64-ntsis SoC NXP LS1046A raws li ARMv8 Cortex-A72 processor nrog kev sib koom ua ke network pob khoom ua haujlwm nrawm, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 thiab USB 3.0. Kev them nyiaj yug rau lub hauv paus platform (ntau tus neeg siv SMP) thiab SATA 3.0 twb tau ua tiav lawm. Kev them nyiaj yug rau USB 3.0, SD / MMC thiab I2C yog nyob rau hauv txoj kev loj hlob. Cov phiaj xwm suav nrog kev txhawb nqa rau Ethernet, GPIO thiab QSPI. Kev ua tiav ntawm kev ua haujlwm thiab suav nrog hauv HEAD ceg yuav tsum nyob rau lub quarter thib 4 ntawm 2019.
    • Hloov tshiab mlx5en thiab mlx5ib tsav tsheb rau Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], thiab ConnectX-6 [Dx] Ethernet thiab InfiniBand adapters. Ntxiv kev txhawb nqa rau Mellanox Socket Direct (ConnectX-6) adapters, tso cai rau kev nkag mus txog 200Gb / s ntawm PCIe Gen 3.0 npav. Rau multi-core BlueField chips, kev txhawb nqa rau RShim tsav tsheb tau ntxiv. Lub pob mstflint nrog cov txheej txheem kuaj mob rau Mellanox adapters tau ntxiv rau cov chaw nres nkoj;
  • Daim ntawv thov thiab chaw nres nkoj system
    • Graphics stack Cheebtsam tau hloov kho. Tus tsav tsheb drm.ko (Direct Rendering Manager) tau raug xa tawm los ntawm Linux 5.0 ntsiav. Tus neeg tsav tsheb no raug suav tias yog kev sim thiab tau ntxiv rau cov chaw nres nkoj ntoo raws li cov duab / drm-devel-kmod. Txij li thaum tus tsav tsheb siv qhov hloov kho Linux KPI lub moj khaum kom ua tau raws li Linux ntsiav DRM API, FreeBSD CURRENT yuav tsum tau khiav. Lub vboxvideo.ko drm tsav tsheb rau VirtualBox virtual GPU kuj tau raug xa tawm los ntawm Linux. Mesa pob tau raug hloov kho kom tso tawm 18.3.2 thiab hloov mus siv LLVM los ntawm qhov chaw nres nkoj devel/llvm80 es tsis txhob devel/llvm60.
    • FreeBSD cov chaw nres nkoj ntoo tau dhau 37000 qhov chaw nres nkoj, tus naj npawb ntawm cov PRs tsis kaw tseem nyob ntawm 2146. Thaum lub sijhawm tshaj tawm, 7837 hloov pauv los ntawm 172 tus tsim tawm. Peb tus neeg koom tshiab tau txais cov cai lij choj. Ntawm cov kev hloov tshiab tseem ceeb hauv cov chaw nres nkoj yog: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Tag nrho Go ports tau hloov dua siab tshiab los siv tus chij "USES=go". Ntxiv "USES = cabal" chij rau Cabal pob tus thawj coj siv rau Haskell code. Cov txheej txheem nruj tiv thaiv yog qhib. Lub neej ntawd version ntawm Python yog 3.6 hloov 2.7.
    • Kev tso tawm hluav taws xob tau npaj lawm nsysctl 1.0, uas muaj ib qho analogue rau /sbin/sysctl uas siv libxo rau cov zis thiab muab cov txheej txheem nthuav dav. Nsysctl tuaj yeem siv los saib xyuas lub xeev ntawm sysctl qhov tseem ceeb thiab nthuav qhia cov ntaub ntawv ntawm cov khoom hauv ib daim ntawv tsim. Cov zis hauv XML, JSON thiab HTML hom yog ua tau;

Tau qhov twg los: opennet.ru

Ntxiv ib saib