Twee en 'n half jaar na die vorming van die 12.x-tak is die vrystelling van FreeBSD 13.0 aangebied, wat voorberei is vir die amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 en riscv64 argitekture. Boonop is beelde gegenereer vir virtualisasiestelsels (QCOW2, VHD, VMDK, rou) en wolkomgewings Amazon EC2, Google Compute Engine en Vagrant.
Belangrikste innovasies:
- Die oorgang na 'n verenigde c is voltooi Linux Die OpenZFS-projek se implementering van die ZFS-lêerstelsel. Kenmerke wat in FreeBSD beskikbaar gestel is na die oorskakeling na OpenZFS sluit in: 'n uitgebreide kwotastelsel, datastel-enkripsie, aparte toewysingsklaskeuse, die gebruik van vektorverwerkerinstruksies om RAIDZ-implementering en kontrolesomberekeninge te versnel, ondersteuning vir die ZSTD-kompressie-algoritme, multigasheermodus (MMP, Multi Modifier Protection), verbeterde opdragreël-gereedskap, en regstellings vir talle wedrentoestand- en sluitfoute.
- Die poort vir die ARM64-argitektuur (AArch64) is geskuif na die eerste vlak van ondersteuning (vlak 1), wat ondersteun word deur spanne wat verantwoordelik is vir die uitskakeling van kwesbaarhede, die voorbereiding van vrystellings en die instandhouding van poorte. Die eerste vlak van ondersteuning behels die skepping van installasie-samestellings, binêre opdaterings en klaargemaakte pakkette, sowel as die verskaffing van waarborge vir die oplossing van spesifieke probleme en die handhawing van die onveranderde ABI vir die gebruikersomgewing en kern (met die uitsondering van sommige substelsels).
- Die i386-argitektuur is oorgedra na die tweede vlak van platformondersteuning (vlak 2), waarop die vorming van installasiesamestellings, binêre opdaterings en klaargemaakte pakkette sal voortgaan, maar waarborg nie 'n oplossing vir spesifieke probleme nie. Die verstek CPU-tipe (CPUTYPE) vir die i386-argitektuur is verander van 486 na 686 (indien verlang, kan samestellings vir i486 en i586 onafhanklik geskep word).
- Komponente clang, lld, lldb, compiler-rt, llvm, libunwind en libc++ is opgedateer na weergawe 11.
- Ontwikkeling is oorgedra van die gesentraliseerde bronbeheerstelsel Subversion na die gedesentraliseerde stelsel Git.
- Die basisstelsel is skoongemaak van toepassings wat onder die GPL-lisensie versprei is. Binutils 2.17 en gcc 4.2.1 is uit die bronboom verwyder, en alle ondersteunde argitekture is na die LLVM/clang-nutsmiddelstel geskuif. Ingesluit is BSD-gelisensieerde weergawes van die grep en dtc (Device Tree Compiler) nutsprogramme, wat die GPL-gelisensieerde weergawes vervang. Die amd outomatiese monteerproses is verwyder, waarvan die funksionaliteit nou deur outofs geïmplementeer word. Die ctm-hulpmiddel is verwyder, en dit word aanbeveel om eerder die misc/ctm-poort te gebruik.
- Die roetestapel is herskryf om ondersteuning in te sluit vir nexthop-voorwerpe wat staatsdata stoor wat gebruik word om 'n pakkie na die verlangde bestemming aan te stuur. Bygevoeg die vermoë om jou eie roete soek algoritmes te koppel. Bygevoeg roete soek algoritmes van DPDK (Data Plane Development Kit) librte, wat jou toelaat om werk te optimaliseer met baie groot roetering tabelle. Vir proxyarp-versoeke word die fib-koppelvlak gebruik. Bygevoeg die vermoë om die fib nommer op die vlieg te verander via sysctl net.fibs. Geïmplementeerde ondersteuning vir tydelike roetes vir IPv4 en IPv6 (met vasgestelde leeftyd).
- Meerpad-roeteringondersteuning is herskryf en meer skaalbaar gemaak, waarin soektyd nie afhang van die lysgrootte nie (O(1)). Die nuwe Multipath-implementering word nou geassosieer met die ROUTE_MPATH-kernparameter, wat RADIX_MPATH vervang het en by verstek geaktiveer is. Om Multipath te bestuur, word sysctl net.route.multipath voorgestel.
- Die kriptografiese raamwerk wat op kernvlak geïmplementeer is, is herontwerp, wat ondersteuning vir moderne kriptografiese algoritmes byvoeg en die koppelvlak vir die gebruik van enkripsie in drywers en ander kernkomponente vereenvoudig. Verouderde algoritmes ARC4, Blowfish, CAST128, DES, DES, MD5-HMAC en Skipjack verwyder. IPsec en Kerberos ondersteun nie meer algoritmes wat deur RFC 8221 en RFC 6649/8429 afgekeur is nie, insluitend 3DES. Verwyder voorheen aangekondigde afgekeurde algoritmes in die geli en cryptodev skyf enkripsie substelsel.
- Die GENERIESE kern bevat ondersteuning vir die aesni- en armv8crypto-bestuurders om geli-gebaseerde skyf-enkripsie te versnel deur gebruik te maak van AES-NI-instruksies vir amd64/i386-argitekture en AES-XTS vir ARM64.
- Bygevoeg qat bestuurder vir Intel QuickAssist (QAT) kripto versnellers en ossl bestuurder met implementering van versnelde sagteware enkripsie prosedures van OpenSSL, geoptimaliseer met behulp van samestelling taal kode. Die armv8crypto-bestuurder voeg ondersteuning by vir AES-XTS en AES-GCM deur die ooreenstemmende instruksies vir ARMv8-verwerkers te gebruik.
- Bygevoeg TLS (kTLS) implementering loop op die FreeBSD kern vlak, wat voorsiening maak vir 'n aansienlike toename in enkripsie werkverrigting vir TCP voetstukke. Ondersteunde TLS weergawes 1.0 tot 1.3. Vir enkripsie word kernkripto-drywers wat AES-CBC of AES-GCM ondersteun, gebruik. Om kTLS in gebruikersruimte te gebruik, vereis die herbou van OpenSSL met die WITH_OPENSSL_KTLS opsie.
- Het 'n nuwe tipe netwerkbuffers bygevoeg, mbuf (netwerkdatabuffer), wat verskeie ongekarteerde fisiese geheuebladsye in een buffer kan verteenwoordig, wat die werkverrigting van die sendfile(2)-oproep verbeter deur die grootte van mbuf-lyste in sokbuffers te verminder.
- Die TCP-stapel integreer ondersteuning vir die algoritme vir proporsionele vermindering in die intensiteit van die stuur van pakkies (Proportional Rate Reduction, RFC 6937), wat jou toelaat om vinnig optimale vloeiparameters te herstel na tydelike probleme met data-oordrag. Om PRR te deaktiveer, word sysctl net.inet.tcp.do_prr verskaf.
- Bhyve-hipervisorvermoëns is uitgebrei: Ondersteuning vir lêerdeling met behulp van VirtIO-9p (VirtFS) is bygevoeg. Ondersteuning vir momentopnames is geïmplementeer. virtuele masjieneOndersteuning vir PCI HDAudio-toestelle en bykomende seriële poorte COM3 en COM4 is bygevoeg. Verouderde bvmconsole- en bvmdebug-toestelmodelle is verwyder. Verbeterde stabiliteit met VNC-kliënte, insluitend macOS-Skermdeling-toepassing.
- VirtIO-bestuurders het ondersteuning bygevoeg vir die VirtIO V1-spesifikasie, wat die verenigbaarheid van FreeBSD-gaste met verskeie emulators en hipervisors verbeter het.
- Vir prosesse verbonde aan tronk-omgewings, word omskakeling van SVE-bindings verskaf (die cpuset wat aanvanklik aan die proses gebind is, sal vervang word met inagneming van die tronk se cpuset en die beperkings wat gestel is).
- Die vermoë om die FreeBSD-basisstelsel in omgewings gebaseer op ander bedryfstelsels te bou, is bygevoeg. Die behoefte om op ander bedryfstelsels te bou, word gedryf deur die begeerte om deurlopende integrasie-instrumente te gebruik vir die toets van FreeBSD, wat gebaseer is op Linux of macOS.
- 'n Nuwe MMC/SD-stapel word voorgestel, gebaseer op die CAM-raamwerk en wat jou toelaat om toestelle met 'n SDIO (Secure Digital I/O)-koppelvlak te koppel. SDIO word byvoorbeeld gebruik in WiFi- en Bluetooth-modules vir baie borde, soos die Raspberry Pi 3. Die nuwe stapel laat ook toe dat die CAM-koppelvlak gebruik kan word om SD-opdragte vanaf toepassings in gebruikersruimte te stuur, wat dit moontlik maak om toestel te skep drywers wat op gebruikersvlak werk.
- Verbeterde tussenlaagprestasie vir versoenbaarheid met LinuxDTS (Device Tree Sources) lêers word met die kern gesinkroniseer Linux 5.8.
- Ondersteuning vir NFSv4.2 (RFC-7862) bygevoeg en die vermoë geïmplementeer om NFS oor 'n geënkripteerde kommunikasiekanaal gebaseer op TLS 1.3 te gebruik, in plaas daarvan om Kerberos te gebruik (sec=krb5p-modus), wat beperk was tot die enkripteer van slegs RPC-boodskappe en geïmplementeer is slegs in sagteware.
- Die verouderde weergawe van die GDB-ontfouter, wat voorheen in die /usr/libexec-gids geïnstalleer is en in die crashinfo-nutsding gebruik is, is verwyder. In plaas van vooraf geïnstalleerde GDB, om gedetailleerde inligting oor die oorsake van die ongeluk te bekom, word dit nou voorgestel om die nuutste weergawe van GDB vanaf poorte of pakkette te installeer. Ondersteuning vir prosesontfouting via procfs is gestaak. Die netgdb-bestuurder is bygevoeg, wat toegang tot die kernontfouter oor die netwerk moontlik maak.
- Die onveilige kry-funksie is van libc verwyder (begin van die C11-standaard, is hierdie funksie uitgesluit van die spesifikasie) en die poorte wat steeds hierdie funksie gebruik, is aangepas. Verwyder cap_random funksies (getrandom moet gebruik word).
- Het 'n nuwe copy_file_range-stelseloproep bygevoeg wat versoenbaar is met die kernimplementering. Linux en laat toe om die kopiëring van data van een lêer na 'n ander te versnel deur die bewerking slegs aan die kernkant uit te voer sonder om eers die data in die prosesgeheue in te lees. Die stelseloproep word ook gebruik in bediener NFSv4.2 vir die uitvoering van kopieerbewerkings plaaslik op die bediener (sonder om na die kliënt te stuur).
- Die POSIX AIO asynchrone I/O-enjin stel ondersteuning vir gevektoriseerde funksies bekend. In die besonder is die aio_writev- en aio_readv-stelseloproepe bygevoeg, wat die implementering van gevektoriseerde ekwivalente van die aio_read- en aio_write-funksies moontlik maak.
- Gebruikersruimtekomponente is gestaak om die a.out-uitvoerbare lêerformaat op i386-argitektuurstelsels te ondersteun. Die elf2aout-nutsding is verwyder.
- Die ping- en ping6-nutsprogramme is gekombineer. Die vermoë om kwaliteit van diens (QoS) parameters te stel via IP DSCP en Ethernet PCP is by ping gevoeg.
- Die freebsd-update-nutsding wys nou lêeraflaaivordering en voeg die updatesready- en showconfig-opdragte by om na opdaterings te kyk en die konfigurasie te wys.
- Baie werk is gedoen om ondersteuning vir NUMA (Non-Uniform Memory Access) stelsels te verbeter.
- Opgedateerde grafiese drywers en grafiese stapel komponente. Probleme met die werking van omgewings gebaseer op die Wayland-protokol is opgelos.
- Bygevoeg agterlig-substelsel vir die skep van agterligbeheerbestuurders. Bygevoeg pwm-agterligbestuurder om Pinebook en Pinebook Pro-agterlig te beheer.
- Ondersteuning vir die SCTP-protokol is ingesluit in 'n aparte module sctp.ko, wat by verstek in die GENERIESE kern gedeaktiveer is.
- Vir invoertoestelle is 'n nuwe usbhid-bestuurder voorgestel wat die hid-raamwerk gebruik om met USB HID-toestelle te werk, in plaas van die ukbd-, ums- en uhid-drywers.
- Die cpufreq-bestuurder ondersteun Intel Speed Shift-tegnologie.
- Bygevoeg ondersteuning vir nuwe borde gebaseer op 64-bis ARMv8 CPU's, insluitend Broadcom BCM5871X en NXP LS1046A SoC's.
- Vir die AMD64-argitektuur word ondersteuning vir 57-bis virtuele adresse (LA57) geïmplementeer. Bygevoeg ondersteuning vir Chinese x86 CPU Hygon Dhyana gebaseer op AMD tegnologie.
- Die poort vir die powerpc64-argitektuur is omgeskakel om LLVM en die ELFv2 ABI te gebruik (binaries van vorige weergawes van FreeBSD sal nie in FreeBSD 13 gebruik kan word nie). Bestuurders virtio, ixl, mrsas, aacraid, cpld is oorgedra vir powerpc64.
- Bestuurders vir verouderde Ethernet-adapters is verwyder:
- bm(4) BMAC
- cs(4) Crystal Semiconductor CS8900/CS8920
- de(4) DES DC21x4x
- ed(4) NE-2000 en WD-80×3
- ep(4) 3Com Etherlink III (3c5x9) ISA
- ex (4) Intel EtherExpress Pro/10 en Pro/10+
- fe(4) Fujitsu MB86960A/MB86965A
- hme(4) Sun Microelectronics STP2002-STQ
- pcn(4) AMD PCnet
- sf(4) Sterrevuur
- sn(4) SMC 91Cxx
- tl(4) Texas Instruments ThunderLAN
- tx(4) SMC 83c17x
- txp(4) 3Com 3XP Typhoon/Sidewinder (3CR990)
- vx(4) 3Com EtherLink III / Fast EtherLink III (3c59x) PCI
- wb(4) Winbond W89C840F
- xe(4) Xircom PCMCIA
- Verwyder bestuurders ubsec (Broadcom BCM58xx kriptoversnellers), ufm (FM-ontvangers met USB-koppelvlak), ctau (Cronix Tau), cx (Cronix Sigma) en vpo (parallelle poort SCSI).
Bron: opennet.ru
