Rilascio del sistema operativo NetBSD 9.0

A disposizione versione principale del sistema operativo NetBSD 9.0, in cui viene implementata la parte successiva di nuove funzionalità. Per caricare preparato immagini di installazione di 470 MB di dimensione. La versione NetBSD 9.0 è ufficialmente disponibile nelle build per 57 architetture di sistema e 15 diverse famiglie di CPU.

Separatamente, ci sono 8 porte supportate principalmente che costituiscono il nucleo della strategia di sviluppo di NetBSD: amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 e xen. Nella seconda categoria, ovvero sono ancora supportati, ma hanno perso la loro rilevanza o non hanno un numero sufficiente di sviluppatori interessati al loro sviluppo. Un port (acorn49) è incluso nella terza categoria, che contiene port non operativi che possono essere rimossi se non ci sono appassionati interessati al loro sviluppo.

Chiave miglioramenti NetBSD 9.0:

  • Aggiunto nuovo hypervisor NVMM, che supporta i meccanismi di virtualizzazione hardware SVM per CPU AMD e VMX per CPU Intel. Una caratteristica speciale di NVMM è che a livello di kernel viene eseguito solo il set minimo richiesto di collegamenti attorno ai meccanismi di virtualizzazione dell'hardware e tutto il codice di emulazione hardware viene spostato dal kernel nello spazio utente. Per la gestione delle macchine virtuali sono stati preparati strumenti basati sulla libreria libnvmm e il pacchetto qemu-nvmm per l'esecuzione di sistemi guest tramite NVMM. L'API libnvmm copre funzioni come la creazione e l'esecuzione di una macchina virtuale, l'allocazione della memoria al sistema guest e l'allocazione delle VCPU. Tuttavia, libnvmm non contiene funzioni di emulazione, ma fornisce solo un'API che consente di integrare il supporto NVMM negli emulatori esistenti come QEMU;
  • Fornisce supporto per l'architettura AArch64 a 64 bit (ARMv8-A), inclusi i sistemi server conformi a ARM Server pronto (SBBR+SBSA) e sistemi big.LITTLE (una combinazione di core potenti, ma che consumano energia, e core meno produttivi, ma più efficienti dal punto di vista energetico in un unico chip). Supporta l'esecuzione di applicazioni a 32 bit in un ambiente a 64 bit tramite l'uso di COMPAT_NETBSD32. È possibile utilizzare fino a 256 CPU. È supportata l'esecuzione nell'emulatore QEMU e nel SoC:
    • Allwinner A64, H5, H6
    • Amlogic S905, S805X, S905D, S905W, S905X
    • Broadcom BCM2837
    • NVIDIA Tegra X1 (T210)
    • Rockchip RK3328, RK3399
    • Schede server SBSA/SBBR come Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040.
  • Il supporto per i dispositivi basati sull'architettura ARMv7-A è stato ampliato. Aggiunto supporto per sistemi big.LITTLE e avvio tramite UEFI. È possibile utilizzare fino a 8 CPU. Aggiunto supporto SoC:
    • Allwinner A10, A13, A20, A31, A80, A83T, GR8, H3, R8
    • Amlogic S805
    • Braccio Versatile Express V2P-CA15
    • Broadcom BCM2836, BCM2837
    • SoC FPGA Intel Cyclone V
    • NVIDIA Tegra K1 (T124)
    • Samsung Exynos 5422
    • TI AM335x, OMAP3
    • XilinxZynq7000
  • Driver grafici aggiornati per GPU Intel (aggiunto supporto per Intel Kabylake), NVIDIA e AMD per sistemi x86. Il sottosistema DRM/KMS è sincronizzato con il kernel Linux 4.4. Aggiunti nuovi driver GPU utilizzati sui sistemi ARM, inclusi driver DRM/KMS per Allwinner DE2, Rockchip VOP e TI AM335x LCDC, driver framebuffer per ARM PrimeCell PL111 e TI OMAP3 DSS;
  • Supporto migliorato per l'esecuzione di NetBSD come sistema operativo guest. Aggiunto supporto per dispositivo fw_cfg (configurazione firmware QEMU), Virtio MMIO e PCI per ARM. Fornito supporto per HyperV per x86;
  • Sono stati implementati dei contatori per il monitoraggio delle prestazioni, consentendo di analizzare al volo le prestazioni del kernel e delle applicazioni utente. Il controllo viene effettuato tramite il comando tprof. Sono supportate le piattaforme Armv7, Armv8 e x86 (AMD e Intel);
  • Per l'architettura x86_64 aggiunto un meccanismo di randomizzazione dello spazio degli indirizzi del kernel (KASLR, Kernel Address Space Layout Randomization), che consente di aumentare la resistenza ad alcuni tipi di attacchi che sfruttano le vulnerabilità del kernel generando ad ogni avvio un layout casuale del codice del kernel in memoria;
  • Aggiunto il supporto per l'architettura x86_64 KLEAK, una tecnica per rilevare le perdite di memoria del kernel, che ci ha permesso di trovare e correggere più di 25 errori nel kernel;
  • Per le architetture x86_64 e Aarch64 è implementato il meccanismo di debug KASan (Kernel address sanitizer), che permette di identificare errori di memoria, come l'accesso a blocchi di memoria già liberati e buffer overflow;
  • Aggiunto il meccanismo KUBSAN (Kernel Unfined Behavior Sanitizer) per rilevare casi di comportamento indefinito nel kernel
  • Per l'architettura x86_64 è stato implementato il driver KCOV (Kernel Coverage) per analizzare la copertura del codice del kernel;
  • Aggiunto Userland Sanitizer per rilevare errori e anomalie durante l'esecuzione di applicazioni nello spazio utente;
  • Aggiunto meccanismo KHH (Kernel Heap Hardening) per proteggere l'heap da alcuni tipi di errori di memoria;
  • Condotto controllo della sicurezza dello stack di rete;
  • Strumenti di debugging di ptrace migliorati;
  • Il kernel è stato ripulito dai sottosistemi vecchi e non mantenuti, come NETISDN (driver daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 e ipkdb;
  • Le capacità del filtro pacchetti sono state ampliate e le prestazioni ottimizzate NPF, che ora è abilitato per impostazione predefinita;
  • L'implementazione del file system ZFS è stata aggiornata per renderla adatta all'uso quotidiano. La possibilità di eseguire l'avvio da ZFS e utilizzare ZFS sulla partizione root non è ancora supportata;
  • Sono stati aggiunti nuovi driver, tra cui bwfm per dispositivi wireless Broadcom (Full-MAC), ena per Amazon Elastic Network Adapter e mcx per adattatori Ethernet Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN ;
  • Il sottosistema SATA è stato riprogettato, aggiungendo il supporto per NCQ e migliorando la gestione degli errori generati dal disco;
  • Proposto nuovo framework usbnet per la creazione di driver per adattatori Ethernet con interfaccia USB;
  • Versioni aggiornate di componenti di terze parti, inclusi GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 e SQLite 3.26.0.

    Fonte: opennet.ru

Aggiungi un commento