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

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

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

  • ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° систСма ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС (vfs_cache). ИзмСнСниС ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° cache_fullpath().
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° dsynth, прСдназначСнная для локальной сборки ΠΈ сопровоТдСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² DPort. Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ явного указания ports-mgmt/pkg для сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ZSTD, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ‘prepare-system’ обСспСчСно ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ccache ΠΏΡ€ΠΈ сборкС.
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой HAMMER2, которая ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° Ρ‚Π°ΠΊΠΈΠΌΠΈ функциями, ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ², доступныС Π½Π° запись ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρ‹, ΠΊΠ²ΠΎΡ‚Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сТатия Π΄Π°Π½Π½Ρ‹Ρ…, multi-master Π·Π΅Ρ€ΠΊΠ°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с распрСдСлСниСм Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° нСсколько хостов. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡ€Π°Π·Π΄Π΅Π»ΠΎΠ² (multi-volume), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·Π΄Π΅Π» нСсколько Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… дисков (сСтСвой Ρ€Π΅ΠΆΠΈΠΌ multi-master ΠΏΠΎΠΊΠ° Π½Π΅ поддСрТиваСтся). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ€Π°Π·Π΄Π΅Π»Π° (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° hammer2 growfs). УстранСны ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы tmpfs. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° mounttmpfs для упрощСния размСщСния /tmp ΠΈ /var/run Π² tmpfs.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° рСализация Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Ext2, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отсутствуСт ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPL.
  • ВнСсСны Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π² систСму Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти, Π² Ρ‚ΠΎΠΌ числС ΡƒΠ΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° MAP_VPAGETABLE mmap(), нСобходимая для Ρ€Π°Π±ΠΎΡ‚Ρ‹ vkernell (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ядра, запускаСмыС ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ процСсс). Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ выпускС планируСтся Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ vkernel, ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π² Π½Π° Π±Π°Π·Π΅ HVM.
  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Π° рСализация Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² callout*().
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π° EFI.
  • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ sysmouse Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° evdev.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π²Ρ‹Π·ΠΎΠ²Ρ‹ clock_nanosleep, fexecve, getaddrinfo ΠΈ timeout. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° fcntl(F_GETPATH) ΠΈ Ρ„Π»Π°Π³ΠΎΠ² IP_SENDSRCADDR ΠΈ SO_PASSCRED.
  • Π’ ядро Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° подсистСма kmalloc_obj, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ памяти.
  • Из FreeBSD пСрСнСсСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° amdsmn для подсистСмы SMN (System Management Network) процСссоров AMD.
  • Π’ devd обСспСчСно автоматичСскоС распознаваниС бСспроводных Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ΠΈ созданиС для Π½ΠΈΡ… сСтСвых интСрфСйсов wlanX.
  • Π’ΠΈΠΏ sysclock_t ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ с 32- Π½Π° 64-Π±ΠΈΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° запуска систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π² условиях Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ памяти.
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ Jail. ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° рСструктуризация sysctl-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² jail.*.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ethernet-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Intel I219 ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Realtek. Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ bnx Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Broadcom NetXtreme 57764, 57767 ΠΈ 57787.
  • Π’ сСтСвой стСк Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сСмСйства адрСсов AF_ARP, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ARP-адрСса.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ интСрфСйса DRM (Direct Rendering Manager) синхронизированы с ядром Linux 4.10.17. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ drm/i915 для GPU Intel.
  • ВыставляСмая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° с 9600 Π΄ΠΎ 115200 Π±ΠΎΠ΄.
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ifconfig Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «-f» ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ΅ интСрфСйсов.
  • Из FreeBSD синхронизированы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ shutdown, reboot, printf, test, sh, efivar, uefisign.
  • Из NetBSD пСрСнСсСны ΠΈΠ³Ρ€Ρ‹ ching, gomoku, monop ΠΈ cgram.
  • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ efidp ΠΈ efibootmgr.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pthreads, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° pthread_getname_np().
  • Из FreeBSD пСрСнСсСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libstdbuf.
  • Π’ libutil Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° sockaddr_snprintf(), пСрСнСсённая ΠΈΠ· NetBSD.
  • Π’ паролях, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² инсталляторС, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС спСцсимволов.
  • Π’ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ zstd (вСрсия 1.4.8).
  • ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ вСрсии сторонних ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, wpa_supplicant 2.9. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ компилятор gcc-8.

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