Lansarea sistemului de operare NetBSD 9.0

Disponibil versiunea majoră a sistemului de operare NetBSD 9.0, în care este implementată următoarea porțiune de funcții noi. Pentru încărcare pregătit imagini de instalare cu dimensiunea de 470 MB. Versiunea NetBSD 9.0 este disponibilă oficial în versiuni pentru 57 arhitecturi de sistem și 15 familii diferite de procesoare.

Separat, există 8 porturi acceptate în principal care formează nucleul strategiei de dezvoltare a NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 și xen. 49 de porturi asociate cu procesoare precum alpha, hppa, m68010, m68k, sh3, sparc și vax sunt clasificate în a doua categorie, i.e. sunt în continuare suportate, dar și-au pierdut relevanța sau nu au un număr suficient de dezvoltatori interesați de dezvoltarea lor. Un port (acorn26) este inclus în a treia categorie, care conține porturi neoperante care sunt eligibile pentru eliminare dacă nu există entuziaști interesați de dezvoltarea lor.

Cheie îmbunătățiri NetBSD 9.0:

  • S-a adăugat un nou hypervisor NVMM, care acceptă mecanismele de virtualizare hardware SVM pentru procesoarele AMD și VMX pentru procesoarele Intel. O caracteristică specială a NVMM este că la nivel de nucleu se realizează doar setul minim necesar de legături în jurul mecanismelor de virtualizare hardware și tot codul de emulare hardware este mutat din nucleu în spațiul utilizatorului. Pentru a gestiona mașinile virtuale, au fost pregătite instrumente bazate pe biblioteca libnvmm, precum și pachetul qemu-nvmm pentru rularea sistemelor invitate folosind NVMM. API-ul libnvmm acoperă funcții precum crearea și rularea unei mașini virtuale, alocarea memoriei sistemului oaspete și alocarea VCPU-urilor. Cu toate acestea, libnvmm nu conține funcții de emulator, ci oferă doar un API care vă permite să integrați suportul NVMM în emulatoarele existente, cum ar fi QEMU;
  • Oferă suport pentru arhitectura AArch64 pe 64 de biți (ARMv8-A), inclusiv sisteme de server compatibile cu ARM ServerReady (SBBR+SBSA) și sisteme big.LITTLE (o combinație de nuclee puternice, dar consumatoare de energie și nuclee mai puțin productive, dar mai eficiente din punct de vedere energetic într-un singur cip). Acceptă rularea aplicațiilor pe 32 de biți într-un mediu de 64 de biți prin utilizarea COMPAT_NETBSD32. Pot fi utilizate până la 256 de procesoare. Rularea în emulator QEMU și SoC este acceptată:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Plăci de server SBSA/SBBR, cum ar fi Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Suportul pentru dispozitivele bazate pe arhitectura ARMv7-A a fost extins. S-a adăugat suport pentru sistemele big.LITTLE și pornirea prin UEFI. Pot fi utilizate până la 8 procesoare. Adăugat suport SoC:
    • Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
    • Amlogic S805
    • Braț 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
  • Drivere grafice actualizate pentru GPU-uri Intel (suport adăugat pentru Intel Kabylake), NVIDIA și AMD pentru sisteme x86. Subsistemul DRM/KMS este sincronizat cu nucleul Linux 4.4. S-au adăugat noi drivere GPU utilizate pe sistemele ARM, inclusiv drivere DRM/KMS pentru Allwinner DE2, Rockchip VOP și TI AM335x LCDC, driver framebuffer pentru ARM PrimeCell PL111 și TI OMAP3 DSS;
  • Suport îmbunătățit pentru rularea NetBSD ca sistem de operare invitat. S-a adăugat suport pentru dispozitivul fw_cfg (Configurație firmware QEMU), Virtio MMIO și PCI pentru ARM. Furnizat suport pentru HyperV pentru x86;
  • Au fost implementate contoare pentru monitorizarea performanței, permițându-vă să analizați performanța kernelului și a aplicațiilor utilizator din mers. Controlul se face prin comanda tprof. Platformele Armv7, Armv8 și x86 (AMD și Intel) sunt acceptate;
  • Pentru arhitectura x86_64 adăugat un mecanism de randomizare a spațiului de adrese kernel (KASLR, Kernel Address Space Layout Randomization), care vă permite să creșteți rezistența la anumite tipuri de atacuri care exploatează vulnerabilitățile din kernel prin generarea unui layout aleator al codului kernel-ului în memorie la fiecare pornire;
  • S-a adăugat suport pentru arhitectura x86_64 KLEAK, o tehnică de detectare a scurgerilor de memorie din kernel, care ne-a permis să găsim și să remediam mai mult de 25 de erori în kernel;
  • Pentru arhitecturile x86_64 și Aarch64, este implementat mecanismul de depanare KASan (Kernel address sanitizer), care vă permite să identificați erorile de memorie, cum ar fi accesul la blocurile de memorie deja eliberate și depășirile de buffer;
  • S-a adăugat mecanism KUBSAN (Kernel Undefined Behavior Sanitizer) pentru a detecta cazurile de comportament nedefinit în nucleu
  • Pentru arhitectura x86_64, driverul KCOV (Kernel Coverage) a fost implementat pentru a analiza acoperirea codului kernelului;
  • S-a adăugat Userland Sanitizer pentru a detecta erori și anomalii la rularea aplicațiilor în spațiul utilizatorului;
  • S-a adăugat mecanism KHH (Kernel Heap Hardening) pentru a proteja heap-ul de anumite tipuri de erori de memorie;
  • Dirijată audit de securitate a stivei de rețea;
  • Instrumente îmbunătățite de depanare ptrace;
  • Nucleul a fost curățat de subsisteme vechi și neîntreținute, cum ar fi NETISDN (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 și ipkdb;
  • Capacitățile filtrului de pachete au fost extinse și performanța optimizată NPF, care este acum activat implicit;
  • Implementarea sistemului de fișiere ZFS a fost actualizată pentru a o face potrivită pentru utilizarea de zi cu zi. Capacitatea de a porni din ZFS și de a utiliza ZFS pe partiția rădăcină nu este încă acceptată;
  • Au fost adăugate drivere noi, inclusiv bwfm pentru dispozitivele wireless Broadcom (Full-MAC), ena pentru adaptorul de rețea Amazon Elastic și mcx pentru adaptoarele Ethernet Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN ;
  • Subsistemul SATA a fost reproiectat, adăugând suport pentru NCQ și îmbunătățind gestionarea erorilor generate de unitate;
  • Propus nou cadru USB pentru crearea de drivere pentru adaptoare Ethernet cu o interfață USB;
  • Versiuni actualizate ale componentelor terțe, inclusiv GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 și SQLite 3.26.0.

    Sursa: opennet.ru

Adauga un comentariu