Raporti mbi zhvillimin e FreeBSD për tremujorin e dytë të vitit 2019

Publikuar Raporti për zhvillimin e projektit FreeBSD nga prilli në qershor 2019. Ndër ndryshimet mund të theksohet:

  • Çështje tĂ« pĂ«rgjithshme dhe sistemore
    • Ekipi kryesor mori vendimin pĂ«r krijimin e njĂ« grupi tĂ« punĂ«s pĂ«r tĂ« studiuar mundĂ«sitĂ« e transferimit tĂ« teksteve burimore nga sistemi i centralizuar i menaxhimit tĂ« teksteve Subversion nĂ« sistemin e decentralizuar Git.
    • U krye testimi fuzzing i bĂ«rthamĂ«s FreeBSD duke pĂ«rdorur sistemin syzkaller dhe u korrigjua njĂ« numĂ«r gabimesh qĂ« u zbuluan gjatĂ« kĂ«saj kohe. U shtua njĂ« shtresĂ« pĂ«r testimin fuzzing tĂ« bibliotekave pĂ«r tĂ« siguruar pĂ«rputhshmĂ«ri me mjedisin 32-bit nĂ« sistemet me bĂ«rthamĂ« 64-bit. Realizohet mundĂ«sia e запусĐșу syzkaller nĂ« makina virtuale nĂ« bazĂ« tĂ« bhyve. NĂ« fazĂ«n e ardhshme, planifikohet zgjerimi i mbulimit tĂ« thirrjeve tĂ« sistemit pĂ«rmes testimit, angazhimi i LLVM sanitizer pĂ«r verifikimin e bĂ«rthamĂ«s, pĂ«rdorimi i netdump pĂ«r ruajtjen e dheut tĂ« bĂ«rthamĂ«s gjatĂ« dĂ«shtimeve gjatĂ« testimit fuzzing, etj.
    • Ka filluar puna pĂ«r azhurnimin e implementimit tĂ« zlib nĂ« nivelin e bĂ«rthamĂ«s. PĂ«r tĂ« lejuar bĂ«rthamĂ«n tĂ« aksesojĂ« kodin e zlib, katalogu contrib/zlib Ă«shtĂ« ribĂ«rĂ« nĂ« sys/contrib/zlib, gjithashtu Ă«shtĂ« ribĂ«rĂ« file-i header crc.h pĂ«r tĂ« shmangur konfliktin me zlib/crc.h. U pastrua kodi i vjetĂ«r, i varur nga zlib dhe inflate. MĂ« pas, planifikohet tĂ« sigurohet mundĂ«sia e ndĂ«rtimit tĂ« bĂ«rthamĂ«s njĂ«kohĂ«sisht me zlib e vjetĂ«r dhe tĂ« re pĂ«r transferimin gradual nĂ« versionin e ri tĂ« funksioneve qĂ« pĂ«rdorin kompresimin;
    • Infrastruktura e simulimit tĂ« mjedisit Linux (Linuxulator) Ă«shtĂ« pĂ«rmirĂ«suar. Ndyshimi i mbĂ«shtetjes pĂ«r mjetet e dbg Linux, siç Ă«shtĂ« utilitarja strace, Ă«shtĂ« zgjeruar. NĂ« porte Ă«shtĂ« shtuar paketa linux-c7-strace, e cila mund tĂ« pĂ«rdoret pĂ«r tĂ« gjurmuar skedarĂ«t ekzekutivĂ« tĂ« Linuxit, nĂ« vend tĂ« mjeteve standarde truss dhe ktrace, tĂ« cilat ende nuk mund tĂ« dekodojnĂ« disa flaga dhe struktura specifike pĂ«r Linux. PĂ«r mĂ« tepĂ«r, Ă«shtĂ« shtuar paketa linux-ltp me skedarĂ«t ekzekutivĂ« tĂ« Projektit tĂ« Testit tĂ« Linuxit dhe janĂ« zgjidhur problemet me pĂ«rputhshmĂ«rinĂ« me skedarĂ«t ekzekutivĂ« tĂ« kompozuar me versionet e reja tĂ« glibc;
    • Implementimi i operacioneve tĂ« pastrimit tĂ« vonuar tĂ« lidhjeve me faqe fizike tĂ« memories (delayed invalidation) nĂ« mekanizmin pmap Ă«shtĂ« kaluar nĂ« pĂ«rdorimin e algoritmit tĂ« pĂ«rpunimit tĂ« radhĂ«s, i cili punon pa bllokime, duke zgjidhur kĂ«shtu problemet me shkallĂ«zimin gjatĂ« kryerjes sĂ« njĂ« numri tĂ« madh operacionesh paralel unmap.
    • Mekanizmi i bllokimit tĂ« vnode Ă«shtĂ« ndryshuar gjatĂ« ekzekutimit tĂ« thirrjeve sistemike tĂ« familjes execve(), çka ka lejuar pĂ«rmirĂ«simin e efikasitetit tĂ« funksionimit kur ekzekutohen execve pĂ«r tĂ« njĂ«jtin skedar (pĂ«r shembull, gjatĂ« operacioneve tĂ« ndĂ«rtimit me paralelizimin e nisjes sĂ« kompilerit);
  • Siguria
    • NĂ« hiperkrizorin bhyve vazhdohet pĂ«rmirĂ«simi i mbĂ«shtetjes pĂ«r Migrimin Live tĂ« mjediseve tĂ« mikpritura nga njĂ« host nĂ« tjetrin dhe funksionalitetit Save/Restore, i cili lejon ngrirjen e sistemit tĂ« mikpritĂ«s me ruajtjen e gjendjes nĂ« njĂ« skedar, dhe mĂ« pas rinisjen e ekzekutimit.
    • PĂ«rmes pĂ«rdorimit tĂ« bibliotekĂ«s libvdsk, nĂ« bhyve Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r imazhet e disqeve nĂ« formatin QCOW2. PĂ«r funksionimin e saj kĂ«rkohet instalimi
      i një versioni të modifikuar të bhyve, i cili është transferuar në përdorimin e trajtuesve të operacioneve me skedarë bazuar në libvdsk. Gjatë periudhës raportuese, në libvdsk është punuar gjithashtu për thjeshtimin e integrimit të mbështetjes për formate të reja, është përmirësuar performanca e leximit dhe të shkruarit, është shtuar mbështetje për Copy-On-Write. Nga detyrat e mbetura, shënohet integrimi i libvdsk në përbërjen kryesore të bhyve;
    • NĂ« porte Ă«shtĂ« shtuar njĂ« sistem pĂ«r grumbullimin e informacionit mbi trafikun
      Maltrail, i cili lejon krijimin e kurtheve për kërkesat e dëmshme të rrjetit (kontrollohen IP dhe domainet nga listat e zeza) dhe dërgimin e informacionit mbi aktivitetin e identifikuar në një server të centralizuar për bllokimin e mëtejshëm ose analizimin e përpjekjeve për sulme;
    • NĂ« porte Ă«shtĂ« shtuar njĂ« platformĂ« pĂ«r identifikimin e sulmeve, analizĂ«n e logeve dhe ndjekjen e integritetit tĂ« skedarĂ«ve Wazuh (fork i Ossec me mbĂ«shtetje pĂ«r integrimin me ELK-Stack);
  • Sistemi rrjetor
    • Drejtori ena Ă«shtĂ« pĂ«rmirĂ«suar me mbĂ«shtetje pĂ«r adapterĂ«t e rrjetit tĂ« gjeneratĂ«s sĂ« dytĂ« ENAv2 (Elastic Network Adapter), tĂ« pĂ«rdorur nĂ« infrastrukturĂ«n Elastic Compute Cloud (EC2) pĂ«r organizimin e komunikimit midis nyjeve EC2 me shpejtĂ«si deri nĂ« 25 Gb/s. NĂ« drejtori ena Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r NETMAP.
    • NĂ« FreeBSD HEAD u miratua njĂ« grumbull i ri MMC/SD, i bazuar nĂ« framerin CAM, qĂ« lejon lidhjen e pajisjeve me ndĂ«rfaqen SDIO (Secure Digital I/O). PĂ«r shembull, SDIO pĂ«rdoret nĂ« modulet WiFi dhe Bluetooth pĂ«r shumĂ« panele, si Raspberry Pi 3. Grumbulli i ri gjithashtu lejon pĂ«rdorimin e ndĂ«rfaqes CAM pĂ«r tĂ« dĂ«rguar komandat SD nga aplikacionet nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, qĂ« ofron mundĂ«sinĂ« pĂ«r tĂ« krijuar drejtues pajisjesh qĂ« funksionojnĂ« nĂ« nivele pĂ«rdoruesi. Puna ka filluar pĂ«r krijimin e drejtuesve pĂ«r çipat e pajisjeve wireless Broadcom, qĂ« punojnĂ« nĂ« modalitetin FullMAC (nĂ« anĂ«n e çipit ekzekutohet njĂ« sistem operativ i ngjashĂ«m me zbatimin e grumbullit tĂ« tij tĂ« wireless 802.11);
    • Po punohet pĂ«r implementimin e NFSv4.2 (RFC-7862) pĂ«r FreeBSD. NĂ« versionin e ri tĂ« NFS Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r funksionet posix_fadvise, posix_fallocate, modet SEEKHOLE/SEEKDATA nĂ« lseek, operacionin e kopjimit lokal tĂ« pjesĂ«ve tĂ« skedarit nĂ« server (pa e dĂ«rguar tek klienti).

      Aktualisht, për FreeBSD është implementuar mbështetje bazë për operacionet LayoutError, IOAdvise, Allocate dhe Copy. Mbete të realizohet operacioni Seek, i nevojshëm për përdorimin e lseek(SEEKHOLE/SEEKDATA) me NFS. Mbështetje për NFSv4.2 pritet të përfshihet në FreeBSD 13;

  • Sistemet e ruajtjes dhe skedarĂ«t e sistemeve
    • Projekti pĂ«r ripĂ«rtritjen e drejtuesit tĂ« nĂ«n sistemit FUSE (File system in USErspace) Ă«shtĂ« afĂ«r pĂ«rfundimit, duke lejuar krijimin e implementimeve tĂ« sistemeve tĂ« skedarĂ«ve nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Drejtuesi fillestar ishte i ndarĂ« dhe pĂ«rmbante shumĂ« probleme. NĂ« kuadĂ«r tĂ« projektit tĂ« modernizimit tĂ« drejtuesit Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r protokollin FUSE 7.23 (mĂ« parĂ« ishte mbĂ«shtetur versioni 7.8, i lĂ«shuar 11 vjet mĂ« parĂ«), Ă«shtĂ« shtuar kodi pĂ«r verifikimin e tĂ« drejtave tĂ« qasjes nĂ« anĂ«n e bĂ«rthamĂ«s („-o default_permissions“), janĂ« shtuar thirrjet VOP_MKNOD, VOP_BMAP dhe VOP_ADVLOCK, Ă«shtĂ« siguruar mundĂ«sia e ndĂ«rprerjes sĂ« operacioneve FUSE, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kanalet e paemĂ«rtuara dhe soketĂ«t unix nĂ« fusefs, Ă«shtĂ« mundĂ«suar pĂ«rdorimi i kqueue pĂ«r /dev/fuse, Ă«shtĂ« lejuar pĂ«rditĂ«simi i parametrave tĂ« montimit pĂ«rmes „mount -u“, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r eksportin e fusefs pĂ«rmes NFS, Ă«shtĂ« realizuar llogaritja e RLIMIT_FSIZE, janĂ« shtuar flamujt FOPEN_KEEP_CACHE dhe FUSE_ASYNC_READ, janĂ« bĂ«rĂ« optimizime tĂ« rĂ«ndĂ«sishme tĂ« performancĂ«s dhe Ă«shtĂ« pĂ«rmirĂ«suar organizimi i caching;
    • NĂ« kodin e ndĂ«rrimit tĂ« faqeve tĂ« memories nĂ« seksionin e ndihmĂ«s (swap pager) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r operacionin BIO_DELETE, i cili lejon pĂ«rdorimin e komandĂ«s TRIM gjatĂ« heqjes sĂ« blloqeve nga diskĂ«t SSD pĂ«r tĂ« zgjeruar jetĂ«sinĂ« e tyre.
  • MbĂ«shtetje pĂ«r pajisjet
    • ËshtĂ« vazhduar puna pĂ«r implementimin e mbĂ«shtetjes pĂ«r ARM64 SoC Broadcom BCM5871X me procesorĂ«t ARMv8 Cortex-A57, tĂ« dedikuar pĂ«r pĂ«rdorim nĂ« routera, gateway dhe ruajtje nĂ« rrjet. GjatĂ« periudhĂ«s raportuese Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r autobusĂ«t e brendshĂ«m dhe tĂ« jashtĂ«m iProc PCIe, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r BNXT Ethernet, dhe po punohet pĂ«r aktivizimin e motorit tĂ« integruar tĂ« kriptimit pĂ«r pĂ«rshpejtimin e IPsec. Pritet qĂ« integrimi i kodit nĂ« degĂ«n HEAD tĂ« ndodhĂ« nĂ« gjysmĂ«n e dytĂ« tĂ« vitit;
    • Ka filluar puna pĂ«r mbĂ«shtetje tĂ« 64-bit SoC NXP LS1046A me procesorin ARMv8 Cortex-A72 me motor tĂ« integruar pĂ«r pĂ«rshpejtimin e trajtimit tĂ« paketave rrjet, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 dhe USB 3.0. TĂ« gjitha mbĂ«shtetjet pĂ«r platformĂ«n bazĂ« (multi-user SMP) dhe SATA 3.0 janĂ« realizuar. Aktualisht Ă«shtĂ« nĂ« zhvillim mbĂ«shtetja pĂ«r USB 3.0, SD/MMC dhe I2C. NĂ« plan Ă«shtĂ« mbĂ«shtetja pĂ«r Ethernet, GPIO dhe QSPI. Pritet pĂ«rfundimi dhe pĂ«rfshirja nĂ« degĂ«n HEAD nĂ« tremujorin e katĂ«rt tĂ« vitit 2019.
    • Drejtuesit mlx5en dhe mlx5ib pĂ«r adapterĂ«t Ethernet dhe InfiniBand Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex] dhe ConnectX-6 [Dx] janĂ« pĂ«rmirĂ«suar. ËshtĂ« shtuar mbĂ«shtetje pĂ«r adapterĂ«t Mellanox Socket Direct (ConnectX-6), duke lejuar arritjen e kapacitetit deri nĂ« 200Gb/s nĂ« autobusin PCIe Gen 3.0. PĂ«r çipet shumĂ«kernelen 'BlueField' Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r drejtuesin RShim. NĂ« porte Ă«shtĂ« shtuar paketi mstflint me njĂ« grup mjetesh diagnostike pĂ«r adapterĂ«t Mellanox;
  • Aplikacione dhe sistemi i porteve
    • KomponentĂ«t e shtratit grafik janĂ« pĂ«rmirĂ«suar. ËshtĂ« realizuar portimi i drejtuesit drm.ko (Direct Rendering Manager) nga bĂ«rthama Linux 5.0. Ky drejtues konsiderohet eksperimental dhe Ă«shtĂ« shtuar nĂ« degĂ«n e porteve si graphics/drm-devel-kmod. Duke qenĂ« se drejtuesi pĂ«rdor kuadrin e pĂ«rmirĂ«suar Linux KPI pĂ«r pajtueshmĂ«ri me API DRM tĂ« bĂ«rthamĂ«s Linux, kĂ«rkohet FreeBSD CURRENT pĂ«r funksionimin. Po ashtu Ă«shtĂ« portuar drejtuesi drm vboxvideo.ko pĂ«r GPU virtuale VirtualBox nga Linux. Paketa Mesa Ă«shtĂ« pĂ«rmirĂ«suar deri nĂ« lĂ«shimin 18.3.2 dhe Ă«shtĂ« transferuar nĂ« pĂ«rdorimin e LLVM nga porta devel/llvm80 nĂ« vend tĂ« devel/llvm60.
    • Dega e porteve FreeBSD ka kaluar pragun prej 37000 porte, numri i PR-ve tĂ« hapura qĂ«ndron nĂ« 2146. GjatĂ« periudhĂ«s raportuese janĂ« bĂ«rĂ« 7837 ndryshime nga 172 zhvillues. TĂ« tre pjesĂ«marrĂ«sit e rinj kanĂ« fituar tĂ« drejtat e angazhimit. NdĂ«r pĂ«rmirĂ«simet e rĂ«ndĂ«sishme tĂ« versioneve nĂ« porte pĂ«rmenden: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. TĂ« gjitha portet nĂ« gjuhĂ«n Go janĂ« transferuar pĂ«r tĂ« pĂ«rdorur flag-un “USES=go”. ËshtĂ« shtuar flag-u “USES=cabal” pĂ«r menaxherin e paketave Cabal, i pĂ«rdorur pĂ«r kodin nĂ« Haskell. ËshtĂ« pĂ«rfshirĂ« njĂ« mod i rreptĂ« pĂ«r mbrojtjen e stek-ut. Versioni Python 3.6 Ă«shtĂ« ofruar si versioni parazgjedhĂ«s nĂ« vend tĂ« 2.7.
    • LĂ«shimi i utilitarit Ă«shtĂ« pĂ«rgatitur nsysctl 1.0, duke ofruar njĂ« alternativĂ« tĂ« "/sbin/sysctl", qĂ« pĂ«rdor libxo pĂ«r tĂ« shfaqur dhe ofron njĂ« grup tĂ« zgjeruar opsionesh. Nsysctl mund tĂ« pĂ«rdoret pĂ«r monitorimin vizual tĂ« gjendjes sĂ« vlerave sysctl dhe pĂ«rpara informacionin nĂ« lidhje me objektet nĂ« njĂ« format tĂ« strukturuar. Ka mundĂ«si pĂ«r formatet XML, JSON dhe HTML;

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster