Π Π΅Π»ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы DragonFly BSD 6.2

ПослС сСми мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· DragonFlyBSD 6.2, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы с Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌ ядром, созданной Π² 2003 Π³ΠΎΠ΄Ρƒ с Ρ†Π΅Π»ΡŒΡŽ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ развития Π²Π΅Ρ‚ΠΊΠΈ FreeBSD 4.x. Из особСнностСй DragonFly BSD ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΠΎΠ½Π½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму HAMMER, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ «Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…» ядСр систСмы ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… процСссов, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚Π°-Π΄Π°Π½Π½Ρ‹Ρ… Π€Π‘ Π½Π° SSD-накопитСлях, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ контСкст Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π½Ρ‹Π΅ символичСскиС ссылки, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΊΠΈ процСссов с сохранСниСм ΠΈΡ… состояния Π½Π° дискС, Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ΅ ядро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ лСгковСсныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ (LWKT).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π² DragonFlyBSD 6.2:

  • Из NetBSD пСрСнСсён Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ NVMM, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ SVM для CPU AMD ΠΈ VMX для CPU Intel. Π’ NVMM Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ обвязок Π²ΠΎΠΊΡ€ΡƒΠ³ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° вСсь ΠΊΠΎΠ΄ эмуляции оборудования Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для выполнСния Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ созданиС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΈ распрСдСлСниС VCPU, примСняСтся инструмСнтарий Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libnvmm, Π° для запуска гостСвых систСм ΠΏΠ°ΠΊΠ΅Ρ‚ qemu-nvmm.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой HAMMER2, которая ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° Ρ‚Π°ΠΊΠΈΠΌΠΈ функциями, ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ², доступныС Π½Π° запись ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρ‹, ΠΊΠ²ΠΎΡ‚Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия Π΄Π°Π½Π½Ρ‹Ρ…, multi-master Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с распрСдСлСниСм Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° нСсколько хостов. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ growfs, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° HAMMER2. Π’ состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° xdisk, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ HAMMER2 с ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… систСм.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ интСрфСйса DRM (Direct Rendering Manager), ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ управлСния Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ TTM ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ amdgpu синхронизированы с ядром Linux 4.19, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‡ΠΈΠΏΠΎΠ² AMD Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ APU 3400G. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ drm/i915 для GPU Intel, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Whiskey Lake ΠΈ Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° со сбоями ΠΏΡ€ΠΈ запускС. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Radeon ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° использованиС ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° видСопамяти TTM.
  • Π’ Π²Ρ‹Π·ΠΎΠ²Π΅ poll Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° события POLLHUP, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ†Π° Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈΠ»ΠΈ FIFO.
  • Π’ ядрС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со страницами памяти, ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ страниц для пСрСмСщСния Π² Ρ€Π°Π·Π΄Π΅Π» ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ рСсурсоёмких ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, Π½Π° систСмах с нСбольшим ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠΌ памяти.
  • ИзмСнСно вычислСниС значСния maxvnodes для сокращСния потрСблСния памяти ядром, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ слишком большого числа vnode ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π±Π»ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ fstyp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы BeFS. Π’ makefs ΠΈΠ· FreeBSD пСрСнСсСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π€Π‘ FAT. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ fsck ΠΈ fdisk. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ошибки Π² ΠΊΠΎΠ΄Π΅ ext2fs ΠΈ msdosfs.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ioctl SIOCGHWADDR для получСния Π°ΠΏΠΏΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ адрСса сСтСвого интСрфСйса.
  • Π’ ipfw3nat Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NAT для ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ICMP, рСализованная Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС icmp idport.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ichsmb Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Intel ICH SMBus для Ρ‡ΠΈΠΏΠΎΠ² Cannonlake, Cometlake, Tigerlake ΠΈ Geminilake.
  • ГСнСрация Ρ„Π°ΠΉΠ»ΠΎΠ² initrd ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° с использования vn Π½Π° makefs.
  • Π’ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libc Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getentropy(), clearenv() ΠΈ mkdirat(). Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ shm_open() ΠΈ /var/run/shm с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ спСцифичныС для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Ρ‚ΠΈΠΏΡ‹ __double_t ΠΈ __float_t. Π’ libdmsg Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, связанныС с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ pthreads.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ dsynth, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для локальной сборки ΠΈ сопровоТдСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² DPort, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «-M» ΠΈ пСрСмСнная PKG_COMPRESSION_FORMAT. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° pkg 1.17 ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… pkg.
  • Π’ состав ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ PAM-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenPAM Tabebuia, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ passwdqc 2.0.2, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ mandoc 1.14.6, OpenSSH 8.8p1, dhcpcd 9.4.1 ΠΈ file 5.40.
  • УстранСна локально эксплуатируСмая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ядрС, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ свои ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² систСмС (CVE Π½Π΅ сообщаСтся).
  • Π£Π΄Π°Π»Ρ‘Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ndis, позволявший ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ NDIS-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΈΠ· Windows.
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² a.out.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru