հիմնական օպերացիոն համակարգի թողարկում , որում ներդրված է նոր հնարավորությունների հաջորդ մասը։ Բեռնման համար տեղադրման պատկերներ 470 ՄԲ չափով: NetBSD 9.0 թողարկումը պաշտոնապես հասանելի է կառուցումների համար և 15 տարբեր CPU ընտանիքներ:
Առանձին-առանձին կան 8 հիմնական աջակցվող նավահանգիստներ, որոնք կազմում են NetBSD-ի զարգացման ռազմավարության առանցքը՝ amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 և xen: 49 պորտեր, որոնք կապված են պրոցեսորների հետ, ինչպիսիք են alpha, hppa, m68010, m68k, sh3, sparc և vax, դասակարգվում են երկրորդ կատեգորիայի մեջ, այսինքն. դեռևս աջակցվում են, բայց կորցրել են իրենց արդիականությունը կամ չունեն բավարար թվով մշակողներ, ովքեր հետաքրքրված են դրանց մշակմամբ: Մեկ նավահանգիստ (acorn26) ընդգրկված է երրորդ կատեգորիայի մեջ, որը պարունակում է անգործուն նավահանգիստներ, որոնք իրավասու են հեռացման, եթե չկան դրանց մշակմամբ շահագրգռված էնտուզիաստներ:
Բանալի NetBSD 9.0:
- Ավելացվեց նոր հիպերվիզոր , որն աջակցում է ապարատային վիրտուալացման մեխանիզմներ SVM AMD պրոցեսորների համար և VMX՝ Intel պրոցեսորների համար: NVMM-ի առանձնահատուկ առանձնահատկությունն այն է, որ միջուկի մակարդակում կատարվում է միայն ապարատային վիրտուալացման մեխանիզմների շուրջ պահանջվող միացությունների շարքը, և ապարատային էմուլացիոն բոլոր ծածկագրերը միջուկից դուրս են տեղափոխվում օգտագործողի տարածք: Վիրտուալ մեքենաները կառավարելու համար պատրաստվել են libnvmm գրադարանի վրա հիմնված գործիքներ, ինչպես նաև NVMM-ի միջոցով հյուր համակարգեր գործարկելու համար qemu-nvmm փաթեթը։ Libnvmm API-ն ընդգրկում է այնպիսի գործառույթներ, ինչպիսիք են վիրտուալ մեքենայի ստեղծումն ու գործարկումը, հյուրերի համակարգին հիշողություն հատկացնելը և VCPU-ների հատկացումը: Այնուամենայնիվ, libnvmm-ը չի պարունակում էմուլատորի գործառույթներ, այլ միայն տրամադրում է API, որը թույլ է տալիս ինտեգրել NVMM աջակցությունը գոյություն ունեցող էմուլյատորների մեջ, ինչպիսին է QEMU;
- Աջակցում է 64-բիթանոց AArch64 ճարտարապետությանը (ARMv8-A), ներառյալ ARM-ին համապատասխան սերվերային համակարգերը (SBBR+SBSA) և big.LITTLE համակարգեր (հզոր, բայց էներգիա սպառող միջուկների և ոչ արդյունավետ, բայց ավելի էներգաարդյունավետ միջուկների համադրություն մեկ չիպի մեջ): Այն աջակցում է 32-բիթանոց հավելվածների գործարկումը 64-բիթանոց միջավայրում՝ COMPAT_NETBSD32-ի օգտագործման միջոցով: Կարող է օգտագործվել մինչև 256 պրոցեսոր: QEMU էմուլյատորում և SoC-ում աշխատելն աջակցվում է.
- Allwinner A64, H5, H6
- Amlogic S905, S805X, S905D, S905W, S905X
- Broadcom BCM2837
- NVIDIA Tegra X1 (T210)
- Rockchip RK3328, RK3399
- SBSA/SBBR սերվերների տախտակներ, ինչպիսիք են Amazon Graviton, Graviton2, AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040:
- Ընդլայնվել է ARMv7-A ճարտարապետության վրա հիմնված սարքերի աջակցությունը: Ավելացվեց big.LITTLE համակարգերի աջակցությունը և UEFI-ի միջոցով բեռնումը: Կարող է օգտագործվել մինչև 8 պրոցեսոր: Ավելացված 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
- Обновлены графические драйверы для GPU Intel (добавлена поддержка Intel Kabylake), NVIDIA и AMD для систем x86. Подсистема DRM/KMS синхронизирована с ядром Linux 4.4. Добавлены новые драйверы для GPU, применяемые на системах ARM, включая DRM/KMS-драйверы для Allwinner DE2, Rockchip VOP и TI AM335x LCDC, драйвер framebuffer для ARM PrimeCell PL111 и TI OMAP3 DSS;
- Բարելավված աջակցություն NetBSD-ն որպես հյուր ՕՀ գործարկելու համար: Ավելացվել է աջակցություն fw_cfg սարքի (QEMU որոնվածի կոնֆիգուրացիա), Virtio MMIO և PCI ARM-ի համար: Տրամադրված աջակցություն HyperV-ին x86-ի համար;
- Գործողությունների մոնիտորինգի համար ներդրվել են հաշվիչներ, որոնք թույլ են տալիս անմիջապես վերլուծել միջուկի և օգտագործողի հավելվածների աշխատանքը: Վերահսկումը կատարվում է tprof հրամանի միջոցով: Աջակցվում են Armv7, Armv8 և x86 (AMD և Intel) հարթակները.
- x86_64 ճարտարապետության համար միջուկի հասցեների տարածության պատահականացման մեխանիզմ (KASLR, Kernel Address Space Layout Randomization), որը թույլ է տալիս մեծացնել դիմադրությունը որոշակի տեսակի հարձակումների, որոնք օգտագործում են միջուկի խոցելիությունը՝ յուրաքանչյուր բեռնման ժամանակ հիշողության մեջ միջուկի կոդի պատահական դասավորություն ստեղծելով.
- Ավելացվել է x86_64 ճարտարապետության աջակցություն , միջուկի հիշողության արտահոսքի հայտնաբերման տեխնիկա, որը թույլ տվեց մեզ գտնել և ուղղել միջուկում ավելի քան 25 սխալ;
- x86_64 և Aarch64 ճարտարապետությունների համար ներդրված է KASan (Kernel address sanitizer) վրիպազերծման մեխանիզմը, որը թույլ է տալիս բացահայտել հիշողության սխալները, ինչպիսիք են մուտքն արդեն ազատված հիշողության բլոկներին և բուֆերային հեղեղումները;
- Ավելացվեց KUBSAN (Միջուկի չսահմանված վարքագծի ախտահանիչ) մեխանիզմ՝ միջուկում չսահմանված պահվածքի դեպքերը հայտնաբերելու համար
- x86_64 ճարտարապետության համար KCOV (Kernel Coverage) դրայվերը ներդրվել է միջուկի ծածկույթի ծածկույթը վերլուծելու համար.
- Ավելացվեց Userland Sanitizer-ը` օգտատերերի տարածքում հավելվածները գործարկելիս սխալներ և անոմալիաներ հայտնաբերելու համար.
- Ավելացվեց KHH (միջուկի կույտի կարծրացում) մեխանիզմ՝ կույտը որոշակի տեսակի հիշողության սխալներից պաշտպանելու համար.
- ցանցի կույտի անվտանգության աուդիտ;
- Բարելավված ptrace կարգաբերման գործիքներ;
- Միջուկը մաքրվել է հին և չպահպանված ենթահամակարգերից, ինչպիսիք են NETISDN-ը (drivers daic, iavc, ifpci, ifritz, iwic, isic), NETNATM, NDIS, SVR3, SVR4, n8, vm86 և ipkdb;
- Փաթեթի ֆիլտրի հնարավորություններն ընդլայնվել են և օպտիմիզացվել են կատարումը , որն այժմ միացված է լռելյայն;
- ZFS ֆայլային համակարգի ներդրումը թարմացվել է, որպեսզի այն հարմար լինի ամենօրյա օգտագործման համար: ZFS-ից բեռնելու և արմատային բաժանման վրա ZFS-ի օգտագործման հնարավորությունը դեռ չի աջակցվում.
- Ավելացվել են նոր դրայվերներ, այդ թվում՝ bwfm Broadcom անլար սարքերի համար (Full-MAC), ena՝ Amazon Elastic Network Adapter-ի և mcx Mellanox ConnectX-4 Lx EN, ConnectX-4 EN, ConnectX-5 EN, ConnectX-6 EN Ethernet ադապտերների համար։ ;
- SATA ենթահամակարգը վերանախագծվել է՝ ավելացնելով աջակցություն NCQ-ին և բարելավելով սկավառակի կողմից առաջացած սխալների կառավարումը.
- նոր usbnet շրջանակ՝ USB ինտերֆեյսով Ethernet ադապտերների համար դրայվերներ ստեղծելու համար;
- Երրորդ կողմի բաղադրիչների թարմացված տարբերակները, ներառյալ GCC 7.4, GDB 8.3, LLVM 7.0.0, OpenSSL 1.1.1d, OpenSSH 8.0 և SQLite 3.26.0:
Source: opennet.ru
