Efter halvandet år efter udgivelsen af den foregående opdatering er udgivelsen af operativsystemet NetBSD 10 blevet offentliggjort. Der er forberedt installationsbilleder på 630 MB, tilgængelige i versioner for 57 systemarkitekturer og 16 forskellige CPU-familier. Den nye gren inkluderer en række væsentlige forbedringer, såsom understøttelse af adgangskontrollister i FFS-filsystemet, betydelig optimering af ydeevnen, disk kryptering ved hjælp af Adiantum-algoritmen og implementeringen af en VPN WireGuard-driver i kernen.
Projektet understøtter 8 primære porte, som udgør kernen af udviklingsstrategien for NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 og xen, samt 49 sekundære porte relateret til CPU'er som alpha, hppa, m68010, m68k, sh3, sparc og vax. De sekundære porte får stadig support, men har mistet relevans eller mangler et tilstrækkeligt antal udviklere interesserede i deres udvikling. En port (acorn26) er inkluderet i den tredje kategori, hvor ikke-fungerende porte placeres og kan fjernes, hvis der ikke findes entusiaster interesserede i deres udvikling.
Hovedforbedringerne i NetBSD 10:
- Understøttelse af adgangskontrollister (POSIX.1e ACL) er tilføjet til FFS-filsystemet, realiseret ved hjælp af udvidede filattributter og overført fra FreeBSD. Der er foreslået en ny type FFSv2ea-filsystem for brug af ACL (som ikke bruges som standard), som eksisterende FFS kan konverteres til ved hjælp af værktøjet fsck_ffs.
- Der er tilføjet et netværksinterface wg med implementering VPN, som er kompatibelt med WireGuard.
- Der er gennemført ydeevneoptimeringer. Effektiviteten af cache til filstier i kernen er forbedret. Ydeevnen for opgaveplanlæggeren, der er tilpasset til drift på big.LITTLE Arm-systemer, hvor hurtige og langsomme CPU-kerner kombineres, er forbedret. Ydeevnen for systemopkald såsom select og poll er forbedret. Ydeevnen for tmpfs-filsystemet er forbedret. Bootprocessen er blevet hurtigere. Der er tilføjet optimeringer specifikke for x86- og AArch64-arkitekturer. Gennemløbet af ind- og uddata og netværksoperationer på AArch64-systemer er forbedret.
- Optimeringer er blevet foretaget i det virtuelle hukommelsessystem: en hurtigere radix tree-algoritme anvendes til at søge i hukommelsessider, hastigheden ved sporing af rene og beskidte hukommelsessider er øget, fsync-operationer for store filer er blevet betydeligt hurtigere, og der er forbedret håndtering af låse, hvilket øger effektiviteten af parallel udførelse af operationer.
- Understøttelse af diskcryptografi ved hjælp af Adiantum-algoritmen er blevet tilføjet, hvilket muliggør høj effektivitet på systemer uden hardwareaccelerering af AES-kryptering. Cgdconfig-værktøjet har fået støtte til delte nøgler, som kan bruges til at kryptere flere lagringsenheder. Standard hash-algoritmen til passwords er ændret til Argon2id. Automatisk kryptering af swap-partitioner (vm.swap_encrypt=1) er blevet aktiveret. Der er tilføjet støtte til hardwaremekanismer til acceleration af kryptering, som leveres af x86- og Arm-processorer, f.eks. instruktioner til acceleration af AES og ChaCha. Den softwareimplementering af AES, der leveres af kernen, sikrer konstant køretid for operationer på tværs af alle arkitekturer.
- Understøttelse af sikkerhedsrelaterede udvidelser, der tilbydes af Armv8-A-processorer, er blevet tilføjet: PAN (Privileged Access Never), PA (Pointer Authentication), BTI (Branch Target Identification).
- Kernel Concurrency Sanitizer og Kernel Memory Sanitizer-mekanismerne er blevet brugt til at identificere sikkerhedsproblemer i kernen.
- I netværksstakken er der indført støtte til RFC 7048, som forbedrer funktionen af IPv6 Neighbor Discovery-mekanismen og gør den uafhængig af adresser.
- En ny netværksinterface lagg til aggregating netværksforbindelser og sikre redundans er blevet tilføjet (lagg erstatter det tidligere agr-interface).
- En vether-driver til implementation af virtuelle Ethernet-interfaces, der kan bruges i netværksbroer og i stedet for tap-interfaces, er blevet tilføjet.
- Der er tilføjet sysctl net.key.allow_different_idtype til ipsec-implementeringen for at forbedre kompatibiliteten med andre VPN'er.
- Understøttelsen af UDF-formatet (Universal Disk Format, filsystem til optiske diske) er blevet forbedret, så det nu er kompatibelt på fejlniveau med implementeringen fra Windows 10. I newfs_udf-værktøjet er det blevet muligt at oprette UDF 2.50 med en separat sektion til metadata. Der er tilføjet fsck_udf-værktøjet til kontrol og genopretning af mislykkede filsystemer i UDF-format.
- ZFS-understøttelse er blevet tilføjet til fstat-værktøjet.
- Der støtte for FUSE-mekanismen (Filesystem in Userspace) er udvidet, driveren refuse tilbyder nu fuld understøttelse af FUSE API-varianter, der anvendes i versioner fra 1.1 til 3.10.
- Programmet for software-RAID har fået tilføjet støtte til konfigurationer med bytestørrelsesændring (swapped-endian). I værktøjet raidctl er der tilføjet en mulighed "-t" til at kontrollere filernes konfiguration.
- Der er tilføjet et nyt værktøj, blkdiscard, til manuel udførelse af TRIM-operationer på drev for at informere om ubrugte blokke.
- I værktøjet scan_ffs er der tilføjet en mulighed for at vise den aktuelle statistik ved modtagelse af SIGINFO-signal (Ctrl+T).
- Nye programmer er inkluderet:
- aiomixer — lydmikser
- realpath — viser den absolutte sti til en fil baseret på den relative sti.
- tradcpp — makroprocessor i K&R C-stil.
- ioctlprint — viser værdierne for ioctl.
- testpat — viser en testtabel til evaluering af skærmfarvegengivelse.
- warp — klassisk BSD-systemspil.
- Rasterfonterne Spleen, leveret under BSD-licens og tilgængelige til både lavopløsningsskærme og skærme med høj pixel-tæthed, er inkluderet og bruges i ctwm. Der er også inkluderet konsol-fontene Terminus.
- Der er tilføjet støtte til eventfd, timerfd, POSIX-timere, preadv og pwritev i Linux-kompatibilitetslag (compat_linux).
- Støtten til virtualisering er forbedret. Støtte til Xen PVH er tilføjet, hvilket muliggør brugen af Xen PV-drivere i gæste-systemer baseret på HVM, og implementeringen af para-virtualiserede netværksgrænseflader er forbedret. I værtskernerne (Dom0) for Xen er der tilføjet støtte til multiprocessorsystemer. I kernerne til Xen er muligheden for at bruge moduler, der er fælles med den almindelige kerne, blevet forbedret. Netværks- (xennet) og blok- (xbd) enheder er tilpasset til multiprocessorsystemer (har fået status som MPSAFE). Støtten til HyperV-hypervisoren er betydeligt forbedret, og mulighederne for nvmm-hypervisoren (NetBSD Virtual Machine Monitor) er udvidet. Muligheden for at gå i dvaletilstand er tilføjet, når der udføres virtual machines i nvmm.
- VirtIO-driverne er blevet forbedret, og der er nu implementeret støtte til VirtIO 1.0-specifikationen. Driveren vio9p til montering af VirtIO 9P-filsystemer, udgivet af værtsmiljøet, er blevet tilføjet til gæstesystemer. Driveren viocon er blevet tilføjet til den virtuelle serielle port.
- System kald er blevet implementeret for eventfd og timerfd, som er kompatible med Linux og anvendt i compat_linux. System kaldet fexecve er blevet tilføjet for at udføre filer via filbeskriver.
- Forældede komponenter er fjernet, for eksempel er understøttelsen af HIPPI, FDDI og TokenRing-teknologierne afsluttet, nsmb- og mount_smbfs-drivere for SMBFS er blevet fjernet fra kernen (de understøtter ikke de nye versioner af SMB-protokollen), understøttelsen af IPv6 Router Advertisement er blevet flyttet fra kernen til brugerrummet, bibliotekerne libXTrap, libXevie og libglut er blevet fjernet, og drivere for mange forældede enheder er blevet fjernet.
- Understøttelsen af hardware er blevet betydeligt udvidet. Der er blevet tilføjet understøttelse for nye Intel- og AMD-processorer. Understøttelse for nye ARM-platforme (Raspberry Pi 4, Orange Pi 5, Lichee Pi Zero, ODROID-N2+, M1 Mac Mini, HummingBoard Pulse, UDOO Neo Full, PINE64 Quartz64, Asus Tinker osv.) er blevet tilføjet. Understøttelsen af MIPS-arkitekturen er blevet udvidet.
- 17 nye enhedsdrivere er blevet tilføjet, herunder drivere til Wacom tablets, Realtek 8125 2.5 Gigabit Ethernet, Motorcomm YT8511C / YT8511H Gigabit Ethernet, Intel Ethernet 700, Broadcom GENETv5 Ethernet, Intel QuickAssist kryptobeskyttere og Intel XMM7360 LTE-modemer.
- Grafikdrivere til GPU'erne Intel, NVIDIA og AMD er blevet opdateret for x86-systemer. DRM/KMS subsystemet er blevet synkroniseret med Linux-kernen 5.6.
- Versionerne af tredjeparts komponenter er blevet opdateret, herunder vinduesmanageren ctwm 4.0.3, gcc 10.5, lua 5.4.6, OpenSSL 3.0.12, postfix 3.8.4, tmux 3.2a, OpenSSH 9.6, X.org Server 21.1.7, BIND 9.18.24, Heimdal kerberos 7.8.0, unbound 1.19.1, wpa_supplicant 2.9, OpenLDAP 2.5.6, binutils 2.34, libfido2 1.13.0, pam-u2f 1.2.0, zlib 1.2.13.
Kilde: opennet.ru
