významná verze operačního systému , která přináší nové možnosti. K dispozici ke stažení jsou instalační obrazy o velikosti 470 MB. Verze NetBSD 9.0 je nyní oficiálně dostupná v balíčcích pro a 15 různých rodin CPU.
Samostatně byly vyčleněny 8 primárně podporovaných portů, které tvoří jádro strategie rozvoje NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 a xen. 49 portů spojených s procesory jako alpha, hppa, m68010, m68k, sh3, sparc a vax bylo zařazeno do druhé kategorie, tedy se stále podporují, ale už ztratily aktuálnost nebo nemají dostatečný počet zájemců o jejich vývoj. Jeden port (acorn26) byl zařazen do třetí kategorie, kde jsou umístěny nefunkční porty, které se chystají na odstranění, pokud nebude nalezen zájemce o jejich vývoj.
Klíčové NetBSD 9.0:
- Přidán nový hypervisor , který podporuje hardwarové mechanismy virtualizace SVM pro CPU AMD a VMX pro CPU Intel. Funkcí NVMM je, že na úrovni jádra běží pouze minimální potřebný soubor obalových funkcí kolem hardwarových mechanismů virtualizace, zatímco celý kód emulace hardwaru byl přesunut z jádra do uživatelského prostoru. K manipulaci s virtuálními stroji byl připraven nástroj založený na knihovně libnvmm, stejně jako balíček qemu-nvmm pro spuštění hostitelských systémů s využitím NVMM. API libnvmm zahrnuje funkce jako vytvoření a spuštění virtuálního stroje, přidělení paměti hostitelskému systému a rozdělení VCPU. K tomu libnvmm neobsahuje funkce emulátoru, ale poskytuje API, které umožňuje integrovat podporu NVMM do stávajících emulátorů, jako je QEMU;
- Podporována 64bitová architektura AArch64 (ARMv8-A), včetně serverových systémů, které splňují standardy ARM (SBBR+SBSA), a big.LITTLE systémy (kombinace silných, ale energeticky náročných jader a méně výkonných, ale energeticky efektivních jader v jednom čipu). Je podporováno spouštění 32bitových aplikací v 64bitovém prostředí prostřednictvím použití COMPAT_NETBSD32. Možnost použití až 256 CPU. Podporováno spuštění v emulátoru QEMU a SoC:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- Serverové desky SBSA/SBBR, jako jsou Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- Byla rozšířena podpora zařízení založených na architektuře ARMv7-A. Přidána podpora systémů big.LITTLE a zavádění přes UEFI. Možnost použití až 8 CPU. Přidána podpora 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
- Byly aktualizovány grafické ovladače pro GPU Intel (přidána podpora Intel Kabylake), NVIDIA a AMD pro systémy x86. Podsystem DRM/KMS je synchronizován s jádrem Linux 4.4. Přidány nové ovladače pro GPU používané v systémech ARM, včetně ovladačů DRM/KMS pro Allwinner DE2, Rockchip VOP a TI AM335x LCDC, framebuffer ovladače pro ARM PrimeCell PL111 a TI OMAP3 DSS;
- Byla zlepšena podpora provozu NetBSD jako hostitelského systému. Přidána podpora zařízení fw_cfg (QEMU Firmware Configuration), Virtio MMIO a PCI pro ARM. Zajištěna podpora HyperV pro x86;
- Byly implementovány počítadla pro sledování výkonu, která umožňují v reálném čase analyzovat výkon jádra a uživatelských aplikací. Správa se provádí pomocí příkazu tprof. Podporovány jsou platformy Armv7, Armv8 a x86 (AMD a Intel);
- Pro architekturu x86_64 mechanismus randomizace adresního prostoru jádra (KASLR, Kernel Address Space Layout Randomization), který zvyšuje odolnost vůči některým typům útoků využívajících zranitelnosti v jádře tím, že při každém spuštění vytváří náhodné rozložení kódu jádra v paměti;
- Pro architekturu x86_64 byla přidána podpora , techniky pro odhalování úniků paměti jádra, která umožnila identifikovat a opravit více než 25 chyb v jádře;
- Pro architektury x86_64 a Aarch64 byl implementován ladící mechanismus KASan (Kernel address sanitizer), který umožňuje odhalovat chyby při práci s pamětí, jako jsou přístupy k již uvolněným blokům paměti a přetečení bufferů;
- Byl přidán mechanismus KUBSAN (Kernel Undefined Behavior Sanitizer) pro odhalování případů neurčitého chování v jádře
- Pro architekturu x86_64 byl implementován ovladač KCOV (Kernel Coverage) pro analýzu pokrytí kódu jádra;
- Přidán Userland Sanitizer pro odhalování chyb a anomálií při vykonávání aplikací v uživatelském prostoru;
- Byl přidán mechanismus KHH (Kernel Heap Hardening) pro ochranu haldy před některými typy chyb při práci s pamětí;
- audit bezpečnosti síťového zásobníku;
- Byla vylepšena ladicí nástroje ptrace;
- Byla provedena údržba jádra a odstraněny staré a nepodporované subsystémy, jako jsou NETISDN (ovladače daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 a ipkdb;
- Byly rozšířeny možnosti a optimalizována výkonnost paketového filtru , který je nyní ve výchozím nastavení aktivován;
- Byla aktualizována implementace souborového systému ZFS, která byla přivedena do stavu vhodného pro každodenní použití. Možnosti spouštění ze ZFS a používání ZFS na kořenovém oddílu zatím nejsou podporovány;
- Byly přidány nové ovladače, včetně bwfm pro bezdrátová zařízení Broadcom (Full-MAC), ena pro Amazon Elastic Network Adapter a mcx pro Ethernetové adaptéry Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN;
- Byl přepracován subsystém SATA, v němž byla přidána podpora NCQ a byla zlepšena správa chyb vracených zařízením;
- nový rámec usbnet pro vytváření ovladačů pro Ethernetové adaptéry s USB rozhraním;
- Byly aktualizovány verze třetích komponentů, včetně GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 a SQLite 3.26.0.
Zdroj: opennet.ru
