ለ2020 የመጀመሪያ ሩብ የፍሪቢኤስዲ ልማት ሪፖርት

የታተመ ከጥር እስከ መጋቢት 2020 ድረስ የፍሪቢኤስዲ ፕሮጀክት ልማት ሪፖርት ያድርጉ። ከለውጦቹ መካከል የሚከተሉትን ልብ ማለት እንችላለን-

  • አጠቃላይ እና የስርዓት ጥያቄዎች
    • ከFreeBSD-CURRENT ምንጭ ዛፍ የጂሲሲ ማቀናበሪያ ስብስብ፣እንዲሁም ጥቅም ላይ ያልዋለው gperf፣ gcov እና gtc (devichetree compiler) መገልገያዎች ተወግዷል። ክላንግን የማይደግፉ ሁሉም መድረኮች ከወደቦች የተጫኑ ውጫዊ የግንባታ መሳሪያዎችን ወደመጠቀም ተለውጠዋል። የመሠረት ስርዓቱ ጊዜው ያለፈበት የጂሲሲ 4.2.1 ልቀት ነው፣ እና የአዳዲስ ስሪቶች ውህደት 4.2.2 ወደ GPLv3 ፍቃድ በመሸጋገሩ ምክንያት ለFreeBSD ቤዝ አካላት አግባብ አይደለም ተብሎ ተወስዷል። GCC 9ን ጨምሮ አሁን ያሉ የGCC ልቀቶች አሁንም ከጥቅሎች እና ወደቦች ሊጫኑ ይችላሉ።
    • የሊኑክስ አካባቢ ኢምዩሽን መሠረተ ልማት (Linuxulator) ለመልእክት ፋይል ስርዓት ጥሪ፣ TCP_CORK ሁነታ (ለ nginx የሚፈለግ) እና MAP_32BIT ባንዲራ (በሞኖ ከኡቡንቱ ባዮኒክ ጥቅሎችን በማስጀመር ችግሩን ይፈታል)። ከ2.30 (ለምሳሌ ከ CentOS 8) glibc ሲጠቀሙ የዲኤንኤስ መፍታት ችግሮች ተፈትተዋል።
      ቀጣይነት ያለው ውህደት መሠረተ ልማት ሊኑክስን ለመደገፍ በኮዱ ላይ የተደረጉ ማሻሻያዎችን ለመፈተሽ LTP (Linux Testing Project) ስራዎችን Linuxulator ን የማስኬድ ችሎታ ይሰጣል። ወደ 400 የሚጠጉ ሙከራዎች አልተሳኩም እና መጠገንን ይፈልጋሉ (አንዳንድ ስህተቶች የተከሰቱት በውሸት አዎንታዊ ነው ፣ አንዳንዶቹ ጥቃቅን ጥገናዎች ይፈልጋሉ ፣ ግን ሌሎች ለማስተካከል ለአዲስ የስርዓት ጥሪዎች ድጋፍ የሚያስፈልጋቸው ሌሎች አሉ)። የሊኑኑሌተር ኮድን ለማጽዳት እና ማረም ለማቃለል ስራ ተሰርቷል። ለተራዘሙ ባህሪያት እና የፌክሴቭ ሲስተም ጥሪ ድጋፍ ያላቸው ጥገናዎች ተዘጋጅተዋል፣ ግን ገና አልተገመገሙም።

    • የምንጭ ኮዶችን ከማዕከላዊ ምንጭ ቁጥጥር ሥርዓት ለማሸጋገር የተቋቋመው የሥራ ቡድን ስብሰባ Git ወደ ያልተማከለ ሥርዓት ማፍረስ ቀጥሏል። የስደት ፕሮፖዛል ያለው ዘገባ በዝግጅት ላይ ነው።
    • В rtld (የአሂድ ማገናኛ) የተሻሻለ ቀጥታ የማስፈጸሚያ ሁነታ ("/libexec/ld-elf.so.1 {path} {arguments}")።
    • የሲዝካለር ሲስተምን በመጠቀም የFreBSD ከርነል ግራ መጋባት የመሞከር ፕሮጀክት መስራቱን ቀጥሏል። በሪፖርት ማቅረቢያ ጊዜ ውስጥ በኔትወርኩ ቁልል ውስጥ ያሉ ችግሮች እና ከፋይል ገላጭ ሰንጠረዦች ጋር አብሮ ለመስራት syzkaller ን በመጠቀም ተሰርዘዋል። የስህተት ምርመራውን ተከትሎ፣ ማረም ቀላል ለማድረግ በ SCTP ቁልል ላይ ለውጦች ተጨምረዋል። ሊሆኑ የሚችሉ ድጋሚ ለውጦችን ለመለየት በጭንቀት2 ስብስብ ላይ የተጨመሩ ሕጎች። copy_file_range() __realpathat() እና Capsicum ንዑስ ስርዓት ጥሪዎችን ጨምሮ ለአዲስ የስርዓት ጥሪዎች fuzz ሙከራ ተጨማሪ ድጋፍ። ስራው የሊኑክስ ኢሜሌሽን ንብርብሩን በፉዝ ሙከራ ለመሸፈን ቀጥሏል። በቅርብ ጊዜ የሽፋን ቅኝት ሪፖርቶች ላይ የተስተዋሉ ስህተቶችን መርምረን አስወግደናል።
    • ያልተቋረጠ የውህደት ስርዓት ሁሉንም የጭንቅላት ቅርንጫፍ ሙከራዎች ክላንግ/ኤልዲ በመጠቀም ብቻ ወደ መፈጸም ተቀይሯል። ለ RISC-V ሲሞከር የሙሉ የዲስክ ምስል መፈጠር በQEMU ውስጥ OpenSBI ን በመጠቀም ሙከራዎችን ለማካሄድ ይረጋገጣል። ምስሎችን እና powerpc64 ቨርችዋል ማሽኖችን (FreeBSD-head-powerpc64-images፣ FreeBSD-head-powerpc64-testvm) ለመሞከር አዳዲስ ተግባራትን ታክለዋል።
    • አዳዲስ የሕንፃ ግንባታዎች ላይ ኪዩአን በሚጠቀሙበት ጊዜ የሚነሱ ችግሮችን ለመፍታት ከወደቦች (devel/kyua) ወደ ቤዝ ሲስተም የኪዩአ ሙከራ ስብስብ ለማስተላለፍ እየተሰራ ነው። FPGA ወደ መሰረታዊ ስርዓቱ መቀላቀል የተከተቱ መድረኮችን እና ከተከታታይ ውህደት ስርዓቶች ጋር በይነገፅ መሞከርን በእጅጉ ያቃልላል።
    • የኔትዎርክ ድልድይ ሾፌሮችን አፈፃፀም ለማሳደግ ፕሮጀክት ተጀመረ ድልድይ ከሆነ, ውስጣዊ መረጃን ለመቆለፍ አንድ ነጠላ ሙቴክስ የሚጠቀም, ይህም በአንድ አውታረ መረብ ውስጥ የተዋሃዱ ብዛት ያላቸው የእስር ቤቶች ወይም ቨርቹዋል ማሽኖች ባሉባቸው ስርዓቶች ላይ የሚፈለገውን አፈጻጸም ማሳካት አይፈቅድም. በዚህ ደረጃ, ከመቆለፊያዎች ጋር በመሥራት ዘመናዊነት በሚፈጠርበት ጊዜ ድግግሞሾችን ለመከላከል ሙከራዎች ወደ ኮድ ተጨምረዋል. የመረጃ ማስተላለፊያ ተቆጣጣሪዎችን (bridge_input() bridge_output() bridge_forward() ...)ን ለማዛመድ ConcurrencyKit የመጠቀም እድሉ እየታሰበ ነው።
    • ልዩ ተቆጣጣሪዎችን አፈጻጸም ለማሻሻል ለፈጣን ሲግናል ተቆጣጣሪ የማህደረ ትውስታ እገዳን እንዲገልጽ ክር ለመፍቀድ አዲስ የሲግፋስትብሎክ ሲስተም ጥሪ ታክሏል።
    • ከርነሉ ለኤልኤስኢ (ትልቅ ሲስተም ማራዘሚያ) የአቶሚክ መመሪያዎች በ ARMv8.1 ሲስተሞች ድጋፍን ይጨምራል። እነዚህ መመሪያዎች በ Cavium ThunderX2 እና AWS Graviton 2 ቦርዶች ላይ ሲሰሊ አፈፃፀሙን ለማሻሻል ይፈለጋሉ ። የተጨመሩ ለውጦች የኤልኤስኢን ድጋፍ ያገኙ እና በእነሱ ላይ በመመስረት የአቶሚክ ትግበራን በተለዋዋጭ መንገድ ያነቃሉ። በሙከራ ጊዜ የኤልኤስኢ አጠቃቀም አስኳል በሚሰበሰብበት ጊዜ የሚያጠፋውን ፕሮሰሰር በ15 በመቶ ለመቀነስ አስችሏል።
    • የአፈጻጸም ማሻሻያ ተካሂዷል እና የመሳሪያ ኪቱ ተግባራዊነት በኤልኤፍ ቅርጸት ሊተገበሩ ለሚችሉ ፋይሎች ተዘርግቷል።
      የDWARF ማረም መረጃን ለመሸጎጥ ታክሏል፣ በelfcopy/objcopy መገልገያዎች ውስጥ ያሉ ችግሮችን ፈትቷል፣ የDW_AT_ሬንጅስ ሂደት ታክሏል፣
      readelf የPROTMAX_DISABLE፣ STKGAP_DISABLE እና WXNEEDED ባንዲራዎችን እንዲሁም Xen እና GNU Build-IDን የመግለጽ ችሎታን ተግባራዊ ያደርጋል።

  • ደህንነት
    • በ Azure ደመና አካባቢዎች የFreeBSD አፈጻጸምን ለማሻሻል ለሃይፐር ቪ ሶኬት አሰራር ድጋፍ ለመስጠት እየተሰራ ነው፣ይህም ኔትወርክን ሳያቋቁሙ በእንግዳው ስርዓት እና በአስተናጋጅ አካባቢ መካከል መስተጋብር ለመፍጠር የሶኬት በይነገጽ መጠቀም ያስችላል።
    • ሊደገሙ የሚችሉ የፍሪቢኤስዲ ግንባታዎችን ለማቅረብ እየተሰራ ሲሆን ይህም የስርዓት ክፍሎቹ ተፈፃሚ የሚሆኑ ፋይሎች ከታወጁት የምንጭ ኮዶች በትክክል መዘጋጀታቸውን እና ያልተለመዱ ለውጦችን እንዳያካትት ለማረጋገጥ ያስችላል።
    • ተጨማሪ የመከላከያ ዘዴዎችን (ASLR, PROT_MAX, የቁልል ክፍተት, W + X ካርታ) በግለሰብ ሂደቶች ደረጃ ማካተት የመቆጣጠር ችሎታ ወደ elfctl መገልገያ ተጨምሯል.
  • የማከማቻ እና የፋይል ስርዓቶች
    • NFS በTLS 1.3 ላይ የተመሰረተ ኢንክሪፕትድ የተደረገ የግንኙነት ቻናል የKerberos (ሰከንድ=krb5p ሞድ) ከመጠቀም ይልቅ የ RPC መልዕክቶችን ብቻ ለማመስጠር የተገደበ እና በሶፍትዌር ላይ ብቻ ተግባራዊ ለማድረግ የሚያስችል ሾል በመሰራት ላይ ነው። አዲሱ ትግበራ የሃርድዌር ማጣደፍን ለማንቃት በከርነል የቀረበው TLS ቁልል ይጠቀማል። በTLS ላይ ያለው የNFS ኮድ ለሙከራ ዝግጁ ነው ማለት ይቻላል፣ ነገር ግን አሁንም የተፈረመ የደንበኛ ሰርተፊኬቶችን ለመደገፍ እና የ NFS ውሂብን ለመላክ የከርነል TLS ቁልል ለማላመድ ስራን ይፈልጋል (የመቀበል ፕላቶች ቀድሞውኑ ዝግጁ ናቸው።)
  • የሃርድዌር ድጋፍ
    • በ AMD ቴክኖሎጂዎች ላይ በመመስረት ለቻይንኛ x86 CPU Hygon ድጋፍ ለመጨመር እየተሰራ ነው;
    • እንደ CheriBSD አካል፣ ለምርምር ፕሮሰሰር አርክቴክቸር የ FreeBSD ሹካ ቸሪ (የአቅም ሃርድዌር የተሻሻለ RISC መመሪያዎች)፣ የ ARM Morello ፕሮሰሰር ድጋፍ መተግበሩን ቀጥሏል፣ ይህም በ Capsicum ፕሮጀክት የደህንነት ሞዴል ላይ የተመሰረተውን የ CHERI ማህደረ ትውስታ መዳረሻ ቁጥጥር ስርዓትን ይደግፋል። Morello ቺፕ እያቀዱ ነው። በ 2021 መልቀቅ ። ሾል በአሁኑ ጊዜ Morelloን ለሚያንቀሳቅሰው የ Arm Neoverse N1 መድረክ ድጋፍን በመጨመር ላይ ያተኮረ ነው። ለRISC-V አርክቴክቸር የቼሪቢኤስዲ የመጀመሪያ ወደብ ቀርቧል። በ MIPS64 አርክቴክቸር ላይ ለተመሰረተው የCHERI ማጣቀሻ ምሳሌ የCheriBSD ልማት ይቀጥላል።
    • የፍሪቢኤስዲ ማጓጓዣ ለ64-ቢት 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 ወደ ዋናው የ FreeBSD ቅንብር ለመሸጋገር በዝግጅት ላይ ናቸው።
    • የኢና ሾፌር ወደ ስሪት 2.1.1 ተዘምኗል ለሁለተኛው ትውልድ ENAv2 (Elastic Network Adapter) የኔትወርክ አስማሚዎች በ Elastic Compute Cloud (EC2) መሠረተ ልማት ውስጥ በ EC2 ኖዶች መካከል ግንኙነትን እስከ 25 Gb/ ፍጥነት ለማደራጀት ይጠቅማሉ። ኤስ. የኢዜአ 2.2.0 ማሻሻያ እየተዘጋጀ ነው።
    • ለpowerpc64 መድረክ የ FreeBSD ወደብ ማሻሻያዎች ቀጥለዋል። ትኩረቱ ከ IBM POWER8 እና POWER9 ፕሮሰሰሮች ጋር በሲስተሞች ላይ ጥራት ያለው አፈፃፀም በማቅረብ ላይ ነው። በሪፖርቱ ወቅት፣ FreeBSD-CURRENT ከጂሲሲ ይልቅ LLVM/Clang 10.0 compiler እና ld linkerን ለመጠቀም ተላልፏል። በነባሪ፣ powerpc64 ሲስተሞች ELFv2 ABIን ይጠቀማሉ እና የ ELFv1 ABI ድጋፍ ተቋርጧል። FreeBSD-STABLE አሁንም gcc 4.2.1 አለው። ከ virtio ፣ acraid እና ixl አሽከርካሪዎች ጋር ያሉ ችግሮች ተፈትተዋል ። በPowerpc64 ስርዓቶች ላይ QEMU ያለ Huge Pages ድጋፍ ማሄድ ይቻላል።
    • ለRISC-V አርክቴክቸር ድጋፍን ተግባራዊ ለማድረግ ሼል ቀጥሏል። አሁን ባለው ቅጽ፣ FreeBSD ቀድሞውኑ በተሳካ ሁኔታ በሲፊቭ ሂፊቭ ያልተለቀቀ ቦርድ ላይ ቡትቷል፣ ለዚህም አሽከርካሪዎች ተዘጋጅተዋል።
      UART፣ SPI እና PRCI፣ OpenSBI እና SBI 0.2 firmwareን ይደግፋል። በሪፖርቱ ወቅት፣ ከጂሲሲ ወደ ክላንግ እና ኤልዲ ፍልሰት ላይ ያተኮረ ነበር።

  • መተግበሪያዎች እና ወደቦች ስርዓት
    • የ FreeBSD ወደቦች ስብስብ የ 39 ሺህ ወደቦችን ገደብ አልፏል, ያልተዘጉ የ PRs ቁጥር በትንሹ ከ 2400 ይበልጣል, ከነዚህም 640 PRs እስካሁን አልተደረደሩም. በሪፖርቱ ወቅት ከ8146 ገንቢዎች 173 ለውጦች ተደርገዋል። አራት አዳዲስ ተሳታፊዎች የኮሚቴ መብቶችን ተቀብለዋል (ሎይክ ባርቶሌቲ፣ ሚካኤል ኡራንካር፣ ካይል ኢቫንስ፣ ሎሬንዞ ሳልቫዶር)። USES=qca ባንዲራ ታክሏል እና USES=zope ባንዲራ ተወግዷል (ከፓይዘን 3 ጋር ተኳሃኝ ባለመሆኑ)። Python 2.7 ን ከወደቦች ዛፍ ለማስወገድ እየተሰራ ነው - ሁሉም Python 2-based ወደቦች ወደ Python 3 መላክ አለባቸው ወይም ይወገዳሉ። የpkg ጥቅል አስተዳዳሪ 1.13.2 ለመልቀቅ ተዘምኗል።
    • የዘመነ የግራፊክስ ቁልል ክፍሎች እና xorg ተዛማጅ ወደቦች።
      የ X.org አገልጋይ ወደ ስሪት 1.20.8 ተዘምኗል (ቀደም ሲል በ 1.18 ቅርንጫፍ ላይ ተልኳል) ይህም የፍሪቢኤስዲ የግቤት መሳሪያዎችን ለመጠቀም udev/evdev backend እንዲጠቀም አስችሎታል። የሜሳ ጥቅል በነባሪ ከ DRI3 ይልቅ የDRI2 ቅጥያውን ለመጠቀም ተቀይሯል። የግራፊክስ ሾፌሮችን፣ የግብዓት መሳሪያ ቁልል እና ድሬም-ኪሞድ አካላትን (የኤምዲጂፑን፣ i915 እና ሬድዮን ዲአርኤም ሞጁሎችን ለመስራት የሚያስችል ወደብ፣ የሊኑክስክፒ ማዕቀፍን በመጠቀም ከሊኑክስ ከርነል ቀጥተኛ ዳይሬክተሩ ጋር ተኳሃኝነት እንዲኖር ለማድረግ እየተሰራ ነው። እስካሁን.

    • የKDE ፕላዝማ ዴስክቶፕ፣ KDE Frameworks፣ KDE አፕሊኬሽኖች እና Qt እንደተዘመኑ እና ወደ የቅርብ ጊዜ ልቀቶች ተዘምነዋል። አዲስ መተግበሪያ kstars (star atlas) ወደ ወደቦች ታክሏል።
    • Xfce ን ወደ ስሪት 4 ካዘመነ በኋላ በሚታየው የ xfwm4.14 መስኮት አስተዳዳሪ ላይ የድጋሚ ለውጦችን ለማስወገድ ሾል ተሰርቷል (ለምሳሌ መስኮቶችን ሲያጌጡ ቅርሶች ታዩ)።
    • የወይኑ ወደብ ወይን 5.0 ለመልቀቅ ተዘምኗል (ከዚህ ቀደም 4.0.3 ቀርቧል)።
    • ከስሪት 1.14 ጀምሮ፣የጎ ቋንቋ አዘጋጅ ለFreeBSD 64 ARM12.0 architecture ይፋዊ ድጋፍ አክሏል።
    • OpenSSH በመሠረታዊ ስርዓቱ ላይ 7.9p1 ለመልቀቅ ዘምኗል።
    • የ sysctlmibinfo2 ቤተ-መጽሐፍት ተተግብሯል እና በወደቦች (devel/libsysctlmibinfo2) ውስጥ ተቀምጧል፣ የ sysctl MIBን ለመድረስ ኤፒአይ ያቀርባል እና የሲኤስክትል ስሞችን ወደ የነገር መለያዎች (OIDs) ለመተርጎም።
    • የስርጭት ዝማኔ ተፈጥሯል። ኖማዲቢኤስዲ 1.3.1እንደ ተንቀሳቃሽ ዴስክቶፕ ከዩኤስቢ አንፃፊ ሊነሳ የሚችል የፍሪቢኤስዲ እትም ነው። የግራፊክ አካባቢው በመስኮት አስተዳዳሪ ላይ የተመሰረተ ነው ክፍት ሳጥን. ሾፌሮችን ለመጫን ያገለግላል DSBMD (ሲዲ9660 ፣ FAT ፣ HFS+ ፣ NTFS ፣ Ext2/3/4 መጫን ይደገፋል) ፣ ሽቦ አልባ አውታር ለማዋቀር - wifimgrእና ድምጹን ለመቆጣጠር - DSBMixer.
    • ተጀምሯል ሼል ለእስር ቤቱ አካባቢ ሼል አስኪያጅ የተሟላ ሰነዶችን በመጻፍ ላይ ድስት. Pot 0.11.0 ለመልቀቅ እየተዘጋጀ ነው, ይህም የአውታረ መረብ ቁልል ለማስተዳደር መሳሪያዎችን ያካትታል.

ምንጭ: opennet.ru

አስተያየት ያክሉ