DragonFly BSD 5.8 операциялык системасынын чыгарылышы

Жеткиликтүү бошотуу DragonFlyBSD 5.8, гибрид ядросу бар операциялык система, түзүлгөн FreeBSD 2003.x тармагын альтернативдик өнүктүрүү максатында 4-ж. DragonFly BSD өзгөчөлүктөрүнүн арасында биз бөлүштүрүлгөн версияланган файл тутумун баса белгилей алабыз HAMMER, "виртуалдык" системанын өзөктөрүн колдонуучу процесстери катары жүктөөнү колдоо, SSD дисктеринде FS маалыматтарын жана метаберилиштерди кэштөө мүмкүнчүлүгү, контекстке сезгич вариант символикалык шилтемелер, дискте алардын абалын сактоо менен процесстерди тоңдуруу мүмкүнчүлүгү, жеңил жиптерди колдонгон гибрид ядросу (LWKT) .

негизги жакшыртууларDragonFlyBSD 5.8ге кошулган:

  • Негизги курамына утилита кирет dsynth, өзүңүздүн 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 драйвери Linux ядросу 4.8.17 менен синхрондоштурулган, коду 5.4 ядросунан жаңы чиптерди (Скайлейк, Коффелейк, Эмбер көлү, Виски көлү жана Комет көлү) колдоо үчүн которулган. AMD видеокарталары үчүн drm/radeon драйвери Linux 4.9 ядросу менен синхрондоштурулган.

  • Виртуалдык эстутумдун пейджинг алгоритмдери кыйла жакшыртылды, бул бизге эстутум жетишсиз болгондо колдонуучу интерфейсиндеги жооп берүү көйгөйлөрүн жок кылууга же минималдаштырууга мүмкүндүк берет. Системанын эстутумунун жетишсиздигинен улам Chrome/Chromium катып калуу көйгөйлөрү чечилди.
  • Процессордун өзөктөрү көп системаларда жакшыртылган ядронун масштабы. Виртуалдык эстутум барагын суроо убактысы кыскарды. Эстутум аз болгондо SMP талашы азаят. "Ачык(... O_RDWR)" чалуусунун натыйжалуулугун жогорулатуу.
  • Ядродогу псевдо-кокус сандар генератору кайра конструкцияланган. RDRAND драйвери бардык процессорлордон энтропияны топтоо үчүн ылайыкташтырылган. Кыскартылган интенсивдүүлүк
    жана мурда бош убакытта CPU убактысынын 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 өзгөрмөлөрү. Жайылдан nullfs жана tmpfs орнотуу мүмкүнчүлүгү кошулду.
  • 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 болуп саналат.

Source: opennet.ru

Комментарий кошуу