DragonFly BSD 5.8 операциялық жүйесінің шығарылымы

Қол жетімді босату DragonFlyBSD 5.8, гибридті ядросы бар операциялық жүйе, құрылды FreeBSD 2003.x тармағын альтернативті дамыту мақсатында 4 ж. DragonFly BSD мүмкіндіктерінің арасында біз таратылған файлдық жүйені бөлектей аламыз ХАММЕР, пайдаланушы процестері ретінде «виртуалды» жүйелік ядроларды жүктеуді қолдау, SSD дискілеріндегі FS деректері мен метадеректерін кэштеу мүмкіндігі, контекстке сезімтал нұсқа символдық сілтемелер, олардың күйін дискіде сақтау кезінде процестерді қатыру мүмкіндігі, жеңіл ағындарды пайдаланатын гибридті ядро (LWKT) .

басты жақсартуларDragonFlyBSD 5.8 нұсқасына қосылды:

  • Негізгі құрамға утилита кіреді дсинт, өзіңіздің DPort екілік репозиторийлеріңізге жергілікті жинақтау және қызмет көрсету үшін жасалған. Тәуелділік тармағын ескере отырып, порттардың ерікті санын құрастыруға параллельдік қолдау көрсетіледі. Жаңа шығарылымға дайындық кезінде DPort сонымен қатар бірнеше тәуелді пакеттерді құруды тездетуге бағытталған көптеген өзгерістер енгізді.
  • libc сигналдың үзілуіне байланысты malloc*() және ұқсас функцияларды ақаулардан қорғауға мүмкіндік беретін тиімді сигналды бүркемелеу механизмін жүзеге асырады. Сигналдарды қысқа мерзімді блоктау және блоктан шығару үшін жүйелік қоңырауларсыз жұмыс істейтін sigblockall() және sigunblockall() функциялары ұсынылады. Бұған қоса, libc strtok() функциясын көп ағынды қолданбаларда пайдалану үшін бейімдеді, dports қолдауын жақсарту үшін TABDLY, TAB0, TAB3 тұрақтыларын және __errno_location функциясын қосты.
  • DRM (Direct Rendering Manager) интерфейс құрамдастары Wayland қолдауын жақсартуға бағытталған 4.9 ядросынан тасымалданатын таңдалған мүмкіндіктермен Linux ядросының 4.12 нұсқасымен синхрондалады.
    Intel GPU құрылғыларына арналған drm/i915 драйвері жаңа чиптерді (Skylake, Coffelake, Amber Lake, Whiskey Lake және Comet Lake) қолдау үшін 4.8.17 ядросынан тасымалданатын кодпен Linux ядросы 5.4 синхрондалған. AMD бейне карталарына арналған drm/radeon драйвері Linux 4.9 ядросымен синхрондалған.

  • Виртуалды жадтың пейджинг алгоритмдері айтарлықтай жетілдірілді, бұл жад жеткіліксіз болған кезде пайдаланушы интерфейсіндегі жауап беру мәселелерін жоюға немесе азайтуға мүмкіндік береді. Жүйе жадының жеткіліксіздігіне байланысты Chrome/Chromium жүйесінің қатып қалуына қатысты мәселелер шешілді.
  • Процессор ядроларының көп саны бар жүйелерде жақсартылған ядро ​​масштабтауы. Виртуалды жад бетін сұрау уақыты қысқарды. Жад аз болған кезде SMP тартысы азайтылды. "Open(... O_RDWR)" шақыруының тиімділігін арттыру.
  • Ядродағы псевдокездейсоқ сандар генераторы қайта құрастырылды. RDRAND драйвері барлық процессорлардан энтропия жинауға бейімделген. Қарқындылықтың төмендеуі
    және бұрын бос тұру кезінде процессор уақытының 2-3% алатын RDRAND арнасының өлшемі.

  • Realpath, getrandom және lwp_getname (pthread_get_name_np іске асыруға рұқсат етілген) жаңа жүйелік қоңыраулар қосылды.
  • SMAP (Supervisor Mode Access Prevention) және SMEP (Supervisor Mode Execution Prevention) қорғау механизмдеріне қолдау қосылды. SMAP ядро ​​деңгейінде жұмыс істейтін артықшылықты кодтан пайдаланушы кеңістігі деректеріне кіруді блоктауға мүмкіндік береді. SMEP ядро ​​режимінен пайдаланушы деңгейінде орналасқан кодты орындауға көшуге мүмкіндік бермейді, бұл ядродағы көптеген осалдықтарды пайдалануды блоктауға мүмкіндік береді (қабық коды пайдаланушы кеңістігінде болғандықтан орындалмайды);
  • Jail конфигурациялау үшін қайта өңделген sysctl айнымалылары. Jail ішінен nullf және tmpf мәндерін орнату мүмкіндігі қосылды.
  • HAMMER2 файлдық жүйесі үшін апаттық режим қосылды, оны сәтсіздіктен кейін қалпына келтіру кезінде пайдалануға болады. Бұл режимде инодты жергілікті түрде жаңарту кезінде суретті жоюға болады (дискіде бос орын болмаған кезде, жазуға көшіру механизмін пайдалану мүмкін болмаған кезде файлдар мен каталогтарды жоюға мүмкіндік береді). HAMMER2 жүйесінде ағынды жіберу қолдауын қайта өңдеу арқылы өнімділікті айтарлықтай жақсартты. Буферлерді шаю процесі айтарлықтай жетілдірілді.
  • TMPFS сенімділігі мен өнімділігі жақсарды. Жүйеде бос жад жеткіліксіз болған кезде жұмыс тиімділігін арттыру.
  • IPv4 желі стегі қазір /31 префикстерін қолдайды (RFC 3021).
    Tap MTU > 1500 қолдауы үшін SIOCSIFMTU ioctl өңдеуін жақсартты. SIOCSIFINFO_IN6 және SO_RERROR үшін қолдау қосылды.

  • iwm драйвері Intel сымсыз чиптерін қолдауымен FreeBSD бағдарламасымен синхрондалады (iwm-9000 және iwm-9260 үшін қосымша қолдау).
  • Порт үйлесімділігін жақсарту үшін Linux-үйлесімді basename() және dirname() функциялары қосылды.
  • fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 FreeBSD ішінен libc/getaddrinfo(), calendar(1), rcorder-visualize.sh ішіне жылжытылды. math.h функциялары OpenBSD ішінен жылжытылды.
  • Үшінші тарап құрамдастарының жаңартылған нұсқалары, соның ішінде Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Әдепкі компилятор – gcc-8.

Ақпарат көзі: opennet.ru

пікір қалдыру