Рэліз аперацыйнай сістэмы DragonFly BSD 5.8

даступны рэліз DragonFlyBSD 5.8, аперацыйнай сістэмы з гібрыдным ядром, створанай у 2003 годзе з мэтай альтэрнатыўнага развіцця галіны FreeBSD 4.x. З асаблівасцяў DragonFly BSD можна вылучыць размеркаваную версійную файлавую сістэму ХАМЕР, падтрымку загрузкі «віртуальных» ядраў сістэмы як карыстацкіх працэсаў, магчымасць кэшавання дадзеных і мета-дадзеных ФС на SSD-назапашвальніках, якія ўлічваюць кантэкст варыянтныя сімвалічныя спасылкі, магчымасць замарозкі працэсаў з захаваннем іх стану на дыску, гібрыднае ядро, якое выкарыстоўвае легкаважныя струмені (LWKT) .

Асноўныя паляпшэння, дададзеныя ў DragonFlyBSD 5.8:

  • У асноўны склад уключана ўтыліта dsynth, Прызначаная для лакальнай зборкі і суправаджэння ўласных бінарных рэпазітароў DPort. Падтрымліваецца распаралельванне зборкі адвольнага ліку партоў, улічваючы дрэва залежнасцяў. Пры падрыхтоўцы новага выпуску ў DPort таксама занесена вялікая колькасць змен, накіраваных на паскарэнне зборкі некалькіх залежных пакетаў.
  • У libc рэалізаваны эфектыўны механізм маскіравання сігналаў, які дазволіў абараніць malloc*() і падобныя функцыі ад праблем з-за іх перапынення сігналам. Для кароткатэрміновага блакавання і разблакіроўкі сігналаў прапанаваны функцыі sigblockall() і sigunblockall(), якія працуюць без здзяйснення сістэмных выклікаў. Акрамя таго, у libc функцыя strtok() адаптаваная для ўжывання ў шматструменных прыкладаннях, дададзены канстанты TABDLY, TAB0, TAB3 і функцыя__errno_location для паляпшэння падтрымкі dports.
  • Кампаненты інтэрфейсу DRM (Direct Rendering Manager) сінхранізаваныя з ядром Linux 4.9 з партаваннем з ядра 4.12 асобных магчымасцяў, накіраваных на паляпшэнне падтрымкі Wayland.
    Драйвер drm/i915 для GPU Intel сінхранізаваны з ядром Linux 4.8.17 c пераносам з ядра 5.4/4.9 кода для падтрымкі новых чыпаў (Skylake, Coffelake, Amber Lake, Whiskey Lake і Comet Lake). Драйвер drm/radeon для відэакарт AMD сінхранізаваны з ядром Linux XNUMX.

  • Значна палепшаны алгарытмы падпампоўкі віртуальнай памяці, якія дазволілі пазбавіцца або мінімізаваць праблемы з спагадлівасцю ў інтэрфейсе карыстальніка пры недахопе памяці. Вырашаны праблемы з падвісання Chrome/Chromium пры недахопе сістэмнай памяці.
  • Палепшана маштабаванне ядра на сістэмах з вялікай колькасцю працэсарных ядраў. Скарочаны час запыту старонак віртуальнай памяці. Скарочана канкурэнцыя SMP ва ўмовах недахопу памяці. Павялічана эфектыўнасць выкліку "open(… O_RDWR)".
  • Перапрацаваны генератар псеўдавыпадковых лікаў у ядры. Драйвер RDRAND адаптаваны для назапашвання энтрапіі ад усіх CPU. Зніжана інтэнсіўнасць
    і памер падкорму RDRAND, на якую раней сыходзіла 2-3% часу CPU падчас прастою.

  • Дададзеныя новыя сістэмныя выклікі realpath, getrandom і lwp_getname (дазволіў рэалізаваць pthread_get_name_np).
  • Дададзена падтрымка механізмаў абароны SMAP (Supervisor Mode Access Prevention) і SMEP (Supervisor Mode Execution Prevention). SMAP дазваляе блакаваць доступ да дадзеных у прасторы карыстача з прывілеяванага кода, выкананага на ўзроўні ядра. SMEP не дае пераходзіць з рэжыму ядра да выканання кода, змешчанага на карыстацкім узроўні, што дазваляе блакаваць эксплуатацыю шматлікіх уразлівасцяў у ядры (shell-код не будзе выкананы, бо ён знаходзіцца ў прасторы карыстача);
  • Перапрацаваны sysctl-зменныя для налады Jail. Дададзена магчымасць мантавання nullfs і tmpfs з Jail.
  • Дададзены аварыйны рэжым працы файлавай сістэмы HAMMER2, які можна ўжываць падчас узнаўленняў пасля збою. У дадзеным рэжыме дапушчаецца разбурэнне снапшотаў пры абнаўленні inode па месцы (дазваляе выдаляць файлы і каталогі пры адсутнасці вольнай дыскавай прасторы, калі немагчыма выкарыстоўваць механізм copy-on-write). Значна падвышаная прадукцыйнасць, дзякуючы перапрацоўцы падтрымкі дыспетчарызацыі струменяў у HAMMER2. Значна палепшаны працэс скіду буфераў (flush).
  • Падвышаная надзейнасць і прадукцыйнасць TMPFS. Павялічана эфектыўнасць працы ва ўмовах недахопу вольнай памяці ў сістэме.
  • У сеткавым стэку для IPv4 рэалізаваная падтрымка прэфіксаў /31 (RFC 3021).
    У tap палепшана апрацоўка ioctl SIOCSIFMTU для падтрымкі MTU> 1500. Дададзена падтрымка SIOCSIFINFO_IN6 і SO_RERROR.

  • C FreeBSD сінхранізаваны драйвер iwm з падтрымкай бесправадных чыпаў Intel (дададзеная падтрымка iwm-9000 і iwm-9260).
  • Дададзеныя сумяшчальныя з Linux функцыі basename() і dirname() для паляпшэння сумяшчальнасці ў партах.
  • З FreeBSD перанесеныя fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 у libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. З OpenBSD перанесены функцыі з math.h.
  • Абноўлены версіі іншых кампанентаў, у тым ліку Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Па змаўчанні выкарыстоўваецца кампілятар gcc-8.

Крыніца: opennet.ru

Дадаць каментар