فري بي ايس ڊي ڊولپمينٽ رپورٽ Q2020 XNUMX

شايع ٿيل جنوري کان مارچ 2020 تائين FreeBSD منصوبي جي ترقي تي رپورٽ. تبديلين مان اسان نوٽ ڪري سگھون ٿا:

  • عام ۽ سسٽماتي مسئلا
    • GCC ڪمپلر سيٽ کي FreeBSD-CURRENT سورس ٽري مان هٽايو، گڏوگڏ غير استعمال ٿيل gperf، gcov ۽ gtc (devicetree compiler) يوٽيلٽيز. سڀئي پليٽ فارم جيڪي ڪلانگ کي سپورٽ نه ڪندا آهن انهن کي بندرگاهن مان نصب ٿيل ٻاهرين تعميراتي اوزار استعمال ڪرڻ لاءِ تبديل ڪيو ويو آهي. بيس سسٽم GCC 4.2.1 جو هڪ پراڻو رليز موڪليو، ۽ نئين ورزن جو انضمام ممڪن نه هو ڇاڪاڻ ته 4.2.2 جي منتقلي جي ڪري GPLv3 لائسنس، جنهن کي FreeBSD بنيادي اجزاء لاءِ نامناسب سمجهيو ويندو هو. GCC جي موجوده رليز، GCC 9 سميت، اڃا تائين پيڪيجز ۽ بندرگاهن مان انسٽال ڪري سگھجن ٿيون.
    • لينڪس ماحول جي ايموليشن انفراسٽرڪچر (لينڪسولٽر) موڪليل فائل سسٽم ڪال لاءِ سپورٽ شامل ڪئي آهي، TCP_CORK موڊ (گهربل nginx لاءِ)، ۽ MAP_32BIT جھنڊو (اوبنٽو بايونڪ مان مونو سان پيڪيجز لانچ ڪرڻ جو مسئلو حل ڪري ٿو). 2.30 کان نئون glibc استعمال ڪندي DNS ريزوليوشن سان مسئلا (مثال طور CentOS 8 کان) حل ڪيا ويا آهن.
      مسلسل انٽيگريشن انفراسٽرڪچر لينڪس کي سپورٽ ڪرڻ لاءِ ڪوڊ ۾ ڪيل سڌارن کي جانچڻ لاءِ لينڪسولٽر تي هلندڙ LTP (لينڪس ٽيسٽنگ پروجيڪٽ) نوڪريون هلائڻ جي صلاحيت فراهم ڪري ٿو. اٽڪل 400 ٽيسٽ ناڪام ٿين ٿا ۽ فڪسنگ جي ضرورت آهي (ڪجهه غلطيون غلط مثبت سببن جي ڪري ٿين ٿيون، ڪجهه کي معمولي اصلاح جي ضرورت آهي، پر ٻيا به آهن جن کي درست ڪرڻ لاءِ نئين سسٽم ڪالن لاءِ سپورٽ شامل ڪرڻ جي ضرورت آهي). لينڪسولٽر ڪوڊ کي صاف ڪرڻ ۽ ڊيبنگ کي آسان ڪرڻ لاءِ ڪم ڪيو ويو آهي. وڌايل خاصيتون ۽ فيڪسيڪيو سسٽم ڪال جي حمايت سان پيچ تيار ڪيا ويا آهن، پر اڃا تائين نظرثاني نه ڪئي وئي آهي.

    • ڪم ڪندڙ گروپ جي گڏجاڻين کي سينٽرلائزڊ سورس ڪنٽرول سسٽم کان ماخذ ڪوڊ جي لڏپلاڻ کي انجام ڏيڻ لاءِ پيدا ڪيو ويو آهي غير مرڪزي نظام Git ڏانهن. لڏپلاڻ جي تجويزن سان گڏ هڪ رپورٽ تيار ڪرڻ جي عمل ۾ آهي.
    • В rtld (رن ٽائم لنڪر) سڌريل سڌي عمل واري موڊ (“/libexec/ld-elf.so.1 {path} {arguments}”).
    • syzkaller سسٽم استعمال ڪندي فري بي ايس ڊي ڪرنل جي فزنگ ٽيسٽ لاءِ پروجيڪٽ ترقي جاري رکي ٿو. رپورٽنگ جي عرصي دوران، نيٽ ورڪ اسٽيڪ ۾ مسئلا ۽ ڪوڊ فائل بيان ڪندڙ جدولن سان ڪم ڪرڻ لاءِ جن جي سڃاڻپ syzkaller استعمال ڪندي ختم ڪئي وئي. غلطي جي تشخيص کان پوء، ڊيبگنگ کي آسان ڪرڻ لاء SCTP اسٽيڪ ۾ تبديليون شامل ڪيون ويون آهن. ضابطا شامل ڪيا ويا آهن stress2 سيٽ ۾ ممڪن ريگريشن کي سڃاڻڻ لاءِ. نئين سسٽم ڪالن جي فز ٽيسٽنگ لاءِ سپورٽ شامل ڪئي وئي، بشمول copy_file_range(), __realpathat() ۽ Capsicum subsystem ڪالون. ڪم جاري آهي لينڪس ايموليشن پرت کي ڍڪڻ لاءِ فز ٽيسٽنگ سان. اسان تجزيو ڪيو ۽ غلطيون ختم ڪيون جيڪي تازيون ڪوريٽي اسڪين رپورٽن ۾ نوٽ ڪيل آھن.
    • مسلسل انٽيگريشن سسٽم صرف ڪلانگ/lld استعمال ڪندي سڀني هيڊ برانچ ٽيسٽ کي انجام ڏيڻ لاءِ تبديل ڪيو آهي. جڏهن RISC-V لاءِ جاچ ڪري رهيا آهيو، هڪ مڪمل ڊسڪ تصوير جي ٺهڻ کي يقيني بڻايو وڃي ٿو QEMU ۾ هلندڙ ٽيسٽن لاءِ OpenSBI استعمال ڪندي. تصويرون ۽ پاور پي سي 64 ورچوئل مشينن جي جاچ لاءِ نوان ڪم شامل ڪيا ويا (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • ڪم جاري آهي Kyua ٽيسٽ سوٽ کي بندرگاهن (devel/kyua) کان بنيادي سسٽم ڏانهن منتقل ڪرڻ لاءِ مسئلا حل ڪرڻ لاءِ (پيڪيج تمام سست نصب ٿيل آهن) جيڪي پيدا ٿين ٿا جڏهن Kyua استعمال ڪندي نئين اڏاوتن تي، ترقي جنهن لاءِ ايموليٽر استعمال ڪندي ڪيو وڃي ٿو يا FPGA. بنيادي سسٽم ۾ انضمام خاص طور تي ايمبيڊڊ پليٽ فارمن جي جاچ کي آسان بڻائي ڇڏيندو ۽ مسلسل انٽيگريشن سسٽم سان انٽرفيس.
    • نيٽ ورڪ پل ڊرائيور جي ڪارڪردگي کي بهتر ڪرڻ لاء هڪ منصوبو شروع ڪيو ويو آهي if_bridge، جيڪو اندروني ڊيٽا کي بند ڪرڻ لاءِ هڪ واحد ميوٽڪس استعمال ڪري ٿو، جيڪو هڪ نيٽ ورڪ ۾ متحد جيل ماحول يا مجازي مشينن جي وڏي تعداد سان سسٽم تي گهربل ڪارڪردگي حاصل ڪرڻ جي اجازت نٿو ڏئي. هن اسٽيج تي، تجربا شامل ڪيا ويا آهن ڪوڊ ۾ رجعتن کي روڪڻ لاءِ تالي سان ڪم ڪرڻ جي جديديت دوران. ConcurrencyKit استعمال ڪرڻ جو امڪان ڊيٽا جي منتقلي هينڊلر (bridge_input()، bridge_output()، bridge_forward()، ...) کي برابر ڪرڻ لاءِ غور ڪيو پيو وڃي.
    • ھڪڙو نئون sigfastblock سسٽم ڪال شامل ڪيو ويو آھي ھڪڙي سلسلي کي اجازت ڏيڻ جي اجازت ڏيڻ لاءِ ميموري جي ھڪڙي بلاڪ کي فاسٽ سگنل ھينڊلر لاءِ استثنيٰ ھينڊلر جي ڪارڪردگي کي بهتر ڪرڻ لاءِ.
    • ڪرنل ايل ايس اي (وڏي سسٽم ايڪسٽينشن) ايٽمي هدايتن لاءِ سپورٽ شامل ڪري ٿو ARMv8.1 سسٽم جي مدد سان. اهي هدايتون گهربل آهن ڪارڪردگي بهتر ڪرڻ لاءِ جڏهن Cavium ThunderX2 ۽ AWS Graviton 2 بورڊن تي هلن ٿيون. شامل ڪيل تبديليون LSE سپورٽ کي ڳولين ٿيون ۽ متحرڪ طور تي انهن جي بنياد تي ايٽمي عمل کي فعال ڪن ٿيون. جاچ دوران، LSE جي استعمال ان کي ممڪن بڻايو ته پروسيسر جي وقت کي گھٽائڻ ۾ خرچ ڪيو ويو جڏهن ڪنيل کي گڏ ڪرڻ ۾ 15٪.
    • ڪارڪردگي جي اصلاح ڪئي وئي آهي ۽ ٽول ڪٽ جي ڪارڪردگي کي وڌايو ويو آهي ELF فارميٽ ۾ قابل عمل فائلن لاءِ.
      شامل ڪيل سپورٽ DWARF ڊيبگنگ معلومات کي ڪيش ڪرڻ لاءِ، حل ٿيل مسئلا elfcopy/objcopy افاديت ۾، شامل ڪيا ويا DW_AT_ranges پروسيسنگ،
      readelf PROTMAX_DISABLE، STKGAP_DISABLE ۽ WXNEEDED جھنڊن کي ڊيڪوڊ ڪرڻ جي صلاحيت کي لاڳو ڪري ٿو، گڏوگڏ Xen ۽ GNU Build-ID.

  • حفاظت
    • Azure بادل ماحول ۾ FreeBSD جي ڪارڪردگي کي بهتر ڪرڻ لاء، ڪم جاري آهي HyperV Socket ميڪانيزم لاءِ مدد مهيا ڪرڻ لاءِ، جيڪو نيٽ ورڪ قائم ڪرڻ کان سواءِ مهمان سسٽم ۽ ميزبان ماحول جي وچ ۾ رابطي لاءِ ساکٽ انٽرفيس جي استعمال جي اجازت ڏئي ٿو.
    • ڪم جاري آهي فري بي ايس ڊي جي ورجائي سگهندڙ بلڊز مهيا ڪرڻ لاءِ، انهي کي يقيني بڻائڻ لاءِ ته سسٽم جي اجزاء جون ايگزيڪيوٽيبل فائلون مڪمل طور تي اعلانيل سورس ڪوڊ مان مرتب ڪيون ويون آهن ۽ ان ۾ غير معمولي تبديليون شامل نه آهن.
    • انفرادي عملن جي سطح تي اضافي تحفظ واري ميڪانيزم (ASLR، PROT_MAX، اسٽيڪ گپ، W+X ميپنگ) جي شموليت کي ڪنٽرول ڪرڻ جي صلاحيت elfctl افاديت ۾ شامل ڪئي وئي آهي.
  • اسٽوريج ۽ فائل سسٽم
    • ڪم جاري آهي NFS کي TLS 1.3 جي بنياد تي هڪ انڪرپٽ ٿيل ڪميونيڪيشن چينل تي هلائڻ جي قابليت تي عمل ڪرڻ جي بجاءِ Kerberos (sec=krb5p موڊ)، جيڪو صرف RPC پيغامن کي انڪرپٽ ڪرڻ تائين محدود آهي ۽ صرف سافٽ ويئر ۾ لاڳو ٿئي ٿو. نئين عمل درآمد هارڊويئر ايڪسلريشن کي فعال ڪرڻ لاءِ ڪنيل جي مهيا ڪيل TLS اسٽيڪ استعمال ڪري ٿي. TLS ڪوڊ مٿان NFS جاچ لاءِ لڳ ڀڳ تيار آهي، پر اڃا تائين ڪم جي ضرورت آهي دستخط ٿيل ڪلائنٽ سرٽيفڪيٽن کي سپورٽ ڪرڻ ۽ ڪرنل TLS اسٽيڪ کي ترتيب ڏيڻ لاءِ NFS ڊيٽا موڪلڻ لاءِ (حاصل ڪرڻ لاءِ پيچ اڳ ۾ ئي تيار آهن).
  • هارڊويئر سپورٽ
    • ڪم جاري آهي چيني x86 CPU Hygon لاءِ سپورٽ شامل ڪرڻ لاءِ AMD ٽيڪنالاجي جي بنياد تي؛
    • CheriBSD جي حصي جي طور تي، ريسرچ پروسيسر آرڪيٽيڪچر لاءِ فري بي ايس ڊي جو هڪ فورڪ چيري (Capability Hardware Enhanced RISC Instructions)، ARM موريلو پروسيسر لاءِ سپورٽ لاڳو ٿيڻ جاري آهي، جيڪو ڪئپسيڪم پروجيڪٽ سيڪيورٽي ماڊل جي بنياد تي CHERI ميموري رسائي ڪنٽرول سسٽم کي سپورٽ ڪندو. موريلو چپ رٿابندي ڪري رهيا آهن 2021 ۾ رليز. ڪم في الحال Arm Neoverse N1 پليٽ فارم لاءِ سپورٽ شامل ڪرڻ تي مرکوز آهي جيڪو موريلو کي طاقت ڏئي ٿو. RISC-V فن تعمير لاءِ CheriBSD جو هڪ ابتدائي بندرگاهه پيش ڪيو ويو آهي. CheriBSD ترقي جاري آهي CHERI ريفرنس پروٽوٽائپ لاءِ MIPS64 آرڪيٽيڪچر جي بنياد تي.
    • فري بي ايس ڊي پورٽنگ 64-bit SoC NXP LS1046A لاءِ جاري آهي ARMv8 Cortex-A72 پروسيسر تي ٻڌل هڪ مربوط نيٽ ورڪ پيڪيٽ پروسيسنگ ايڪسلريشن انجڻ سان، 10 Gb Ethernet، PCIe 3.0، SATA 3.0 ۽ USB 3.0. في الحال، ڊرائيور QorIQ ۽ LS1046A، GPIO، QorIQ LS10xx AHCI، VF610 I2C، Epson RX-8803 RTC، QorIQ LS10xx SDHCI تيار ڪيا پيا وڃن مکيه فري بي ايس ڊي جي جوڙجڪ ۾ منتقلي لاءِ.
    • ena ڊرائيور کي ورزن 2.1.1 ۾ اپڊيٽ ڪيو ويو آهي ENAv2 (لچڪدار نيٽ ورڪ اڊاپٽر) نيٽ ورڪ ايڊاپٽرن جي ٻئين نسل جي مدد سان جيڪي ايلاسٽڪ ڪمپيوٽ ڪلائوڊ (EC2) انفراسٽرڪچر ۾ استعمال ڪيا ويا آهن ته جيئن EC2 نوڊس جي وچ ۾ 25 Gb/ جي رفتار تي ڪميونيڪيشن منظم ڪن. ايس. ENA 2.2.0 تي هڪ تازه ڪاري تيار ڪئي پئي وڃي.
    • پاور پي سي 64 پليٽ فارم لاءِ فري بي ايس ڊي پورٽ ۾ واڌارو جاري آهي. IBM POWER8 ۽ POWER9 پروسيسرز سان سسٽم تي معيار جي ڪارڪردگي مهيا ڪرڻ تي ڌيان ڏنو ويو آهي. رپورٽنگ جي عرصي دوران، FreeBSD-CURRENT کي GCC جي بدران LLVM/Clang 10.0 مرتب ڪندڙ ۽ lld لنڪر استعمال ڪرڻ لاءِ منتقل ڪيو ويو. ڊفالٽ طور، powerpc64 سسٽم ELFv2 ABI استعمال ڪن ٿا ۽ ELFv1 ABI لاءِ سپورٽ بند ڪئي وئي آهي. FreeBSD-STABLE اڃا تائين gcc 4.2.1 آهي. virtio، aacraid ۽ ixl ڊرائيورن جا مسئلا حل ڪيا ويا آهن. پاور پي سي 64 سسٽم تي اهو ممڪن آهي ته QEMU هلائڻ بغير وڏن صفحن جي مدد جي.
    • ڪم جاري آهي RISC-V فن تعمير لاءِ سپورٽ لاڳو ڪرڻ لاءِ. ان جي موجوده شڪل ۾، فري بي ايس ڊي اڳ ۾ ئي ڪاميابيءَ سان سي فائيو هائيف انليشڊ بورڊ تي بوٽ ڪري ٿي، جنهن لاءِ ڊرائيور تيار ڪيا ويا آهن.
      UART، SPI ۽ PRCI، OpenSBI ۽ SBI 0.2 firmware کي سپورٽ ڪري ٿو. رپورٽنگ جي عرصي دوران، ڪم GCC کان ڪلانگ ۽ ايل ايل ڊي ڏانهن لڏپلاڻ تي ڌيان ڏنو ويو.

  • ايپليڪيشنون ۽ پورٽ سسٽم
    • فري بي ايس ڊي بندرگاهن جو مجموعو 39 هزار بندرگاهن جي حد کي پار ڪري چڪو آهي، غير بند ٿيل پي آرز جو تعداد 2400 کان ٿورو مٿي آهي، جن مان 640 پي آرز اڃا تائين ترتيب نه ڏنيون ويون آهن. رپورٽنگ جي عرصي دوران 8146 ڊولپرز مان 173 تبديليون ڪيون ويون. چار نون شرڪت ڪندڙن کي ڪم ڪندڙ حق مليا (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). شامل ڪيو ويو USES=qca پرچم ۽ هٽايو ويو USES=zope پرچم (Python 3 سان مطابقت نه هجڻ جي ڪري). Python 2.7 کي بندرگاهن جي وڻ مان هٽائڻ لاءِ ڪم جاري آهي - سڀ Python 2-based بندرگاهن کي Python 3 ڏانهن پورٽ ڪيو وڃي يا هٽايو ويندو. pkg پيڪيج مئنيجر کي اپڊيٽ ڪيو ويو آهي رليز ڪرڻ لاءِ 1.13.2.
    • اپڊيٽ ٿيل گرافڪس اسٽيڪ اجزاء ۽ xorg لاڳاپيل بندرگاهن.
      X.org سرور کي ورزن 1.20.8 ۾ اپڊيٽ ڪيو ويو آهي (اڳ ۾ 1.18 برانچ تي موڪليو ويو)، جنهن FreeBSD کي ڊفالٽ استعمال ڪرڻ جي اجازت ڏني udev/evdev پس منظر ان پٽ ڊوائيسز کي سنڀالڻ لاءِ. ميسا پيڪيج کي ڊفالٽ طور DRI3 جي بدران DRI2 ايڪسٽينشن استعمال ڪرڻ لاءِ تبديل ڪيو ويو آهي. ڪم جاري آهي گرافڪس ڊرائيورن، ان پٽ ڊيوائس اسٽيڪ، ۽ drm-kmod حصن کي رکڻ لاءِ (هڪ بندرگاهه جيڪو ڪم ڪري ٿو amdgpu، i915 ۽ radeon DRM ماڊيولز، linuxkpi فريم ورڪ کي لينڪس ڪنيل جي سڌو رينڊرنگ مئنيجر سان مطابقت لاءِ استعمال ڪندي) تازه ترين.

    • KDE پلازما ڊيسڪ ٽاپ، KDE فريم ورڪ، KDE ايپليڪيشنون ۽ Qt کي تازو رکيو ويو آهي ۽ تازه ترين رليز تائين اپڊيٽ ڪيو ويو آهي. بندرگاهن ۾ هڪ نئين ايپليڪيشن kstars (اسٽار ائٽلس) شامل ڪئي وئي آهي.
    • xfwm4 ونڊو مئنيجر ۾ رجعت پسند تبديلين کي ختم ڪرڻ لاءِ ڪم ڪيو ويو آهي جيڪي Xfce کي ورجن 4.14 کي اپڊيٽ ڪرڻ کان پوءِ ظاهر ٿيون (مثال طور، نمونا ظاهر ٿيا جڏهن ونڊوز کي سجايو).
    • وائن پورٽ کي وائن 5.0 ڇڏڻ لاءِ اپڊيٽ ڪيو ويو آهي (اڳ ۾ 4.0.3 پيش ڪيو ويو هو).
    • ورجن 1.14 سان شروع ڪندي، گو ٻولي ڪمپلر ARM64 آرڪيٽيڪچر لاءِ سرڪاري مدد شامل ڪئي FreeBSD 12.0 لاءِ.
    • OpenSSH بنيادي سسٽم تي اپڊيٽ ڪيو ويو آهي 7.9p1 ڇڏڻ لاء.
    • sysctlmibinfo2 لائبريري لاڳو ڪئي وئي آهي ۽ بندرگاهن ۾ رکيل آهي (devel/libsysctlmibinfo2)، sysctl MIB تائين رسائي حاصل ڪرڻ ۽ sysctl نالن کي اعتراض جي سڃاڻپ ڪندڙ (OIDs) ۾ ترجمو ڪرڻ لاءِ هڪ API مهيا ڪري ٿي.
    • هڪ تقسيم اپڊيٽ ٺاهي وئي آهي نوماڊ بي ايس ڊي 1.3.1، جيڪو يو ايس بي ڊرائيو مان پورٽبل ڊيسڪ ٽاپ بوٽبل جي طور تي استعمال لاءِ ٺاهيل FreeBSD جو ايڊيشن آهي. گرافڪ ماحول ونڊو مئنيجر تي ٻڌل آهي Openbox. ڊرائيو نصب ڪرڻ لاء استعمال ڪيو ڊي ايس بي ايم ڊي (ماؤنٽنگ CD9660, FAT, HFS+, NTFS, Ext2/3/4 سپورٽ آهي)، وائرليس نيٽ ورڪ کي ترتيب ڏيڻ لاءِ - wifimgr، ۽ حجم کي ڪنٽرول ڪرڻ لاءِ - ڊي ايس بي ميڪر.
    • شروع ڪيو ڪم جيل جي ماحول جي مينيجر لاء مڪمل دستاويز لکڻ تي برتن. پوٽ 0.11.0 ڇڏڻ لاءِ تيار ڪيو پيو وڃي، جنهن ۾ نيٽ ورڪ اسٽيڪ کي منظم ڪرڻ جا اوزار شامل هوندا.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو