FreeBSD þróunarskýrsla fyrir fyrsta ársfjórðung 2020

birt skýrslu um þróun FreeBSD verkefnisins frá janúar til mars 2020. Meðal breytinga sem við getum tekið eftir:

  • Almenn og kerfisbundin atriði
    • Fjarlægði GCC þýðandasettið úr FreeBSD-CURRENT upprunatrénu, sem og ónotuðu gperf, gcov og gtc (devicetree compiler) tólin. Öllum kerfum sem ekki styðja Clang hefur verið skipt yfir í að nota utanaðkomandi smíðaverkfæri sem eru sett upp frá höfnum. Grunnkerfið sendi úrelta útgáfu af GCC 4.2.1 og samþætting nýrra útgáfur var ekki möguleg vegna umbreytingar 4.2.2 í GPLv3 leyfið, sem var talið óviðeigandi fyrir FreeBSD grunnhlutana. Núverandi útgáfur af GCC, þar á meðal GCC 9, er enn hægt að setja upp úr pökkum og höfnum.
    • Linux-umhverfishermiuppbyggingin (Linuxulator) hefur bætt við stuðningi við sendfile kerfiskallið, TCP_CORK ham (krafist fyrir nginx) og MAP_32BIT fánann (leysir vandamálið við að ræsa pakka með Mono frá Ubuntu Bionic). Vandamál með DNS-upplausn þegar glibc er nýrra en 2.30 (til dæmis frá CentOS 8) hefur verið leyst.
      Stöðugur samþættingarinnviði veitir möguleika á að keyra LTP (Linux Testing Project) störf sem keyra Linuxulator til að prófa endurbætur sem gerðar eru á kóðanum til að styðja Linux. Um 400 próf misheppnast og krefjast lagfæringar (sumar villur stafa af fölskum jákvæðum, sumar krefjast léttvægra lagfæringa, en það eru önnur sem krefjast þess að bæta við stuðningi við ný kerfissímtöl til að laga). Unnið hefur verið að því að hreinsa Linuxulator kóðann og einfalda villuleit. Plástrar með stuðningi fyrir útbreidda eiginleika og fexecve kerfiskall hafa verið útbúnir, en ekki enn endurskoðaðir.

    • Fundir vinnuhópsins sem stofnaður var til að framkvæma flutning frumkóða frá miðstýrða frumstýringarkerfinu Subversion yfir í dreifða kerfið Git halda áfram. Skýrsla með tillögum um búferlaflutninga er í vinnslu.
    • В rtld (keyrslutími tengir) bættur bein execution mode ("/libexec/ld-elf.so.1 {path} {rök}").
    • Verkefnið fyrir óljós prófun á FreeBSD kjarnanum með því að nota syzkaller kerfið heldur áfram að þróast. Á skýrslutímabilinu var eytt vandamálum í netstafla og kóða til að vinna með skráarlýsingartöflur sem auðkenndar voru með syzkaller. Eftir villugreininguna hefur breytingum verið bætt við SCTP stafla til að auðvelda villuleit. Reglum hefur verið bætt við streitu2 settið til að bera kennsl á mögulega afturför. Bætti við stuðningi við fuzz prófun á nýjum kerfissímtölum, þar á meðal copy_file_range(), __realpathat() og Capsicum undirkerfissímtöl. Vinna heldur áfram við að ná yfir Linux hermilagið með fuzz prófunum. Við greindum og útrýmdum villum sem komu fram í nýjustu Coverity Scan skýrslum.
    • Samfellda samþættingarkerfið hefur skipt yfir í að framkvæma öll höfuðgreinapróf eingöngu með því að nota clang/lld. Þegar prófað er fyrir RISC-V er tryggð myndun heildar diskmyndar til að keyra próf í QEMU með OpenSBI. Bætt við nýjum verkefnum til að prófa myndir og powerpc64 sýndarvélar (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Unnið er að því að flytja Kyua prófunarsvítuna frá höfnunum (devel/kyua) yfir í grunnkerfið til að leysa vandamál (pakkar eru settir upp mjög hægt) sem koma upp þegar Kyua er notað á nýjan arkitektúr, þróun sem fer fram með keppinauti eða FPGA. Samþætting inn í grunnkerfið mun einfalda verulega prófun á innbyggðum kerfum og tengi við samfelld samþættingarkerfi.
    • Verkefni hefur verið sett af stað til að hámarka afköst netbrúarstjórans ef_brú, sem notar eitt mutex til að læsa innri gögnum, sem gerir ekki kleift að ná tilætluðum árangri á kerfum með miklum fjölda fangelsisumhverfis eða sýndarvéla sameinuð í einu neti. Á þessu stigi hefur prófunum verið bætt við kóðann til að koma í veg fyrir að afturför komi fram við nútímavæðingu vinnu með læsingum. Verið er að skoða möguleikann á því að nota ConcurrencyKit til að samsíða gagnaflutningsaðilum (bridge_input(), bridge_output(), bridge_forward(), ...).
    • Bætti við nýju sigfastblock kerfiskalli til að leyfa þræði að tilgreina minnisblokk fyrir hraðvirkan merkjameðferðaraðila til að bæta frammistöðu undantekningameðferðaraðila.
    • Kjarninn bætir við stuðningi við LSE (Large System Extension) atómleiðbeiningar sem studdar eru af ARMv8.1 kerfum. Þessar leiðbeiningar eru nauðsynlegar til að bæta frammistöðu þegar keyrt er á Cavium ThunderX2 og AWS Graviton 2 borðum. Viðbótarbreytingarnar ákvarða tilvist LSE stuðnings og gera frumeindaútfærslu sem byggist á þeim á kraftmikinn hátt. Meðan á prófun stóð gerði notkun LSE það mögulegt að draga úr örgjörvatímanum sem varið er við að setja saman kjarnann um 15%.
    • Hagræðing hefur verið framkvæmd og virkni verkfærakistunnar hefur verið aukin fyrir keyranlegar skrár á ELF sniði.
      Bætti við stuðningi við að vista DWARF villuleitarupplýsingar, leystu vandamál í elfcopy/objcopy tólunum, bætti við DW_AT_ranges vinnslu,
      readelf útfærir getu til að afkóða PROTMAX_DISABLE, STKGAP_DISABLE og WXNEEDED fánana, auk Xen og GNU Build-ID.

  • öryggi
    • Til að bæta frammistöðu FreeBSD í Azure skýjaumhverfi er unnið að því að veita stuðning fyrir HyperV Socket vélbúnaðinn, sem gerir kleift að nota falsviðmót fyrir samskipti gestakerfisins og hýsilumhverfisins án þess að setja upp netkerfi.
    • Unnið er að því að útvega endurteknar uppbyggingar af FreeBSD, sem gerir það mögulegt að tryggja að keyrsluskrár kerfishluta séu unnar nákvæmlega út frá uppgefnu frumkóðanum og innihaldi ekki óviðkomandi breytingar.
    • Hæfni til að stýra innlimun viðbótarverndarbúnaðar (ASLR, PROT_MAX, staflabil, W+X kortlagning) á stigi einstakra ferla hefur verið bætt við elfctl tólið
  • Geymsla og skráarkerfi
    • Unnið er að því að innleiða möguleika NFS til að starfa yfir dulkóðaðri samskiptarás byggða á TLS 1.3, í stað þess að nota Kerberos (sec=krb5p ham), sem takmarkast við að dulkóða aðeins RPC skilaboð og er aðeins útfært í hugbúnaði. Nýja útfærslan notar kjarna-útvefinn TLS stafla til að gera vélbúnaðarhröðun kleift. NFS yfir TLS kóðinn er næstum tilbúinn til prófunar, en krefst samt vinnu til að styðja undirrituð biðlaraskírteini og aðlaga TLS kjarna stafla til að senda NFS gögn (plástrar til móttöku eru þegar tilbúnir).
  • Stuðningur við vélbúnað
    • Unnið er að því að bæta við stuðningi við kínverska x86 CPU Hygon byggt á AMD tækni;
    • Sem hluti af CheriBSD, gaffli af FreeBSD fyrir arkitektúr rannsóknarörgjörva CHERI (Capability Hardware Enhanced RISC Instructions), stuðningur við ARM Morello örgjörva heldur áfram að vera innleiddur, sem mun styðja CHERI minni aðgangsstýringarkerfið byggt á Capsicum verkefnisöryggislíkani. Morello flís eru að skipuleggja út árið 2021. Vinnan beinist nú að því að bæta við stuðningi við Arm Neoverse N1 pallinn sem knýr Morello. Upphafleg höfn á CheriBSD fyrir RISC-V arkitektúr hefur verið kynnt. CheriBSD þróun heldur áfram fyrir CHERI viðmiðunarfrumgerðina sem byggir á MIPS64 arkitektúrnum.
    • FreeBSD flutningur heldur áfram fyrir 64 bita SoC NXP LS1046A byggt á ARMv8 Cortex-A72 örgjörva með samþættri netpakkavinnslu hröðunarvél, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 og USB 3.0. Eins og er, er verið að undirbúa ökumenn QorIQ og LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI fyrir flutning yfir í aðal FreeBSD samsetninguna.
    • Ena bílstjórinn hefur verið uppfærður í útgáfu 2.1.1 með stuðningi fyrir aðra kynslóð ENAv2 (Elastic Network Adapter) netmillistykki sem notuð eru í Elastic Compute Cloud (EC2) innviðum til að skipuleggja samskipti milli EC2 hnúta á allt að 25 Gb/ s. Verið er að undirbúa uppfærslu á ENA 2.2.0.
    • Endurbætur á FreeBSD tenginu fyrir powerpc64 pallinn halda áfram. Áherslan er á að veita gæðaafköst á kerfum með IBM POWER8 og POWER9 örgjörvum. Á skýrslutímabilinu var FreeBSD-CURRENT flutt til að nota LLVM/Clang 10.0 þýðanda og lld tengilið í stað GCC. Sjálfgefið er að powerpc64 kerfi nota ELFv2 ABI og stuðningi við ELFv1 ABI hefur verið hætt. FreeBSD-STABLE er enn með gcc 4.2.1. Vandamál með virtio, aacraid og ixl rekla hafa verið leyst. Á powerpc64 kerfum er hægt að keyra QEMU án Huge Pages stuðnings.
    • Vinna heldur áfram að innleiða stuðning við RISC-V arkitektúrinn. Í núverandi mynd ræsir FreeBSD þegar vel á SiFive Hifive Unleashed borðinu, sem ökumenn hafa verið útbúnir fyrir.
      UART, SPI og PRCI, styður OpenSBI og SBI 0.2 vélbúnaðar. Á skýrslutímabilinu var lögð áhersla á flutning frá GCC til clang og lld.

  • Umsóknir og hafnarkerfi
    • FreeBSD hafnasafnið hefur farið yfir þröskuldinn 39 þúsund hafnir, fjöldi ólokaðra PRs fer aðeins yfir 2400, þar af 640 PRs hafa ekki enn verið flokkuð. Á skýrslutímabilinu voru gerðar 8146 breytingar frá 173 þróunaraðilum. Fjórir nýir þátttakendur fengu skuldbindingarréttindi (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Bætti við USES=qca fána og fjarlægði USES=zope fána (vegna ósamrýmanleika við Python 3). Unnið er að því að fjarlægja Python 2.7 úr tengitrénu - allar Python 2-tengjar verða að vera fluttar yfir á Python 3 eða verða fjarlægðar. Pkg pakkastjórinn hefur verið uppfærður í útgáfu 1.13.2.
    • Uppfærðir grafískir staflahlutir og xorg tengdar hafnir.
      X.org þjónninn hefur verið uppfærður í útgáfu 1.20.8 (áður sent á 1.18 útibúinu), sem gerði FreeBSD kleift að nota sjálfgefið udev/evdev bakendann til að meðhöndla inntakstæki. Mesa pakkanum hefur verið skipt til að nota DRI3 viðbótina í stað DRI2 sjálfgefið. Unnið er að því að halda grafíkrekla, inntaksbúnaðarstafla og drm-kmod íhlutum (gátt sem gerir kleift að nota amdgpu, i915 og radeon DRM eininga, með því að nota linuxkpi ramma fyrir samhæfni við Direct Rendering Manager Linux kjarnans) Uppfært.

    • KDE Plasma skjáborðið, KDE Frameworks, KDE forritin og Qt eru uppfærð og uppfærð í nýjustu útgáfur. Nýju forriti kstars (stjörnuatlas) hefur verið bætt við hafnirnar.
    • Unnið hefur verið að því að útrýma afturhvarfsbreytingum á xfwm4 gluggastjóranum sem birtist eftir að Xfce var uppfært í útgáfu 4.14 (til dæmis komu gripir þegar gluggar voru skreyttir).
    • Vínportið hefur verið uppfært til að gefa út Wine 5.0 (áður var boðið upp á 4.0.3).
    • Frá og með útgáfu 1.14 bætti Go tungumálaþýðandinn við opinberum stuðningi við ARM64 arkitektúrinn fyrir FreeBSD 12.0.
    • OpenSSH á grunnkerfinu hefur verið uppfært til að gefa út 7.9p1.
    • Sysctlmibinfo2 bókasafnið hefur verið innleitt og komið fyrir í höfnum (devel/libsysctlmibinfo2), sem veitir API til að fá aðgang að sysctl MIB og þýða sysctl nöfn yfir í hlutauðkenni (OID).
    • Dreifingaruppfærsla hefur verið búin til NomadBSD 1.3.1, sem er útgáfa af FreeBSD sem er aðlöguð til notkunar sem færanlegt skrifborð sem hægt er að ræsa úr USB drifi. Myndræna umhverfið er byggt á gluggastjóra Openbox. Notað til að festa drif DSBMD (uppsetning CD9660, FAT, HFS+, NTFS, Ext2/3/4 er studd), til að stilla þráðlaust net - wifimgr, og til að stjórna hljóðstyrknum - DSBMixer.
    • Byrjaði vinna um að skrifa heildarskjöl fyrir umhverfisstjóra fangelsisins pottinn. Pot 0.11.0 er í undirbúningi fyrir útgáfu, sem mun innihalda verkfæri til að stjórna netstaflanum.

Heimild: opennet.ru

Bæta við athugasemd