paʻi ʻia hōʻike i ka hoʻomohala ʻana o ka papahana FreeBSD mai ʻApelila a Iune 2019. Ma waena o nā hoʻololi hiki iā mākou ke hoʻomaopopo:
Nā nīnau maʻamau a me nā ʻōnaehana
Ua hoʻoholo ka hui Core e hoʻokumu i kahi hui hana e ʻimi i ka hiki ke hoʻoneʻe i ke code kumu mai ka ʻōnaehana hoʻomalu kumu Subversion kikowaena i ka ʻōnaehana Git decentralized.
Hana ʻia ka hoʻāʻo fuzz o ka FreeBSD kernel me ka hoʻohana ʻana i ka ʻōnaehana syzkaller a ua hoʻoponopono ʻia kekahi mau hewa i ʻike ʻia. Hoʻohui ʻia kahi papa no ka hoʻāʻo ʻana i nā hale waihona puke no ka hoʻohālikelike ʻana me kahi kaiapuni 32-bit ma nā ʻōnaehana me kahi kernel 64-bit. Ua hoʻokō ʻia ka hiki ke holo syzkaller i nā mīkini virtual-based bhyve. I ka pae aʻe, ua hoʻolālā ʻia e hoʻonui i ka uhi o ka hoʻāʻo ʻana i ka ʻōnaehana, e hoʻohana i ka LLVM sanitizer e nānā i ka kernel, e hoʻohana i ka netdump e mālama i nā dumps kernel i ka wā o nā pōpilikia i ka wā hoʻāʻo fuzzing, etc.
Ua hoʻomaka ka hana i ka hoʻonui ʻana i ka hoʻokō zlib ma ka pae kernel. No ka loaʻa ʻana o ka kernel i ka code zlib, ua kapa hou ʻia ka papa kuhikuhi contrib/zlib i sys/contrib/zlib, a ua kapa hou ʻia ka faila poʻomanaʻo crc.h e pale i ka paio me zlib/crc.h. Hoʻomaʻemaʻe i ka code hoʻoilina i hilinaʻi ʻia ma zlib a inflate. ʻO ka mea aʻe, ua hoʻolālā ʻia e hāʻawi i ka hiki ke kūkulu i ka kernel i ka manawa like me ka zlib kahiko a me ka hou no ka hoʻololi lohi ʻana i ka mana hou o nā hana e hoʻohana ana i ka compression;
Ua hōʻano hou ʻia ka Linux environment emulation infrastructure (Linuxulator). Hoʻonui i ke kākoʻo no nā mea hana debugging Linux e like me ka strace utility. Ua hoʻohui ʻia ka pūʻolo linux-c7-strace i nā awa, hiki ke hoʻohana ʻia no ka ʻimi ʻana i nā faila hoʻokō Linux ma mua o nā pono hana maʻamau a me ktrace, ʻaʻole hiki ke hoʻololi i kekahi mau hae a me nā hale kikoʻī Linux. Eia kekahi, ua hoʻohui ʻia ka pūʻolo linux-ltp me Linux Test Project executables a ua hoʻoholo ʻia nā pilikia pili me nā mea hoʻokō i hoʻopili ʻia me nā mana hou o glibc;
Ua hoʻololi ʻia ka hoʻokō ʻana i nā hana invalidation i hoʻopaneʻe ʻia i ka mīkini pmap i ka hoʻohana ʻana i kahi algorithm hoʻoponopono queue e hana me ka ʻole o nā laka, kahi i hiki ai ke hoʻoponopono i nā pilikia scalability i ka wā e hana ana i kahi helu nui o nā hana unmap like;
Ua hoʻololi ʻia ke ʻano no ka pale ʻana i ka vnode i ka wā o ka hoʻokō ʻana i nā kelepona ʻōnaehana o ka ʻohana execve() i hiki ai ke hoʻonui i ka pono i ka wā e hoʻokō ai i execve() no ka faila like (no ka laʻana, i ka wā e hana ana i nā hana hui me ka parallelization. o ka hoʻomaka ʻana o ka mea hōʻuluʻulu);
Ka maluhia
Ke hoʻomau nei ka bhyve hypervisor i ka hoʻomaikaʻi ʻana i ke kākoʻo no ka neʻe ʻana o nā kaiapuni malihini mai kekahi host i kekahi a me ka hana Save/Restore, hiki iā ʻoe ke hoʻokuʻu i ka ʻōnaehana malihini, mālama i ka mokuʻāina i kahi faila, a laila hoʻomaka hou i ka hoʻokō.
Ma o ka hoʻohana ʻana i ka waihona libvdsk, ua hoʻohui ʻo bhyve i ke kākoʻo no nā kiʻi disk ma ke ʻano QCOW2. Pono e hoʻokomo i ka hana hoʻololi kūikawā mana o bhyve, i hoʻololi ʻia e hoʻohana i nā mea hoʻohana faila e pili ana i ka libvdsk. I loko o ka manawa hōʻike, ua hana pū ʻo libvdsk i nā hana e hoʻomaʻamaʻa i ka hoʻohui ʻana o ke kākoʻo no nā ʻano hou, hoʻomaikaʻi i ka heluhelu a kākau ʻana, a me ke kākoʻo hoʻohui no Copy-on-Write. ʻO nā hana i koe, ʻike ʻia ka hoʻohui ʻana o libvdsk i loko o ka hale nui o bhyve;
Ua hoʻohui ʻia kahi ʻōnaehana no ka ʻohi ʻana i ka ʻike kaʻa i nā awa Maltrail, hiki iā ʻoe ke hana i nā pahele no nā noi pūnaewele ʻino (nānā ʻia nā IP a me nā kikowaena mai nā papa inoa ʻeleʻele) a hoʻouna i ka ʻike e pili ana i ka hana i ʻike ʻia i kahi kikowaena kikowaena no ka pale ʻana a i ʻole ka nānā ʻana i nā hoʻāʻo hoʻouka;
Ua hoʻohui ʻia nā paepae i nā awa no ka ʻike ʻana i nā hoʻouka ʻana, ka nānā ʻana i nā lāʻau a me ka nānā pono ʻana i ka faila Wazuh (kahi o Ossec me ke kākoʻo no ka hoʻohui ʻana me ELK-Stack);
Pūnaehana pūnaewele
Ua hōʻano hou ʻia ka mea hoʻokele ena no ke kākoʻo ʻana i ka lua o ka hanauna o ENAv2 (Elastic Network Adapter) mea hoʻopili pūnaewele i hoʻohana ʻia i ka ʻōnaehana Elastic Compute Cloud (EC2) e hoʻonohonoho i ke kamaʻilio ma waena o nā node EC2 i ka wikiwiki a hiki i 25 Gb/s. Ua hoʻohui ʻia ke kākoʻo NETMAP i ka mea hoʻokele ena.
Hoʻohana ʻo FreeBSD HEAD i kahi waihona MMC/SD hou, e pili ana i ka framework CAM a hiki iā ʻoe ke hoʻohui i nā polokalamu me kahi interface SDIO (Secure Digital I/O). No ka laʻana, hoʻohana ʻia ʻo SDIO i nā modula WiFi a me Bluetooth no nā papa he nui, e like me ka Raspberry Pi 3. ʻO ka hoʻopaʻa ʻana hou e ʻae i ka interface CAM e hoʻohana i ka hoʻouna ʻana i nā kauoha SD mai nā noi ma kahi o ka mea hoʻohana. nā mea hoʻokele e hana ma ka pae hoʻohana. Ua hoʻomaka ka hana ma ka hoʻokumu ʻana i nā mea hoʻokele no nā pahu uila Broadcom e hana ana ma ke ʻano FullMAC (ma ka ʻaoʻao chip e holo ana i kahi ʻano o kāna ʻōnaehana hana ponoʻī me ka hoʻokō ʻana o kāna 802.11 pūnaewele uila);
Ke hoʻomaka nei ka hana e hoʻokō i ka NFSv4.2 (RFC-7862) no FreeBSD. Hoʻohui ka mana hou o NFS i ke kākoʻo no nā hana posix_fadvise, posix_fallocate, SEEKHOLE/SEEKDATA modes i lseek, a me ka hana o ke kope kūloko o nā ʻāpana o kahi faila ma ke kikowaena (me ka ʻole o ka hoʻoili ʻana i ka mea kūʻai aku).
Hāʻawi ʻo FreeBSD i ke kākoʻo kumu no ka LayoutError, IOAdvise, Allocate, a me nā hana kope. ʻO nā mea a pau i koe e hoʻokō i ka hana ʻimi e pono ai e hoʻohana i lseek(SEEKHOLE/SEEKDATA) me NFS. Hoʻolālā ʻia ke kākoʻo NFSv4.2 no FreeBSD 13;
Waihona a me nā ʻōnaehana waihona
ʻO ka papahana e hana hou i ka mea hoʻokele no ka FUSE (File system in USErspace) subsystem, e hiki ai ke hana i ka hoʻokō ʻana i nā ʻōnaehana faila ma kahi o ka mea hoʻohana, ua kokoke e pau. ʻO ka mea hoʻokele i hoʻolako mua ʻia ua kahiko ʻia a loaʻa nā pōpoki he nui. Ma ke ʻano he ʻāpana o ka papahana hoʻokele hoʻokele, ua hoʻokō ʻia ke kākoʻo no ka protocol FUSE 7.23 (ua kākoʻo ʻia ka mana 7.8 ma mua, ua hoʻokuʻu ʻia 11 mau makahiki i hala), ua hoʻohui ʻia ke code e nānā i nā kuleana komo ma ka ʻaoʻao kernel ("-o default_permissions"), kāhea iā Hoʻohui ʻia ʻo VOP_MKNOD, VOP_BMAP a me VOP_ADVLOCK, ka hiki ke hoʻopau i nā hana FUSE, hoʻohui i ke kākoʻo no nā paipu inoa ʻole a me nā kumu unix i nā fusefs, ka hiki ke hoʻohana i ka kqueue no / dev / fuse, ʻae ʻia ka hoʻonui ʻana i nā palena mauna ma o "mauna -u", kākoʻo hoʻohui. no ka lawe ʻana aku i nā fusefs ma o NFS, ua hoʻokō ʻia ka helu helu RLIMIT_FSIZE, ua hoʻohui ʻia nā hae FOPEN_KEEP_CACHE a me FUSE_ASYNC_READ, ua hana ʻia nā hana hoʻomaikaʻi nui a ua hoʻomaikaʻi ʻia ka hui ʻana o ka cache;
Ua hoʻohui ʻia ke kākoʻo no ka hana BIO_DELETE i ka code swap pager, kahi e hiki ai iā ʻoe ke hoʻohana i ke kauoha TRIM i ka wā e wehe ai i nā poloka mai SSD drive e hoʻonui i ko lākou ola lawelawe.
Kākoʻo lako lako
Ke hoʻomau nei ka hana i ke kākoʻo no ARM64 SoC Broadcom BCM5871X me nā kaʻina hana ARMv8 Cortex-A57, i manaʻo ʻia e hoʻohana i nā ala ala, nā ʻīpuka a me ka mālama pūnaewele. I loko o ka manawa hōʻike, ua hoʻomaikaʻi ʻia ke kākoʻo no nā kaʻa kaʻa iProc PCIe i loko a i waho, ua hoʻohui ʻia ke kākoʻo no BNXT Ethernet, a ke hoʻomaka nei ka hana e hoʻohana i ka ʻenekini crypto i kūkulu ʻia e wikiwiki i ka IPsec. Manaʻo ʻia ka hoʻohui ʻana o ke code i ka lālā HEAD i ka hapa lua o ka makahiki;
Ua hoʻomaka ka hana ma ke kākoʻo no ka 64-bit SoC NXP LS1046A ma muli o ke kaʻina hana ARMv8 Cortex-A72 me kahi mīkini hoʻopihapiha hoʻopihapiha hoʻopihapiha hoʻopihapiha, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 a me USB 3.0. Ua hoʻokō mua ʻia ke kākoʻo no ke kahua kahua (multi-user SMP) a me SATA 3.0. Ke kākoʻo ʻia nei ke kākoʻo no USB 3.0, SD/MMC a me I2C. Aia nā papahana i ke kākoʻo no Ethernet, GPIO a me QSPI. Manaʻo ʻia ka hoʻopau ʻana o ka hana a me ka hoʻokomo ʻana i ka lālā HEAD i ka hapaha 4 o 2019.
Nā mea hoʻokele mlx5en a me mlx5ib hou no Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], a me ConnectX-6 [Dx] Ethernet a me InfiniBand adapters. Kākoʻo hoʻohui ʻia no nā mea hoʻololi Mellanox Socket Direct (ConnectX-6), e ʻae ana i ka hiki ke hiki i ka 200Gb/s ma ka pahi ʻo PCIe Gen 3.0. No nā chips BlueField multi-core, ua hoʻohui ʻia ke kākoʻo no ka mea hoʻokele RShim. Ua hoʻohui ʻia ka pūʻolo mstflint me kahi hoʻonohonoho diagnostic no nā mea hoʻopili Mellanox i nā awa;
Nā noi a me nā ʻōnaehana awa
Ua hōʻano hou ʻia nā ʻāpana hoʻopaʻa kiʻi. Ua lawe ʻia ka mea hoʻokele drm.ko (Direct Rendering Manager) mai ka Linux 5.0 kernel. Ua manaʻo ʻia kēia mea hoʻokele hoʻokolohua a ua hoʻohui ʻia i ka lāʻau awa ma ke ʻano he kiʻi / drm-devel-kmod. Ma muli o ka hoʻohana ʻana o ka mea hoʻokele i ka hoʻolālā Linux KPI hou e kūpono me ka Linux kernel DRM API, pono ʻo FreeBSD CURRENT e holo. ʻO ka vboxvideo.ko drm mea hoʻokele no ka VirtualBox virtual GPU ua lawe pū ʻia mai Linux. Ua hōʻano hou ʻia ka pūʻolo Mesa e hoʻokuʻu i ka 18.3.2 a ua hoʻololi ʻia e hoʻohana i ka LLVM mai ke awa devel/llvm80 ma kahi o devel/llvm60.
Ua ʻoi aku ka lāʻau awa FreeBSD ma mua o 37000 mau awa, ʻo ka helu o nā PR i pani ʻole ʻia e mau ana ma 2146. I loko o ka manawa hōʻike, ua hana ʻia nā hoʻololi 7837 mai nā mea hoʻomohala 172. ʻEkolu mau mea hou i loaʻa nā kuleana committer. Ma waena o nā hōʻano hou i nā awa: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Ua hoʻololi ʻia nā awa Go āpau e hoʻohana i ka hae "USES=go". Hoʻohui ʻia ka hae "USES=cabal" i ka luna pūʻolo Cabal i hoʻohana ʻia no ke code Haskell. Ua hoʻohana ʻia ke ʻano pale pale koʻikoʻi. ʻO ka mana paʻamau o Python he 3.6 ma kahi o 2.7.
Ua hoʻomākaukau ʻia ka hoʻokuʻu pono nsysctl 1.0, e hāʻawi ana i kahi analogue i /sbin/sysctl e hoʻohana nei libxo no ka hoʻopuka a me ka hāʻawi ʻana i kahi hoʻonohonoho hoʻonui i nā koho. Hiki ke hoʻohana ʻia ʻo Nsysctl e nānā pono i ke kūlana o nā waiwai sysctl a hōʻike i ka ʻike ma nā mea i kahi ʻano i kūkulu ʻia. Hiki ke hoʻopuka i nā puka XML, JSON a me HTML;