Ripoti ya Maendeleo ya FreeBSD kwa robo ya kwanza ya 2020

iliyochapishwa Ripoti ya maendeleo ya mradi wa FreeBSD kuanzia Januari hadi Machi 2020. Miongoni mwa mabadiliko, yafuatayo yanaweza kuzingatiwa:

  • Masuala ya jumla na ya kimfumo
    • Kifurushi cha mkusanyaji wa GCC, pamoja na gperf, gcov, na gtc isiyotumika (kikusanyaji cha kifaa), vimeondolewa kwenye mti chanzo cha FreeBSD-CURRENT. Mifumo yote ambayo haitumii Clang imehamishiwa kwenye zana za ujenzi za nje zilizosakinishwa kutoka kwa bandari. Mfumo msingi uliosafirishwa ukiwa na toleo la zamani la GCC 4.2.1, na ujumuishaji wa matoleo mapya zaidi haukuwezekana kutokana na mabadiliko ya 4.2.2 hadi leseni ya GPLv3, ambayo ilionekana kutokubalika kwa vipengele msingi vya FreeBSD. Matoleo ya sasa ya GCC, ikijumuisha GCC 9, bado yanaweza kusakinishwa kutoka kwa vifurushi na bandari.
    • Miundombinu ya kuiga mazingira Linux (Linuxulator) iliongeza usaidizi kwa simu ya mfumo wa sendfile, hali ya TCP_CORK (inahitajika kwa nginx), na bendera ya MAP_32BIT (hutatua tatizo la kuendesha vifurushi na Mono kutoka Ubuntu Bionic). DNS hutatua matatizo wakati wa kutumia glibc mpya kuliko 2.30 (kwa mfano, kutoka CentOS 8).
      Miundombinu endelevu ya ujumuishaji hutoa uwezo wa kuendesha kazi za kuendesha LTP (Linux Mradi wa Upimaji) chini ya usimamizi wa Linuxulator kwa ajili ya kujaribu maboresho yaliyofanywa kwenye msimbo ili kusaidia LinuxTakriban majaribio 400 yanashindwa na yanahitaji kurekebishwa (baadhi ya makosa husababishwa na matokeo chanya yasiyo sahihi, baadhi yanahitaji marekebisho madogo, na mengine yanahitaji kuongezwa kwa usaidizi kwa simu mpya za mfumo). Usafi wa msimbo umekamilika. Linuxkirekebishaji na kurahisisha utatuzi wa matatizo. Viraka vinavyounga mkono sifa zilizopanuliwa na simu ya mfumo wa fexecve vimetayarishwa lakini bado havijapitiwa.
    • Mikutano ya kikundi kazi kilichoundwa kuhamisha msimbo wa chanzo kutoka mfumo wa usimamizi wa msimbo wa Ubadilishaji wa kati hadi mfumo wa Git uliogatuliwa inaendelea. Ripoti yenye mapendekezo ya uhamiaji inatayarishwa.
    • В rtld (kiunganishi cha wakati wa kukimbia) iliboresha hali ya utekelezaji wa moja kwa moja ("/libexec/ld-elf.so.1 {path} {arguments}").
    • Mradi wa kufifia kwa kernel ya FreeBSD kwa kutumia mfumo wa syzkaller unaendelea kubadilika. Wakati wa kipindi cha kuripoti, masuala katika rafu ya mtandao na msimbo wa kufanya kazi na majedwali ya maelezo ya faili yaliyotambuliwa kwa kutumia syzkaller yalitatuliwa. Kufuatia utambuzi wa hitilafu, mabadiliko yaliongezwa kwenye rafu ya SCTP ili kurahisisha utatuzi wa matatizo. Sheria za kutambua urejeshaji unaowezekana ziliongezwa kwenye seti ya stress2. Usaidizi wa upimaji wa kufifia wa simu mpya za mfumo umeongezwa, ikiwa ni pamoja na copy_file_range(), __realpatat(), na simu za mfumo mdogo wa Capsicum. Kazi inaendelea kufunika safu ya uigaji kwa upimaji wa kufifia. LinuxMakosa yaliyotambuliwa katika ripoti za hivi karibuni za Coverity Scan yalichambuliwa na kusahihishwa.
    • Mfumo wa ujumuishaji unaoendelea umebadilishwa na kufanya majaribio yote ya tawi la kichwa kwa kutumia clang/lld pekee. Kwa majaribio ya RISC-V, picha kamili ya diski sasa inatolewa kwa ajili ya kufanya majaribio katika QEMU kwa kutumia OpenSBI. Kazi mpya zimeongezwa kwa ajili ya kupima picha za powerpc64 na mashine pepe (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Kazi inaendelea ya kuhamisha kitengo cha majaribio cha Kyua kutoka bandari (devel/kyua) hadi mfumo mkuu ili kushughulikia masuala (vifurushi vinatumwa polepole sana) ambayo hutokea wakati wa kutumia Kyua kwenye usanifu mpya uliotengenezwa kwa kutumia emulator au FPGA. Ujumuishaji katika mfumo mkuu utarahisisha kwa kiasi kikubwa majaribio ya majukwaa yaliyopachikwa na kuingiliana na mifumo endelevu ya ujumuishaji.
    • Mradi wa kuboresha utendakazi wa kiendesha daraja la mtandao umezinduliwa. if_bridge, ambayo hutumia bubu moja ili kufunga data ya ndani, kuzuia utendaji unaohitajika kwenye mifumo yenye idadi kubwa ya jela au mashine pepe zilizounganishwa kwenye mtandao mmoja. Majaribio yameongezwa kwa msimbo ili kuzuia kurudi nyuma wakati wa kisasa wa kushughulikia kufuli. Uwezekano wa kutumia ConcurrencyKit kusawazisha vidhibiti vya uhamishaji data (bridge_input(), bridge_output(), bridge_forward(), n.k.) unazingatiwa.
    • Simu mpya ya mfumo wa sigfastblock imeongezwa ambayo huruhusu mazungumzo kubainisha kizuizi cha kumbukumbu kwa kidhibiti cha mawimbi chenye kasi ili kuboresha utendakazi wa vidhibiti vighairi.
    • Kernel sasa inaauni maagizo ya atomiki ya LSE (Kiendelezi cha Mfumo Kubwa), ambayo inaungwa mkono na mifumo ya ARMv8.1. Maagizo haya yanahitajika ili kuboresha utendaji kazi kwenye mbao za Cavium ThunderX2 na AWS Graviton 2. Mabadiliko yaliyoongezwa yanatambua usaidizi wa LSE na kuwezesha utekelezaji wa atomiki kulingana na maagizo haya. Katika majaribio, kutumia LSE ilipunguza muda wa CPU uliotumika kukusanya kernel kwa 15%.
    • Uboreshaji wa utendakazi umefanywa na utendakazi wa zana ya faili zinazoweza kutekelezeka za ELF umepanuliwa.
      Usaidizi ulioongezwa wa kuweka akiba maelezo ya utatuzi ya DWARF, yalisuluhisha masuala katika huduma za elfcopy/objcopy, iliongeza utunzaji wa DW_AT_ranges,
      readelf sasa inaweza kutumia usimbaji wa bendera za PROTMAX_DISABLE, STKGAP_DISABLE na WXNEEDED, pamoja na Xen na GNU Build-ID.
  • usalama
    • Ili kuboresha utendaji wa FreeBSD katika mazingira ya wingu ya Azure, kazi inaendelea ili kutoa usaidizi kwa utaratibu wa Soketi ya HyperV, ambayo inaruhusu matumizi ya kiolesura cha tundu kwa mwingiliano wa mfumo wa wageni na mazingira ya mwenyeji bila usanidi wa mtandao.
    • Kazi inaendelea ili kuhakikisha uundaji wa FreeBSD unaorudiwa, ambao unahakikisha kuwa faili zinazoweza kutekelezeka za vipengee vya mfumo zimekusanywa kutoka kwa msimbo wa chanzo uliotangazwa na hazina mabadiliko yoyote ya nje.
    • Huduma ya elfctl sasa inakuruhusu kudhibiti ujumuishaji wa mbinu za ziada za ulinzi (ASLR, PROT_MAX, pengo la rafu, kuweka ramani ya W+X) katika kiwango cha mchakato mahususi.
  • Mifumo ya uhifadhi na faili
    • Kazi inaendelea ili kuwezesha utendakazi wa NFS kwenye chaneli ya mawasiliano iliyosimbwa kwa njia fiche kulingana na TLS 1.3, badala ya kutumia Kerberos (sec=krb5p mode), ambayo inahusu usimbaji fiche wa ujumbe wa RPC pekee na inatekelezwa kabisa katika programu. Utekelezaji mpya unatumia rafu ya TLS iliyotolewa na kernel, ambayo huwezesha kuongeza kasi ya maunzi. Msimbo wa NFS-over-TLS unakaribia kuwa tayari kwa majaribio, lakini bado unahitaji usaidizi wa vyeti vya mteja vilivyotiwa saini na urekebishaji wa kernel ya TLS ya kutuma data ya NFS (viraka vya kupokea utendakazi huu tayari vinapatikana).
  • Msaada wa vifaa
    • Kazi inaendelea ya kuongeza usaidizi kwa CPU za Hygon za x86 za Kichina kulingana na teknolojia za AMD;
    • Ndani ya CheriBSD, uma wa FreeBSD kwa usanifu wa kichakataji cha utafiti CHERI (Uwezo wa Maagizo ya RISC ya Uwezo), usaidizi wa kichakataji cha ARM Morello unaendelea kutekelezwa, ambao utasaidia mfumo wa udhibiti wa ufikiaji wa kumbukumbu wa CHERI, kulingana na mfano wa ulinzi wa mradi wa Capsicum. Chip ya Morello wanapanga Ilizinduliwa mwaka wa 2021. Kazi kwa sasa inalenga kuongeza usaidizi kwa jukwaa la Arm Neoverse N1, ambalo ni msingi wa Morello. Bandari ya awali ya CheriBSD kwa usanifu wa RISC-V imetolewa. Ukuzaji wa CheriBSD kwa mfano wa marejeleo wa CHERI kulingana na usanifu wa MIPS64 unaendelea.
    • FreeBSD inaendelea kutumwa kwa 64-bit NXP LS1046A SoC kulingana na kichakataji cha ARMv8 Cortex-A72 chenye injini ya kuongeza kasi ya mtandao, 10 Gb Ethernet, PCIe 3.0, SATA 3.0, na USB 3.0. Viendeshaji vya QorIQ na LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, na QorIQ LS10xx SDHCI kwa sasa vinatayarishwa kujumuishwa katika usambazaji mkuu wa FreeBSD.
    • Kiendeshaji cha ena kimesasishwa hadi toleo la 2.1.1, linalotumia adapta za mtandao za ENAv2 (Elastic Network Adapter) za kizazi cha pili zinazotumika katika miundombinu ya Elastic Compute Cloud (EC2) ili kutoa muunganisho kati ya nodi za EC2 kwa kasi ya hadi Gbps 25. Sasisho la ENA 2.2.0 linatayarishwa.
    • Kazi kwenye bandari ya FreeBSD ya jukwaa la powerpc64 inaendelea. Lengo ni kuhakikisha utendakazi wa hali ya juu kwenye mifumo iliyo na vichakataji vya IBM POWER8 na POWER9. Katika kipindi cha kuripoti, FreeBSD-CURRENT ilihamishwa ili kutumia kikusanyaji cha LLVM/Clang 10.0 na kiunganishi cha lld badala ya GCC. ELFv2 ABI imewashwa kwa chaguomsingi kwenye mifumo ya powerpc64, na usaidizi wa ELFv1 ABI umeondolewa. FreeBSD-STABLE bado inatumia gcc 4.2.1. Masuala ya viendeshaji virtio, aacraid, na ixl yametatuliwa. QEMU sasa inaweza kufanya kazi kwenye mifumo ya powerpc64 bila usaidizi wa Kurasa Kubwa.
    • Kazi ya kutekeleza usaidizi wa usanifu wa RISC-V imeendelea. Katika hali yake ya sasa, FreeBSD tayari inafanikiwa buti kwenye bodi ya SiFive Hifive Unleashed, ambayo madereva yameandaliwa.
      Usaidizi wa UART, SPI, na PRCI, na inaauni programu dhibiti ya OpenSBI na SBI 0.2. Katika kipindi cha kuripoti, kazi ililenga kuhama kutoka GCC hadi clang na lld.
  • Maombi na mfumo wa bandari
    • Mkusanyiko wa bandari za FreeBSD umepita bandari 39, na zaidi ya 2400 za PRs zilizo wazi, 640 ambazo bado hazijatatuliwa. Katika kipindi cha kuripoti, mabadiliko 8146 yalifanywa na watengenezaji 173. Wachangiaji wanne wapya (Loïc Bartoletti, Mikael Urankar, Kyle Evans, na Lorenzo Salvadore) walipewa haki za kujitolea. Bendera ya USES=qca imeongezwa na bendera ya USES=zope imeondolewa (kutokana na kutopatana na Python 3). Kazi inaendelea ya kuondoa Chatu 2.7 kutoka kwa mti wa bandari—bandari zote zinazotegemea Chatu 2 lazima zipelekwe kwenye Chatu 3 au ziondolewe. Kidhibiti cha kifurushi cha pkg kimesasishwa ili kutolewa 1.13.2.
    • Vijenzi vya rafu za michoro na bandari zinazohusiana na xorg.
      Seva ya X.org imesasishwa hadi toleo la 1.20.8 (hapo awali tawi la 1.18 lilisafirishwa), ambalo limeruhusu FreeBSD kubadili hadi kutumia sehemu ya nyuma ya udev/evdev kwa chaguo-msingi kwa kushughulikia vifaa vya kuingiza data. Kifurushi cha Mesa kimebadilishwa hadi kutumia kiendelezi cha DRI3 kwa chaguo-msingi badala ya DRI2. Kazi inaendelea ili kuweka viendeshi vya michoro, rafu ya kifaa cha kuingiza data, na vipengele vya drm-kmod vikisasishwa (mlango unaowezesha moduli za DRM kwa amdgpu, i915, na radeon, kwa kutumia mfumo wa linuxkpi kwa utangamano na Kidhibiti Utoaji wa Moja kwa Moja cha kernel). Linux).
    • Kompyuta ya mezani ya KDE Plasma, Mifumo ya KDE, Programu za KDE, na Qt husasishwa na kusasishwa hadi matoleo mapya zaidi. Programu mpya, kstars (atlasi ya nyota), imeongezwa kwenye bandari.
    • Kazi imefanywa ili kuondoa mabadiliko ya regressive katika meneja wa dirisha wa xfwm4 ambayo ilionekana baada ya kusasisha Xfce hadi toleo la 4.14 (kwa mfano, mabaki yalionekana wakati wa kupamba madirisha).
    • Bandari ya Mvinyo imesasishwa hadi Mvinyo 5.0 (hapo awali 4.0.3).
    • Kuanzia na toleo la 1.14, mkusanyaji wa Go anaongeza usaidizi rasmi kwa usanifu wa ARM64 wa FreeBSD 12.0.
    • OpenSSH katika mfumo msingi imesasishwa ili kutolewa 7.9p1.
    • Maktaba ya sysctlmibinfo2 imetekelezwa na kuwekwa kwenye bandari (devel/libsysctlmibinfo2), ikitoa API ya kufikia sysctl MIB na kutafsiri majina ya sysctl kuwa vitambulishi vya vitu (OIDs).
    • Sasisho la usambazaji limetolewa NomadBSD 1.3.1, ambalo ni toleo la FreeBSD lililobadilishwa kwa matumizi kama kompyuta ya mezani inayoweza kusongeshwa kutoka kwa hifadhi ya USB. Mazingira ya picha yanategemea kidhibiti dirisha Openbox. Inatumika kwa kuweka anatoa DSBMD (kuweka CD9660, FAT, HFS+, NTFS, Ext2/3/4 inatumika), kusanidi mtandao wa wireless - wifimgr, na kudhibiti sauti - DSBMixer.
    • Ilianza kazi juu ya kuandika nyaraka za kina kwa meneja wa mazingira wa jela sufuriaPot 0.11.0 inatayarishwa kwa kutolewa, ambayo itajumuisha zana za usimamizi wa rafu za mtandao.

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster