FreeBSD Ҳисобот дар бораи пешрафти семоҳаи 2019 XNUMX

нашр шудааст гузориш дар бораи таҳияи лоиҳаи FreeBSD аз апрел то июни соли 2019. Дар байни тағиротҳо мо метавонем қайд кунем:

  • Масъалаҳои умумӣ ва системавӣ
    • Гурӯҳи Core тасмим гирифт, ки як гурӯҳи корӣ таъсис диҳад, то имкони интиқоли коди ибтидоиро аз системаи марказии идоракунии сарчашмаи Subversion ба системаи ғайримарказии Git омӯзад.
    • Бо истифода аз система озмоиши fuzz ядрои FreeBSD гузаронида шуд syzkaller ва як катор хатохои ошкоршуда ислох карда шуданд. Илова кардани қабат барои санҷиши номуайянии китобхонаҳо барои мутобиқат бо муҳити 32-бит дар системаҳои дорои ядрои 64-бит. Қобилияти иҷро кардани syzkaller дар мошинҳои виртуалӣ дар асоси bhyve амалӣ карда шуд. Дар марҳилаи навбатӣ, васеъ кардани фарогирии санҷиши зангҳои системавӣ, истифода аз санитаризатори LLVM барои тафтиши ядро, истифодаи netdump барои захира кардани партовҳои ядро ​​​​ҳангоми садамаҳо ҳангоми санҷиши фуҷур ва ғайра ба нақша гирифта шудааст.
    • Кор оид ба навсозии татбиқи zlib дар сатҳи ядро ​​оғоз шуд. Барои дастрасии ядро ​​​​ба рамзи zlib, феҳристи contrib/zlib ба sys/contrib/zlib номгузорӣ шуд ва файли сарлавҳаи crc.h низ барои пешгирӣ кардани ихтилоф бо zlib/crc.h номгузорӣ шуд. Рамзи кӯҳна, ки аз zlib ва inflate вобаста буд, тоза карда шуд. Минбаъд, пешбинӣ шудааст, ки қобилияти сохтани ядро ​​ҳамзамон бо zlib-и кӯҳна ва нав барои тадриҷан ба версияи нави функсияҳое, ки фишурдасозиро истифода мебаранд;
    • Инфраструктураи эмулятсияи муҳити Linux (Linuxulator) нав карда шуд. Дастгирии афзоянда барои абзорҳои ислоҳи Linux ба монанди утилитаи strace. Ба портҳо бастаи linux-c7-strace илова карда шуд, ки онро метавон барои пайгирии файлҳои иҷрошавандаи Linux ба ҷои утилитаҳои стандартии truss ва ktrace истифода бурд, ки ҳоло баъзе парчамҳо ва сохторҳои Linux-ро рамзкушо карда наметавонанд. Илова бар ин, бастаи linux-ltp бо файлҳои иҷрошавандаи Linux Test Project илова карда шуд ва масъалаҳои мутобиқат бо файлҳои иҷрошаванда, ки бо версияҳои нави glibc алоқаманданд, ҳал карда шуданд;
    • Татбиқи амалиёти беэътиборкунии таъхир дар механизми pmap ба истифодаи алгоритми коркарди навбат гузаронида шуд, ки бе қуфл кор мекунад, ки имкон дод, ки мушкилоти миқёспазирӣ ҳангоми иҷрои миқдори зиёди амалиётҳои параллелӣ ҳал карда шавад;
    • Механизми бастани vnode ҳангоми иҷрои зангҳои системаи оилаи execve() тағир дода шуд, ки имкон дод, ҳангоми иҷрои ҳамзамон execve() барои як файл (масалан, ҳангоми иҷрои амалиёти васлкунӣ бо параллелизатсия) самаранокии баланд ба даст оварда шавад. оғози компилятор);
  • Амният
    • Гипервизори bhyve такмил додани дастгирии Муҳоҷирати Зиндагии муҳити меҳмононро аз як мизбон ба дигараш ва функсияи Захира/Барқароркуниро идома медиҳад, ки ба шумо имкон медиҳад, ки системаи меҳмононро яхбандӣ кунед, ҳолатро ба файл захира кунед ва сипас иҷроишро идома диҳед.
    • Тавассути истифодаи китобхонаи libvdsk, bhyve барои тасвирҳои диск дар формати QCOW2 дастгирӣ илова кардааст. Барои кор монтажро талаб мекунад
      махсус дигаргун карда шудааст версияи bhyve, ки ба истифодаи коркардкунандагони амалиёти файл дар асоси libvdsk табдил дода шудааст. Дар давраи ҳисоботӣ, libvdsk инчунин корҳоро оид ба соддагардонии ҳамгироии дастгирӣ барои форматҳои нав, беҳтар кардани кори хондан ва навиштан ва илова кардани дастгирии Copy-On-Write анҷом дод. Аз вазифахои бокимонда ба структурам асосии бхйве пайвастани либвдск кайд карда мешавад;

    • Ба бандарҳо системаи ҷамъоварии маълумот дар бораи трафик илова карда шудааст
      Малтрейл, ки ба шумо имкон медиҳад домҳо барои дархостҳои шабакавии зараровар (IP ва доменҳо аз рӯйхатҳои сиёҳ тафтиш карда мешаванд) эҷод кунед ва маълумотро дар бораи фаъолияти ошкоршуда ба сервери мутамарказ барои бастани минбаъда ё таҳлили кӯшишҳои ҳамла фиристед;

    • Платформаҳо ба портҳо барои ошкор кардани ҳамлаҳо, таҳлили гузоришҳо ва мониторинги тамомияти файлҳо илова карда шуданд. Вазух (форки Ossec бо дастгирии ҳамгироӣ бо ELK-Stack);
  • Зерсистемаи шабакавӣ
    • Драйвери ena барои дастгирии насли дуюми адаптерҳои шабакавии ENAv2 (Elastic Network Adapter), ки дар инфрасохтори Elastic Compute Cloud (EC2) барои ташкили иртибот байни гиреҳҳои EC2 бо суръати то 25 Гб/с истифода мешаванд, нав карда шудааст. Дастгирии NETMAP ба драйвери ena илова карда шудааст.
    • FreeBSD HEAD стеки нави MMC/SD-ро дар асоси чаҳорчӯбаи CAM қабул мекунад ва ба шумо имкон медиҳад, ки дастгоҳҳоро бо интерфейси SDIO (Secure Digital I/O) пайваст кунед. Масалан, SDIO дар модулҳои WiFi ва Bluetooth барои бисёр панелҳо, ба монанди Raspberry Pi 3 истифода мешавад. Стеки нав инчунин имкон медиҳад, ки интерфейси CAM барои фиристодани фармонҳои SD аз замимаҳо дар фазои корбар истифода шавад, ки ин имкон медиҳад, ки дастгоҳ эҷод карда шавад. ронандагоне, ки дар сатҳи корбар кор мекунанд. Кор оид ба эҷоди драйверҳо барои чипҳои бесими Broadcom, ки дар реҷаи FullMAC кор мекунанд (дар паҳлӯи чип он як намуди системаи оператсионии худро бо татбиқи стеки бесими 802.11 кор мекунад) оғоз шуд;
    • Кор барои татбиқи NFSv4.2 (RFC-7862) барои FreeBSD идома дорад. Версияи нави NFS дастгирии функсияҳои posix_fadvise, posix_fallocate, шеваҳои SEEKHOLE/SEEKDATA дар lseek ва амалиёти нусхабардории маҳаллии қисмҳои файлро дар сервер (бе интиқол ба муштарӣ) илова мекунад.

      Айни замон FreeBSD дастгирии асосиро барои амалиёти LayoutError, IOAdvise, Ҷудокунӣ ва Нусхабардорӣ таъмин мекунад. Танҳо иҷрои амалиёти Seek барои истифодаи lseek (SEEKHOLE/SEEKDATA) бо NFS аст. Дастгирии NFSv4.2 барои FreeBSD 13 ба нақша гирифта шудааст;

  • Системаҳои нигоҳдорӣ ва файлҳо
    • Лоиҳаи азнавкоркунии драйвер барои зерсистемаи FUSE (File system дар USERspace), ки имкон медиҳад татбиқи системаҳои файлиро дар фазои корбар эҷод кунад, дар арафаи анҷомёбист. Драйвери аввалан додашуда кӯҳна шудааст ва дорои хатогиҳои зиёд аст. Дар доираи лоиҳаи модернизатсияи драйвер, дастгирии протоколи FUSE 7.23 амалӣ карда шуд (версияи 7.8, ки 11 сол пеш нашр шуда буд, дастгирӣ карда шуд), код барои тафтиши ҳуқуқҳои дастрасӣ дар тарафи ядро ​​​​("-o default_permissions"), зангҳо ба VOP_MKNOD, VOP_BMAP ва VOP_ADVLOCK илова карда шуданд, қобилияти қатъ кардани амалиёти FUSE, дастгирии иловагӣ барои қубурҳои номаълум ва розеткаҳои unix дар fusefs, қобилияти истифодаи kqueue барои /dev/fuse, имкон навсозии параметрҳои васл тавассути "mount -u", дастгирии иловагӣ барои содироти фишурдаҳо тавассути NFS, баҳисобгирии RLIMIT_FSIZE амалӣ карда шуд, парчамҳои FOPEN_KEEP_CACHE ва FUSE_ASYNC_READ илова карда шуд, оптимизатсияи назарраси иҷроиш анҷом дода шуд ва ташкили кэш такмил дода шуд;
    • Дастгирии амалиёти BIO_DELETE ба коди пейджери своп илова карда шудааст, ки ба шумо имкон медиҳад, ки фармони TRIM-ро ҳангоми хориҷ кардани блокҳо аз дискҳои SSD барои зиёд кардани мӯҳлати хидматашон истифода баред.
  • Дастгирии сахтафзор
    • Корҳо барои татбиқи дастгирии ARM64 SoC Broadcom BCM5871X бо протсессори ARMv8 Cortex-A57, ки барои истифода дар роутерҳо, шлюзҳо ва нигаҳдории шабака нигаронида шудаанд, идома доранд. Дар давраи ҳисоботӣ дастгирии автобусҳои дохилӣ ва берунии iProc PCIe такмил дода шуд, дастгирии BNXT Ethernet илова карда шуд ва корҳо оид ба истифодаи муҳаррики криптографии дарунсохт барои суръат бахшидан ба IPsec идома доранд. Интегратсияи код ба филиали HEAD дар нимаи дуюми сол дар назар аст;
    • Кор оид ба дастгирии 64-бит SoC NXP LS1046A дар асоси протсессори ARMv8 Cortex-A72 бо муҳаррики суръатбахшии коркарди бастаи шабакавӣ, 10 Гб Ethernet, PCIe 3.0, SATA 3.0 ва USB 3.0 оғоз шуд. Дастгирии платформаи асосӣ (SMP-и бисёркорбар) ва SATA 3.0 аллакай амалӣ карда шудааст. Дастгирии USB 3.0, SD/MMC ва I2C дар ҳоли таҳия аст. Нақшаҳо дастгирии Ethernet, GPIO ва QSPI-ро дар бар мегиранд. Анҷоми корҳо ва шомил шудан ба филиали HEAD дар семоҳаи 4-уми соли 2019 дар назар аст.
    • Навсозии драйверҳои mlx5en ва mlx5ib барои Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex] ва ConnectX-6 [Dx] Ethernet ва адаптерҳои InfiniBand. Дастгирии иловашуда барои адаптерҳои Mellanox Socket Direct (ConnectX-6), имкон медиҳад, ки интиқоли то 200 Гб/с дар автобуси PCIe Gen 3.0. Барои чипҳои бисёраслии BlueField, дастгирии драйвери RShim илова карда шудааст. Бастаи mstflint бо маҷмӯи утилитаҳои ташхисӣ барои адаптерҳои Mellanox ба портҳо илова карда шудааст;
  • Барномаҳо ва системаи порт
    • Қисмҳои стеки графикӣ нав карда шуданд. Драйвери drm.ko (Мудири бевоситаи намоишдиҳӣ) аз ядрои Linux 5.0 интиқол дода шудааст. Ин драйвер таҷрибавӣ ҳисобида мешавад ва ба дарахти портҳо ҳамчун graphics/drm-devel-kmod илова карда шудааст. Азбаски ронанда чаҳорчӯбаи навшудаи Linux KPI-ро истифода мебарад, то бо ядрои Linux DRM API мувофиқ бошад, барои кор кардан FreeBSD CURRENT лозим аст. Драйвери vboxvideo.ko drm барои GPU виртуалии VirtualBox низ аз Linux интиқол дода шудааст. Бастаи Mesa барои нашри 18.3.2 таҷдид карда шуд ва ба истифодаи LLVM аз бандари devel/llvm80 ба ҷои devel/llvm60 гузашт.
    • Дарахти бандарҳои FreeBSD аз 37000 2146 бандар гузашт, шумораи PR-ҳои пӯшида дар 7837 боқӣ мемонад. Дар давраи ҳисоботӣ аз 172 таҳиягар 5.7 тағйирот ворид карда шуд. Се иштирокчии нав ҳуқуқҳои комиссариро гирифтанд. Дар байни навсозиҳои назарраси версияи портҳо инҳоянд: MySQL 3.6, Python 2.5, Ruby 4.8, Samba 1.0, Julia 68.0, Firefox 75.0.3770.100, Chromium 3.6. Ҳама бандарҳои Go ба истифодаи парчами "USES=go" табдил дода шудаанд. Ба мудири бастаи Cabal, ки барои рамзи Ҳаскелл истифода мешавад, парчами "USES=cabal" илова карда шуд. Ҳолати муҳофизати сахти стек фаъол аст. Версияи пешфарз Python 2.7 ба ҷои XNUMX аст.
    • Варақаи хидматрасонӣ омода карда шудааст nsysctl 1.0, ки аналоги /sbin/sysctl-ро пешниҳод мекунад, ки истифода мебарад libxo барои баромад ва таъмини маҷмӯи васеи имконоти. Nsysctl-ро барои ба таври визуалӣ назорат кардани ҳолати арзишҳои sysctl ва пешниҳоди маълумот дар бораи объектҳо дар шакли сохторӣ истифода бурдан мумкин аст. Натиҷа дар форматҳои XML, JSON ва HTML имконпазир аст;

Манбаъ: opennet.ru

Илова Эзоҳ