značajno izdanje operativnog sistema , u kojem su implementirane nove mogućnosti. Za preuzimanje instalacijski image veličine 470 MB. Izdanje NetBSD 9.0 zvanično je dostupno u izdanjima za i 15 različitih obitelji CPU-a.
Posebno su istaknuta 8 primarno podržavanih portova, koji čine jezgru strategije razvoja NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 i xen. 49 portova, vezanih za CPU-e kao što su alpha, hppa, m68010, m68k, sh3, sparc i vax, svrstano je u drugu kategoriju, tj. još uvijek se podržavaju, ali su već izgubili aktuelnost ili nemaju dovoljno zainteresiranih developera za njihov razvoj. Jedan port (acorn26) uključen je u treću kategoriju, koja sadrži nefunkcionalne portove, koji će biti uklonjeni ako se ne pronađu zainteresirani entuzijasti za njihov razvoj.
Ključne NetBSD 9.0:
- Dodani su novi hipervizori , koji podržava hardverske mehanizme za virtualizaciju SVM za AMD CPU-e i VMX za Intel CPU-e. Posebnost NVMM-a je u tome da se na razini jezgre izvršava samo minimalni skup omota oko hardverskih mehanizama virtualizacije, dok je sav kod emulacije opreme premješten iz jezgre u korisničko prostor. Za upravljanje virtualnim mašinama pripremljen je alat na bazi biblioteke libnvmm, kao i paket qemu-nvmm za pokretanje gostujućih sistema koristeći NVMM. API libnvmm pokriva funkcije kao što su kreiranje i pokretanje virtualne mašine, dodjela memorije gostujućem sistemu, raspodjela VCPU-a. Pri tome, libnvmm ne sadrži funkcije emulatorskog, već samo pruža API koji omogućava integraciju podrške NVMM-a u postojeće emulatore, kao što je QEMU;
- Osigurana je podrška za 64-bitnu arhitekturu AArch64 (ARMv8-A), uključujući serverske sisteme, koji ispunjavaju zahtjeve ARM (SBBR+SBSA), i sisteme big.LITTLE (kombinacija moćnih, ali energetski zahtjevnih jezgri i manje moćnih, ali energoefikasnijih jezgri). Podržava se izvršavanje 32-bitnih aplikacija u 64-bitnom okruženju preko upotrebe COMPAT_NETBSD32. Moguće je korištenje do 256 CPU-a. Podržava se pokretanje u emulaciji QEMU i SoC:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- SBSA/SBBR serverske ploče, poput Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- Proširena podrška za uređaje temeljene na arhitekturi ARMv7-A. Dodana podrška za big.LITTLE sustave i pokretanje putem UEFI. Moguće korištenje do 8 CPU. Dodana podrška za SoC:
- Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
- Amlogic S805
- Arm Versatile Express V2P-CA15
- Broadcom BCM2836, BCM2837
- Intel Cyclone V SoC FPGA
- NVIDIA Tegra K1 (T124)
- Samsung Exynos 5422
- TI AM335x, OMAP3
- Xilinx Zynq 7000
- Ažurirani grafički drajveri za GPU Intel (dodana podrška za Intel Kabylake), NVIDIA i AMD za x86 sustave. DRM/KMS podsustav usklađen je s Linux kernelom 4.4. Dodani su novi drajveri za GPU koji se koriste na ARM sustavima, uključujući DRM/KMS drajvere za Allwinner DE2, Rockchip VOP i TI AM335x LCDC, framebuffer drajver za ARM PrimeCell PL111 i TI OMAP3 DSS;
- Poboljšana podrška za NetBSD kao gostujući OS. Dodana podrška za uređaj fw_cfg (QEMU Firmware Configuration), Virtio MMIO i PCI za ARM. Osigurana podrška za HyperV za x86;
- Implementirani su brojači za praćenje performansi, omogućujući analizu performansi kernela i korisničkih aplikacija u stvarnom vremenu. Upravljanje se vrši putem naredbe tprof. Podržane su platforme Armv7, Armv8 i x86 (AMD i Intel);
- Za arhitekturu x86_64 mehanizam randomizacije adresnog prostora kernela (KASLR, Kernel Address Space Layout Randomization), koji povećava otpornost na određene vrste napada koji iskorištavaju ranjivosti u kernelu, stvaranjem nasumične raspodjele kernelskoda u memoriji pri svakom pokretanju;
- Dodana podrška za arhitekturu x86_64 , tehnika za otkrivanje curenja memorije kernela koja je omogućila pronalaženje i ispravljanje više od 25 grešaka u kernelu;
- Za arhitekture x86_64 i Aarch64 implementiran je mehanizam za otklanjanje grešaka KASan (Kernel address sanitizer) koji omogućava otkrivanje grešaka u radu s memorijom, kao što su pristupi već oslobođenim blokovima memorije i preljevi bafera;
- Dodana je tehnologija KUBSAN (Kernel Undefined Behavior Sanitizer) za otkrivanje slučajeva neodređenog ponašanja u kernelu
- Za arhitekturu x86_64 implementiran je drajver KCOV (Kernel Coverage) za analizu pokrivanja kernel koda;
- Dodana je Userland Sanitizer za otkrivanje grešaka i anomalija prilikom izvršavanja aplikacija u korisničkom prostoru;
- Dodana je mehanizam KHH (Kernel Heap Hardening) za zaštitu hrpe od određenih vrsta grešaka u radu s memorijom;
- audit sigurnosti mrežnog stoga;
- Poboljšan alat za otklanjanje grešaka ptrace;
- Provedena je čišćenje jezgre od starih i napuštenih podsustava kao što su NETISDN (upravljački programi daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 i ipkdb;
- Proširene su mogućnosti i optimizacija performansi paketskog filtra , koji je sada aktiviran prema zadanim postavkama;
- Ažurirana je implementacija datotečnog sustava ZFS, koja je dovedena do stanja pogodnog za svakodnevnu upotrebu. Mogućnosti podizanja sustava s ZFS i korištenja ZFS na root particiji trenutno nisu podržane;
- Dodani su novi upravljački programi, uključujući bwfm za bežične uređaje Broadcom (Full-MAC), ena za Amazon Elastic Network Adapter i mcx za Ethernet adaptore Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
- Preuređena je podsustava SATA, koja sada podržava NCQ i poboljšanu obradu grešaka koje šalje uređaj;
- novi okvir usbnet za izradu upravljačkih programa za Ethernet adaptore s USB sučeljem;
- Ažurirane su verzije vanjskih komponenti, uključujući GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 i SQLite 3.26.0.
Izvor: opennet.ru
