Pas dy vjet e gjysmë pas formimit të degës 12.x u prezantua lëshimi FreeBSD 13.0, i cili është përgatitur për arkitekturën amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 dhe riscv64. Shtesë janë formuar imazhe për sisteme virtualizimi (QCOW2, VHD, VMDK, raw) dhe ambientet cloud të Amazon EC2, Google Compute Engine dhe Vagrant.
Novitetet kryesore:
- Ka ndodhur kalimi në realizimin e unifikuar të sistemit të skedarëve ZFS nga projekti OpenZFS. Mes mundësive që janë bërë të disponueshme në FreeBSD pas kalimit në OpenZFS janë: sistemi i zgjatur i kuotave, enkriptimi i grupeve të dhënash, përzgjedhja e veçantë e klasave të alokimit të bllokëve, përdorimi i instruksioneve procesorike vektoriale për të përshpejtuar realizimin e RAIDZ dhe llogaritjen e kontrolleve të shenjave, mbështetje për algoritmin e kompresimit ZSTD, moda multihost (MMP, Multi Modifier Protection), përmirësimi i mjetit të vijës së komandës, korrigjimi i shumë gabimeve që lidhen me gjendjen e konkurrencës dhe bllokimet.
- Porti për arkitekturën ARM64 (AArch64) është kaluar në nivelin e parë të mbështetjes (Tier 1), i cili mbulohet nga ekipet përgjegjëse për zgjidhjen e dobësive, përgatitjen e lëshimeve dhe mbështetje për portet. Niveli i parë i mbështetjes përfshin formimin e paketave të instalimit, përditësimeve binare dhe paketave të gatshme, si dhe ofrimin e garancive për zgjidhjen e problemeve specifike dhe ruajtjen e invariancës ABI për ambientin përdorues dhe bërthamën (përveç disa nën-sistemeve).
- Arkitektura i386 është kaluar në nivelin e dytë të mbështetjes së platformave (Tier 2), ku do të vazhdojë formimi i paketave të instalimit, përditësimeve binare dhe paketave të gatshme, por nuk garanton zgjidhjen e problemeve specifike. Lloji i CPU-së (CPUTYPE) për arkitekturën i386 është ndryshuar nga 486 në 686 si parazgjedhje (nëse dëshirohet, paketat për i486 dhe i586 mund të formohen vetë).
- Komponentët clang, lld, lldb, compiler-rt, llvm, libunwind dhe libc++ janë përditësuar në versionin 11.
- Zhvillimi është kaluar nga sistemi i centralizuar i menaxhimit të kodit burimor Subversion në sistemin decentralizuar Git.
- JanĂ« pastruar sistemin bazĂ« nga aplikacionet e shpĂ«rndara nĂ«n licencĂ«n GPL. Nga struktura e kodit burimor janĂ« hequr binutils 2.17 dhe gcc 4.2.1, tĂ« gjitha arkitekturave tĂ« mbĂ«shtetura janĂ« kaluar nĂ« mjetin LLVM/clang. JanĂ« pĂ«rfshirĂ« variante tĂ« shpĂ«rndara nĂ«n licencĂ«n BSD tĂ« utiliteteve grep dhe dtc (Device Tree Compiler), tĂ« cilat zĂ«vendĂ«sojnĂ« versionet nĂ«n licencĂ«n GPL. ĂshtĂ« hequr procesi automat i montimit amd, funksionaliteti i tĂ« cilit tani realizohet nĂ«pĂ«rmjet autofs. ĂshtĂ« hequr utilita ctm, pĂ«r tĂ« cilĂ«n rekomandohet tĂ« pĂ«rdoret porta misc/ctm.
- ĂshtĂ« ridizajnuar stoku i ruterĂ«ve, nĂ« tĂ« cilin u shtua mbĂ«shtetje pĂ«r objektet nexthop, qĂ« ruajnĂ« tĂ« dhĂ«nat e gjendjes, tĂ« cilat pĂ«rdoren pĂ«r dĂ«rgimin e paketave nĂ« destinacionin e dĂ«shiruar. U shtua mundĂ«sia e lidhjes sĂ« algoritmeve tĂ« kĂ«rkimit tĂ« rrugĂ«ve tĂ« pĂ«rdorura. U shtuan algoritmet e kĂ«rkimit tĂ« rrugĂ«ve nga DPDK (Data Plane Development Kit) librte, qĂ« lehtĂ«sojnĂ« punĂ«n me tabela tĂ« mĂ«dha ruterimi. PĂ«r kĂ«rkesat proxyarp u angazhua ndĂ«rfaqja fib. U shtua mundĂ«sia e ndryshimit nĂ« numrin fib nĂ« kohĂ« reale pĂ«rmes sysctl net.fibs. U realizua mbĂ«shtetje pĂ«r rrugĂ«t e pĂ«rkohshme pĂ«r IPv4 dhe IPv6 (me jetĂ«gjatĂ«si tĂ« caktuar).
- ĂshtĂ« ridizajnuar dhe bĂ«rĂ« mĂ« e shkallĂ«zueshme mbĂ«shtetje pĂ«r ruterimin me Multipath, nĂ« tĂ« cilin koha e kĂ«rkimit nuk varet nga madhĂ«sia e listĂ«s (O(1)). Realizimi i ri i Multipath tani Ă«shtĂ« i lidhur me parametrin e bĂ«rthamĂ«s ROUTE_MPATH, i cili zĂ«vendĂ«soi RADIX_MPATH dhe Ă«shtĂ« pĂ«rfshirĂ« automatikisht. PĂ«r menaxhimin e Multipath Ă«shtĂ« propozuar sysctl net.route.multipath.
- ĂshtĂ« riorganizuar korniza e kriptografisĂ« e realizuar nĂ« nivelin e bĂ«rthamĂ«s, e cila suporton algoritme kriptografike moderne dhe ka thjeshtĂ«suar ndĂ«rfaqen pĂ«r pĂ«rdorimin e enkriptimit nĂ« drejtues dhe komponente tĂ« tjera tĂ« bĂ«rthamĂ«s. JanĂ« hequr algoritmet e pĂ«rjetshme ARC4, Blowfish, CAST128, DES, DES, MD5-HMAC dhe Skipjack. NĂ« IPsec dhe Kerberos Ă«shtĂ« ndalur mbĂ«shtetja pĂ«r algoritmet e shpallura tĂ« vjetra nĂ« RFC 8221 dhe RFC 6649/8429, duke pĂ«rfshirĂ« 3DES. JanĂ« hequr algoritmet e mĂ«parshme tĂ« shpallura tĂ« vjetra nĂ« nĂ«n-sistemin e enkriptimit tĂ« diskĂ«ve geli dhe cryptodev.
- Në bërthamën GENERIC është përfshirë mbështetje për drejtuesit aesni dhe armv8crypto për përshpejtimin e enkriptimit të disqeve bazuar në geli me ndihmën e instruksioneve AES-NI për arkitekturën amd64/i386 dhe AES-XTS për ARM64.
- ĂshtĂ« shtuar shoferi qat pĂ«r akceleratorĂ«t e enkriptimit Intel QuickAssist (QAT) dhe shoferi ossl me implementimin e procedurave tĂ« pĂ«rshpejtuara tĂ« enkriptimit nga OpenSSL, tĂ« optimizuara me kod nĂ« assembler. NĂ« shoferin armv8crypto Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r AES-XTS dhe AES-GCM duke pĂ«rdorur instruksionet pĂ«rkatĂ«se tĂ« procesorĂ«ve ARMv8.
- ĂshtĂ« shtuar implementimi i TLS (kTLS), qĂ« funksionon nĂ« nivelin e bĂ«rthamĂ«s FreeBSD, i cili lejon njĂ« rritje tĂ« konsiderueshme tĂ« performancĂ«s sĂ« enkriptimit pĂ«r soket TCP. MbĂ«shteten versionet e TLS nga 1.0 nĂ« 1.3. PĂ«r enkriptim pĂ«rdoren shoferĂ«t e kripto-bĂ«rthamĂ«s me mbĂ«shtetje pĂ«r AES-CBC ose AES-GCM. PĂ«r tĂ« pĂ«rdorur kTLS nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit kĂ«rkohet ribĂ«rja e OpenSSL me opsionin WITH_OPENSSL_KTLS.
- ĂshtĂ« shtuar njĂ« lloj i ri i tamponĂ«ve tĂ« rrjetit mbuf (network data buffer), i cili mund tĂ« pĂ«rfaqĂ«sojĂ« nĂ« njĂ« tampon disa faqe fizike tĂ« papĂ«rshkruara tĂ« memories, qĂ« lejon rritjen e performancĂ«s sĂ« thirrjes sendfile(2) duke reduktuar madhĂ«sinĂ« e listave mbuf nĂ« tamponĂ«t e soketĂ«ve.
- Në stek TCP është integruar mbështetje për algoritmin e reduktimit proporcional të intensitetit të dërgimeve të paketave (Proportional Rate Reduction, RFC 6937), i cili lejon rikthimin më të shpejtë te parametrat optimalë të rrjedhës pas problemeve të përkohshme në transmetimin e të dhënave. Për të çaktivizuar PRR, ekziston sysctl net.inet.tcp.do_prr.
- JanĂ« zgjeruar mundĂ«sitĂ« e hipervizorit Bhyve: ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ndarjen e skedarĂ«ve duke pĂ«rdorur VirtIO-9p (VirtFS). ĂshtĂ« realizuar mundĂ«sia e punĂ«s me snapshot-et. makinat virtualeĂshtĂ« shtuar mbĂ«shtetje pĂ«r pajisjet PCI HDAudio dhe porte tĂ« tjera seriale COM3 dhe COM4. JanĂ« eliminuar modelet e vjetra tĂ« pajisjeve bvmconsole dhe bvmdebug. Stabiliteti i punĂ«s me klientĂ«t VNC Ă«shtĂ« rritur, duke pĂ«rfshirĂ« aplikacionin pĂ«r macOS "Screen Sharing".
- Në shoferët VirtIO është shtuar mbështetje për specifikimin VirtIO V1, që përmirëson pajtueshmërinë e sistemeve mikpritëse me FreeBSD me emulatorë dhe hipervizorë të ndryshëm.
- Për proceset e lidhura me mjediset jail është siguruar transformimi i lidhjeve me CPU (lidhja fillestare me procesin cpuset do të zëvendësohet duke marrë parasysh cpuset e jail-it dhe kufizimet e vendoshura).
- ĂshtĂ« shtuar mundĂ«sia pĂ«r ndĂ«rtimin e sistemit bazĂ« FreeBSD nĂ« ambientet tĂ« bazuara nĂ« sisteme tĂ« tjera operative. Nevoja pĂ«r ndĂ«rtimin nĂ« sisteme tĂ« tjera operative rezulton nga dĂ«shira pĂ«r tĂ« pĂ«rdorur mjetet e testimit pĂ«r FreeBSD qĂ« janĂ« lidhur me Linux ose macOS.
- ĂshtĂ« propozuar njĂ« stek i ri MMC/SD, i bazuar nĂ« kuadronin CAM dhe qĂ« lejon lidhjen e pajisjeve me ndĂ«rfaqen SDIO (Secure Digital I/O). PĂ«r shembull, SDIO pĂ«rdoret nĂ« modulat WiFi dhe Bluetooth pĂ«r shumĂ« plaka, si Raspberry Pi 3. Steku i ri gjithashtu lejon pĂ«rdorimin e ndĂ«rfaqes CAM pĂ«r dĂ«rgimin e komandave SD nga aplikacionet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, duke ofruar mundĂ«sinĂ« pĂ«r tĂ« krijuar pajisje tĂ« drejtuara nga pĂ«rdoruesi.
- ĂshtĂ« pĂ«rmirĂ«suar funksionimi i shtresĂ«s pĂ«r pĂ«rputhshmĂ«rinĂ« me Linux. SkedarĂ«t DTS (Device Tree Sources) janĂ« sinkronizuar me bĂ«rthamĂ«n Linux 5.8.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r NFSv4.2 (RFC-7862) dhe Ă«shtĂ« realizuar mundĂ«sia e funksionimit tĂ« NFS mbi njĂ« kanal tĂ« koduar tĂ« komunikimit tĂ« bazuar nĂ« TLS 1.3, nĂ« vend tĂ« pĂ«rdorimit tĂ« Kerberos (rezhimi sec=krb5p), i cili ishte i kufizuar nĂ« kodimin vetĂ«m tĂ« mesazheve RPC dhe ishte realizuar vetĂ«m nĂ« mĂ«nyrĂ« programore.
- ĂshtĂ« hequr versioni i vjetruar i debugger GDB, i cili mĂ« parĂ« ishte instaluar nĂ« katalogun /usr/libexec dhe pĂ«rdorej nĂ« utilitarin crashinfo. NĂ« vend tĂ« GDB tĂ« parainstaluar pĂ«r tĂ« marrĂ« informacion tĂ« detajuar mbi shkaqet e dĂ«shtimit, tani Ă«shtĂ« e rekomandueshme tĂ« instalohet njĂ« version i freskĂ«t i GDB nga portet ose paketat. ĂshtĂ« ndĂ«rprerĂ« mbĂ«shtetja pĂ«r debugin e proceseve pĂ«rmes procfs. ĂshtĂ« shtuar njĂ« drejtpĂ«rdrejtĂ«si netgdb, e cila lejon qasjen nĂ« debuggerin e bĂ«rthamĂ«s pĂ«rmes rrjetit.
- Nga libc është hequr funksioni i pasigurt gets (që nga standardi C11 ky funksion është përjashtuar nga specifikimi) dhe është realizuar rregullimi i porteve që ende përdorin këtë funksion. Janë hequr funksionet cap_random (duhet të përdoret getrandom).
- ĂshtĂ« shtuar njĂ« thirrje e re sistemike copy_file_range, e cila Ă«shtĂ« e pĂ«rshtatshme me realizimin nga bĂ«rthama Linux dhe lejon shpejtimin e kopjimit tĂ« tĂ« dhĂ«nave nga njĂ« skedare nĂ« njĂ« tjetĂ«r, pĂ«rmes kryerjes sĂ« veprimit vetĂ«m nĂ« anĂ«n e bĂ«rthamĂ«s pa lexuar paraprakisht tĂ« dhĂ«nat nĂ« memorien e procesit. Kjo thirrje sistemike gjithashtu pĂ«rdoret nĂ« server NFSv4.2 pĂ«r kryerjen lokale tĂ« operacioneve tĂ« kopjimit nĂ« server (pa transfertĂ« pĂ«r klientin).
- Në mekanizmin e hyrjes/daljes asinkrone POSIX AIO, është përfshirë mbështetje për funksionet e vektorizuara. Veçanërisht, janë shtuar thirrjet sistemike aio_writev dhe aio_readv, që lejojnë zbatimin e ekuivalenteve vektorizuara të funksioneve aio_read dhe aio_write.
- ĂshtĂ« ndalur mbĂ«shtetja pĂ«r komponentĂ«t e hapĂ«sirĂ«s sĂ« pĂ«rdoruesit pĂ«r ndihmĂ«n e formatit tĂ« skedarĂ«ve ekzekutivĂ« a.out nĂ« sistemet me arkitekturĂ« i386. ĂshtĂ« hequr utilita elf2aout.
- Utilitat ping dhe ping6 janë bashkuar. Në ping është shtuar mundësia për të vendosur parametrat e cilësisë së shërbimit (QoS) përmes IP DSCP dhe Ethernet PCP.
- Në utilitën freebsd-update është siguruar shfaqja e progresit të shkarkimit të skedarëve dhe janë shtuar komandat updatesready dhe showconfig për të kontrolluar disponueshmërinë e përditësimeve dhe për të parë konfigurimin.
- ĂshtĂ« bĂ«rĂ« njĂ« punĂ« e madhe pĂ«r tĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r sistemet NUMA (Non-Uniform Memory Access).
- Janë përditësuar driverët grafikë dhe komponentët e pirgjeve grafike. Probleme me funksionimin e mjediseve që bazohen në Protokollin Wayland janë zgjidhur.
- ĂshtĂ« shtuar njĂ« nĂ«n-sistem backlight pĂ«r krijimin e driverĂ«ve pĂ«r kontrollin e ndriçimit. ĂshtĂ« shtuar driver-i pwm-backlight pĂ«r kontrollin e ndriçimit tĂ« Pinebook dhe Pinebook Pro.
- Mbështetja për protokollin SCTP është zhvendosur në një modul të veçantë sctp.ko, i cili në bërthamën GENERIC është i çaktivizuar si parazgjedhje.
- Për pajisjet hyrëse është propozuar një driver i ri usbhid, që përdor rregullin hid për punën me pajisjet USB HID, në vend të driverëve ukbd, ums dhe uhid.
- Në drejtuesin cpufreq është implementuar mbështetja për teknologjinë Intel Speed Shift.
- ĂshtĂ« shtyrĂ« mbĂ«shtetje pĂ«r kĂ«to pllakĂ«za tĂ« reja tĂ« bazuara nĂ« CPU 64-bit ARMv8, duke pĂ«rfshirĂ« SoC Broadcom BCM5871X dhe NXP LS1046A.
- PĂ«r arkitekturĂ«n AMD64 Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r adresat virtuale 57-bit (LA57). ĂshtĂ« shtuar mbĂ«shtetje pĂ«r CPU x86 kineze Hygon Dhyana, bazuar nĂ« teknologjitĂ« AMD.
- Porti për arkitekturën powerpc64 është kaluar në përdorimin e LLVM dhe ABI ELFv2 (skedarët binarë nga versionet e kaluara të FreeBSD nuk do të mund të përdoren në FreeBSD 13). Për powerpc64 janë portuar driverët virtio, ixl, mrsas, aacraid, cpld.
- Janë hequr driverët për adaptuesit Ethernet të vjetëruar:
- bm(4) BMAC
- cs(4) Crystal Semiconductor CS8900/CS8920
- de(4) DEC DC21x4x
- ed(4) NE-2000 dhe WD-80Ă3
- ep(4) 3Com Etherlink III (3c5x9) ISA
- ex(4) Intel EtherExpress Pro/10 dhe Pro/10+
- fe(4) Fujitsu MB86960A/MB86965A
- hme(4) Sun Microelectronics STP2002-STQ
- pcn(4) AMD PCnet
- sf(4) Starfire
- 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
- Janë hequr driverët ubsec (krypto-akseleratorët Broadcom BCM58xx), ufm (FM-tunerët me ndërfaqe USB), ctau (Cronix Tau), cx (Cronix Sigma) dhe vpo (SCSI me port paralel).
Burimi: opennet.ru
