tähtis operatsioonisüsteemi versioon , kus on rakendatud uus hulk funktsioone. Allalaadimiseks paigaldusfailid suurusega 470 MB. NetBSD 9.0 on ametlikult saadaval versioonides ja 15 erinevale CPU perele.
Eraldi on välja toodud 8 peamiselt toetatavat porti, mis moodustavad NetBSD arendustrateegia tuuma: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 ja xen. 49 porti, mis on seotud selliste CPU-dega nagu alpha, hppa, m68010, m68k, sh3, sparc ja vax, on liigitatud teise kategooriasse, st need on endiselt toetatud, kuid on juba kaotanud aktuaalsuse või ei oma piisavalt arenduses huvitatud arendajaid. Üks port (acorn26) on paigutatud kolmandasse kategooriasse, kuhu kuuluvad mittefunktsionaalsed portid, mis võivad eemaldamiseks pretendeerida, kui arendust toetavaid entusiaste ei leita.
Peamised NetBSD 9.0:
- Uus hüperviisor on lisatud , mis toetab AMD CPU-de SVM ja Intel CPU-de VMX raudvaralist virtualiseerimist. NVMM-i eripära on see, et tuuma tasandil viiakse ellu ainult minimaalne vajalik raudvaraga virtualiseerimise ümberkäimise komplekt, samas kui kogu riistvara emulatsiooni kood on viidud välja tuumast kasutaja ruumi. Virtuaalmasinate haldamiseks on ette valmistatud tööriist komplekti libnvmm baasil, samuti qemu-nvmm pakett külgmasinate käivitamiseks NVMM-i kasutades. API libnvmm hõlmab funktsioone nagu virtuaalmasina loomine ja käivitamine, külgmasina mäluhaldus, VCPU jaotamine. Samuti ei sisalda libnvmm emulaatori funktsioone, vaid pakub ainult API-d, mis võimaldab integreerida NVMM-i toe olemasolevatesse emulaatoritesse, nagu QEMU;
- Toetatakse 64-bitist AArch64 (ARMv8-A) arhitektuuri, sealhulgas serverisüsteeme, mis vastavad ARM (SBBR+SBSA) nõuetele, ja big.LITTLE süsteeme (kombinatsioon ühe kiibi sees võimsatest, kuid palju energiat tarbivatest tuumadest ja vähem võimsatest, kuid energiatõhusatest tuumadest). Toetatakse 32-bitiste rakenduste käivitamist 64-bitises keskkonnas läbi COMPAT_NETBSD32 kasutamise. Võimalik on kasutada kuni 256 CPU-d. Toetatakse käivitamist QEMU emulaatoris ja SoC-dega:
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- Serveri emaplaadid SBSA/SBBR, nagu Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
- Laienenud tugi ARMv7-A arhitektuuril põhinevatele seadmetele. Lisatud toetus süsteemidele big.LITTLE ja käivitamine läbi UEFI. Võimalik on kasutada kuni 8 CPU-d. Lisatud tugi SoC-le:
- 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
- Uuendatud graafikajuhid Intel GPU-dele (lisatud tugi Intel Kabylakesele), NVIDIA ja AMD süsteemidele x86. DRM/KMS alamsüsteem sünkroniseeritud Linuxi 4.4 tuumaga. Lisatud uued GPU juhid, mida kasutatakse ARM süsteemides, sealhulgas DRM/KMS juhid Allwinner DE2, Rockchip VOP ja TI AM335x LCDC, ARM PrimeCell PL111 ja TI OMAP3 DSS raamijuhiks;
- Parandatud NetBSD toe toimimist külalis-OS-ina. Lisatud toetus seadme fw_cfg (QEMU Firmware Configuration), Virtio MMIO ja PCI jaoks ARM-is. Tagatud HyperV tugi x86 jaoks;
- Tehtud jõudluse jälgimise skriptid, mis võimaldavad reaalajas analüüsida tuuma ja kasutaja rakenduste jõudlust. Halduse teostamiseks kasutatakse käsku tprof. Toetatud on Armv7, Armv8 ja x86 (AMD ja Intel) platvormid;
- x86_64 arhitektuuri jaoks tuuma aadressiruumi paigutuse randomiseerimise mehhanism (KASLR, Kernel Address Space Layout Randomization), mis suurendab vastupidavust teatud tüüpi rünnakute suhtes, mis kasutavad tuuma haavatavusi, genereerides iga käivitamise korral juhusliku tuumakoodi paigutuse mälus;
- x86_64 arhitektuuri jaoks lisatud tugi , tehnika tuuma mälu lekete avastamiseks, mis võimaldas leida ja parandada üle 25 tõrke tuumas;
- x86_64 ja Aarch64 arhitektuuride jaoks on rakendatud KASan (Kernel address sanitizer) silumisstrateegia, mis tuvastab mälu kasutamise vead, nagu juurdepääs juba vabastatud mäluplokkidele ja puhverületused;
- Lisatud mehhanism KUBSAN (Kernel Undefined Behavior Sanitizer) tuvastamiseks tuuma määratlemata käitumise juhtumite jaoks.
- x86_64 arhitektuuri jaoks on rakendatud KCOV (Kernel Coverage) draiver koodi katvuse analüüsimiseks;
- Lisatud Userland Sanitizer rakenduste täitmise vigade ja anomaaliate tuvastamiseks kasutaja ruumides;
- Lisatud mehhanism KHH (Kernel Heap Hardening) kihi kaitsmiseks teatud tüüpi mälu töötlemise vigade eest;
- võrgustiku pinu turbeaudit;
- Parandatud silumisinstrumentide tööriistakohvrid ptrace;
- Ydarak on eemaldatud vanad ja hooldamata alamsüsteemid, nagu NETISDN (draiverid daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 ja ipkdb;
- Pakettfiltri funktsioone on laiendatud ja jõudlust on optimeeritud , mis on nüüd vaikimisi aktiveeritud;
- ZFS failisüsteemi teostus on ajakohastatud, viidud kasutamiseks sobivasse seisundisse. ZFS-st laadimise ja ZFS-i kasutamine juurpartition'il ei ole veel toetatud;
- Uued draiverid on lisatud, sealhulgas bwfm Broadcomi traadita seadmete (Full-MAC) jaoks, ena Amazon Elastic Network Adapteri jaoks ja mcx Mellanoxi Ethernet-adapterite ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN ja ConnectX-6 EN jaoks;
- SATA alamsüsteem on ümber töötatud, lisades NCQ toe ja parendades vea töötlemist, mida ajam annab;
- uus usbnet raamistiku Ethernet-adapterite draiverite loomiseks, mis kasutavad USB liidest;
- Kolmandate osapoolte komponentide versioonid on ajakohastatud, sealhulgas GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 ja SQLite 3.26.0.
Allikas: opennet.ru
