FreeBSD Q2019 XNUMX የሂደት ሪፖርት

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

  • አጠቃላይ እና የስርዓት ጥያቄዎች
    • የኮር ቡድኑ የምንጭ ኮድ ከተማከለው የሱቨርሽን ምንጭ ቁጥጥር ስርዓት ወደ ያልተማከለ የጂት ሲስተም የማንቀሳቀስ እድልን ለመመርመር የስራ ቡድን ለማቋቋም ወሰነ።
    • ስርዓቱን በመጠቀም የFriBSD ከርነል የfuzz ሙከራ ተካሂዷል syzkaller እና በርካታ ተለይተው የሚታወቁ ስህተቶች ተስተካክለዋል. ባለ 32-ቢት ከርነል ባላቸው ስርዓቶች ላይ ከ64-ቢት አካባቢ ጋር ተኳሃኝነትን ለማረጋገጥ የቤተ-መጻህፍት ሙከራን ለማሳመር ንብርብር ታክሏል። bhyve ላይ የተመሠረተ ምናባዊ ማሽኖች ውስጥ syzkaller ለማስኬድ ችሎታ ተተግብሯል. በሚቀጥለው ደረጃ የስርዓት ጥሪ ሙከራን ሽፋን ለማስፋት፣ ኤልኤልቪኤም ማጽጃን በመጠቀም ከርነሉን ለመፈተሽ፣ በድብልቅ ፍተሻ ወቅት በሚፈጠር ብልሽት ወቅት የከርነል ክምችቶችን ለማዳን ኔትዱምፕን ይጠቀሙ፣ ወዘተ.
    • የዝሊብ አተገባበርን በከርነል ደረጃ የማዘመን ስራ ተጀምሯል። ለዝሊብ ኮድ የከርነል መዳረሻ፣ የcontrib/zlib ማውጫ ወደ sys/contrib/zlib ተቀይሯል፣ እና የ crc.h ራስጌ ፋይል ከzlib/crc.h ጋር ግጭት እንዳይፈጠርም ተቀይሯል። በዚሊብ እና በንፍተኝ ላይ የሚመረኮዝ የቆዩ ኮድ አጽድቷል። በመቀጠልም ከርነል ከአሮጌው እና ከአዲሱ ዝሊብ ጋር በአንድ ጊዜ የመገንባት ችሎታን ለማቅረብ ታቅዷል ቀስ በቀስ ወደ አዲሱ ስሪት መጨናነቅ;
    • የሊኑክስ አካባቢ ኢምዩሽን መሠረተ ልማት (Linuxulator) ተዘምኗል። እንደ ስትሬስ መገልገያ ላሉ የሊኑክስ ማረም መሳሪያዎች ተጨማሪ ድጋፍ። የ linux-c7-strace ፓኬጅ ወደ ወደቦች ተጨምሯል ፣ይህም ከመደበኛው truss እና ktrace utilities ይልቅ ሊኑክስ ተፈፃሚ የሆኑ ፋይሎችን ለመፈለግ ሊያገለግል ይችላል ፣ይህም የተወሰኑ ሊኑክስ-ተኮር የሆኑ ባንዲራዎችን እና አወቃቀሮችን ገና መፍታት አልቻለም። በተጨማሪም የሊኑክስ-ኤልቲፒ ፓኬጅ ከሊኑክስ የሙከራ ፕሮጄክት ፈጻሚዎች ጋር ተጨምሯል እና ከግሊቢክ አዲስ ስሪቶች ጋር ከተገናኙ ፈጻሚዎች ጋር የተኳሃኝነት ችግሮች ተፈትተዋል ።
    • በ pmap አሠራር ውስጥ የዘገዩ የዋጋ ማሰናከል ስራዎች ትግበራ ወደ ወረፋ ማቀነባበሪያ ስልተ ቀመር ተላልፏል ያለ መቆለፊያዎች የሚሰራ, ይህም ብዙ ቁጥር ያላቸው ትይዩ የካርታ ስራዎችን ሲያከናውን የመለጠጥ ችግሮችን ለመፍታት አስችሏል;
    • የአስፈፃሚው () ቤተሰብ የስርዓት ጥሪዎች በሚከናወኑበት ጊዜ vnodeን የማገድ ዘዴው ተቀይሯል ፣ ይህም ለተመሳሳይ ፋይል (ለምሳሌ) በተመሳሳይ ፋይል (ለምሳሌ ፣ የመሰብሰቢያ ሥራዎችን ከትይዩ ጋር ሲያከናውን) የበለጠ ውጤታማነትን ለማግኘት አስችሎታል ። የማጠናከሪያው ማስነሻ);
  • ደህንነት
    • የBhyve ሃይፐርቫይዘር የእንግዳ አከባቢዎችን የቀጥታ ፍልሰት ከአንድ አስተናጋጅ ወደ ሌላ እና የ Save/Restore ተግባርን ማሻሻሉን ቀጥሏል፣ ይህም የእንግዳውን ስርዓት እንዲቀዘቅዙ፣ ግዛቱን በፋይል እንዲያስቀምጡ እና ከዚያ እንዲቀጥሉ ያስችልዎታል።
    • በlibvdsk ቤተ መፃህፍት በመጠቀም ብሂቭ ለዲስክ ምስሎች በQCOW2 ቅርጸት ድጋፍ አድርጓል። ለመሥራት መጫን ያስፈልገዋል
      በተለየ ሁኔታ የተሻሻለ በlibvdsk ላይ በመመስረት የፋይል ኦፕሬሽን ተቆጣጣሪዎችን ለመጠቀም የተቀየረ የ bhyve ስሪት። በሪፖርቱ ወቅት፣ ሊቢቭድስክ ለአዳዲስ ቅርጸቶች ድጋፍን ማቀናጀትን፣ የተሻሻለ የንባብ እና የመፃፍ አፈጻጸምን እና ለኮፒ-ላይ-ጻፍ ድጋፍን ለማቃለል ስራዎችን አከናውኗል። ከቀሪዎቹ ተግባራት ውስጥ የሊብቪድስክን ወደ ብሂቭ ዋና መዋቅር ማቀናጀት ተጠቅሷል;

    • የትራፊክ መረጃ የሚሰበሰብበት ስርዓት ወደ ወደቦቹ ተጨምሯል።
      ማልትራይልለተንኮል አዘል ኔትዎርክ ጥያቄዎች ወጥመዶችን እንዲፈጥሩ የሚያስችልዎ (IPs እና ጎራዎች ከተከለከሉ መዝገብ ውስጥ ተረጋግጠዋል) እና ስለተገኘ እንቅስቃሴ መረጃን ወደ ማዕከላዊ አገልጋይ ለቀጣይ የማገድ ሙከራዎችን ወይም ትንታኔዎችን መላክ;

    • ጥቃቶችን ለመለየት፣ ምዝግብ ማስታወሻዎችን ለመተንተን እና የፋይል ታማኝነትን ለመከታተል መድረኮች ወደ ወደቦች ተጨምረዋል። ዋዙህ (የኦሴክ ሹካ ከ ጋር ለመዋሃድ ድጋፍ ELK-ቁልል);
  • የአውታረ መረብ ንዑስ ስርዓት
    • የኢና ሾፌር በ EC2 ኖዶች መካከል እስከ 2 Gb/s ፍጥነት ያለው ግንኙነት ለማደራጀት በ Elastic Compute Cloud (EC2) መሠረተ ልማት ውስጥ ጥቅም ላይ የሚውለውን የENAv25 (Elastic Network Adapter) የኔትወርክ አስማሚዎች ሁለተኛውን ትውልድ ለመደገፍ ተዘምኗል። የ NETMAP ድጋፍ ወደ ena ሾፌር ተጨምሯል።
    • FreeBSD HEAD አዲስ የኤምኤምሲ/ኤስዲ ቁልል ይቀበላል፣ በCAM ማዕቀፍ ላይ በመመስረት እና መሳሪያዎችን ከኤስዲአይኦ (ደህንነቱ የተጠበቀ ዲጂታል አይ/ኦ) በይነገጽ ጋር እንዲያገናኙ ያስችልዎታል። ለምሳሌ ኤስዲኦ በዋይፋይ እና ብሉቱዝ ሞጁሎች ውስጥ ለብዙ ሰሌዳዎች ጥቅም ላይ ይውላል፣እንደ Raspberry Pi 3. አዲሱ ቁልል የ CAM በይነገጽ በተጠቃሚ ቦታ ላይ ካሉ መተግበሪያዎች የኤስዲ ትዕዛዞችን ለመላክ እንዲጠቀም ያስችለዋል፣ይህም መሳሪያ ለመፍጠር ያስችላል። በተጠቃሚ ደረጃ የሚሰሩ አሽከርካሪዎች. በ FullMAC ሁነታ ለሚሰሩ የብሮድኮም ሽቦ አልባ ቺፖች ሾፌሮችን የመፍጠር ስራ ተጀምሯል (በቺፑ በኩል የራሱ የስርዓተ ክወናውን የ 802.11 ሽቦ አልባ ቁልል አተገባበር ይመስላል)።
    • NFSv4.2 (RFC-7862) ለ FreeBSD ተግባራዊ ለማድረግ እየተሰራ ነው። አዲሱ የ NFS ስሪት ለ posix_fadvise ፣ posix_fallocate ተግባራት ፣ SEEKHOLE/SEEKDATA በ lseek ውስጥ እና የአንድ ፋይል ክፍሎችን በአገልጋዩ ላይ (ወደ ደንበኛው ሳያስተላልፍ) የአካባቢያዊ ቅጂዎች ድጋፍን ይጨምራል።

      FreeBSD በአሁኑ ጊዜ ለLayoutError፣ IOAdvise፣ Allocate እና Copy ስራዎች መሰረታዊ ድጋፍ ይሰጣል። የቀረው ሁሉ lseek (SEEKHOLE/SEEKDATA)ን ከኤንኤፍኤስ ጋር ለመጠቀም የሚያስፈልገውን የSek ክወና መተግበር ነው። NFSv4.2 ድጋፍ ለ FreeBSD 13 ታቅዷል;

  • የማከማቻ እና የፋይል ስርዓቶች
    • በተጠቃሚ ቦታ ላይ የፋይል ስርዓቶች አተገባበርን ለመፍጠር የሚያስችል ለFUSE (ፋይል ሲስተም በ USERspace) ንዑስ ስርዓት ሾፌሩን እንደገና ለመስራት ፕሮጀክቱ በመጠናቀቅ ላይ ነው። በመጀመሪያ የቀረበው ሹፌር ጊዜ ያለፈበት እና ብዙ ሳንካዎችን ይዟል። እንደ የአሽከርካሪ ማሻሻያ ፕሮጀክት አካል ለ FUSE 7.23 ፕሮቶኮል ድጋፍ ተተግብሯል (ከዚህ ቀደም ስሪት 7.8 ፣ ከ 11 ዓመታት በፊት የተለቀቀው) ፣ በከርነል በኩል የመዳረሻ መብቶችን ለማረጋገጥ ኮድ ተጨምሯል (“-o default_permissions”) ፣ ጥሪዎች VOP_MKNOD ፣ VOP_BMAP እና VOP_ADVLOCK ተጨምረዋል ፣ የ FUSE ስራዎችን የማቋረጥ ችሎታ ፣ ስማቸው ላልተጠቀሱ ቧንቧዎች እና ዩኒክስ ሶኬቶች በ fusefs ውስጥ ድጋፍ ፣ kqueue ለ / dev/fuse የመጠቀም ችሎታ ፣ የተራራ መለኪያዎችን በ “mount -u” ማዘመን ተፈቅዶለታል ፣ ተጨማሪ ድጋፍ ፊውዝ በ NFS በኩል ወደ ውጭ ለመላክ፣ RLIMIT_FSIZE የሂሳብ አያያዝን የተተገበረ፣ FOPEN_KEEP_CACHE ባንዲራዎችን እና FUSE_ASYNC_READን ታክሏል፣ ከፍተኛ የአፈጻጸም ማሻሻያዎች ተደርገዋል እና የመሸጎጫ አደረጃጀት ተሻሽሏል።
    • የBIO_DELETE ኦፕሬሽን ድጋፍ ወደ ስዋፕ ፔጀር ኮድ ተጨምሯል።
  • የሃርድዌር ድጋፍ
    • ስራው ለ ARM64 SoC Broadcom BCM5871X ድጋፍን ከARMv8 Cortex-A57 ፕሮሰሰር ጋር መተግበሩን ቀጥሏል። በሪፖርቱ ወቅት የውስጥ እና የውጭ የ iProc PCIe አውቶቡሶች ድጋፍ ተሻሽሏል፣ ለ BNXT ኤተርኔት ድጋፍ ተካቷል እና አብሮ የተሰራውን የአይ.ፒ.ኤስ. ሴክን ለማፋጠን እየተሰራ ነው። ኮድን ወደ HEAD ቅርንጫፍ ማዋሃድ በዓመቱ ሁለተኛ አጋማሽ ላይ ይጠበቃል;
    • በ ARMv64 Cortex-A1046 ፕሮሰሰር በተቀናጀ የአውታረ መረብ ፓኬት ፕሮሰሲንግ ማጣደፍ ሞተር፣ 8 Gb Ethernet፣ PCIe 72፣ SATA 10 እና USB 3.0 መሰረት ለ3.0-ቢት SoC NXP LS3.0A ድጋፍ ላይ ስራ ተጀምሯል። ለመሠረታዊ መድረክ (ባለብዙ ተጠቃሚ SMP) እና SATA 3.0 ድጋፍ ቀድሞውኑ ተተግብሯል. የዩኤስቢ 3.0፣ ኤስዲ/ኤምኤምሲ እና አይ2ሲ ድጋፍ በመገንባት ላይ ነው። ዕቅዶቹ የኤተርኔት፣ GPIO እና QSPI ድጋፍን ያካትታሉ። ሥራ ማጠናቀቅ እና በ HEAD ቅርንጫፍ ውስጥ ማካተት በ 4 ኛው ሩብ 2019 ይጠበቃል።
    • የዘመነ mlx5en እና mlx5ib ሾፌሮች ለMellanox ConnectX-4 [Lx]፣ ConnectX-5 [Ex] እና ConnectX-6 [Dx] Ethernet እና InfiniBand አስማሚዎች። በ PCIe Gen 6 አውቶቡስ ላይ እስከ 200Gb/s የሚደርስ ፍሰት እንዲኖር የሚያስችል ለሜላኖክስ ሶኬት ዳይሬክት (ConnectX-3.0) አስማሚዎች ተጨማሪ ድጋፍ። ለባለብዙ ኮር ብሉፊልድ ቺፕስ፣ የRShim ሾፌር ድጋፍ ተጨምሯል። ለ Mellanox አስማሚዎች የመመርመሪያ መገልገያዎች ስብስብ ያለው የ mstflint ጥቅል ወደ ወደቦች ተጨምሯል;
  • መተግበሪያዎች እና ወደቦች ስርዓት
    • የግራፊክስ ቁልል ክፍሎች ተዘምነዋል። የ drm.ko (ቀጥታ ስርጭት ስራ አስኪያጅ) ሾፌር ከሊኑክስ 5.0 ከርነል ተጭኗል። ይህ ሾፌር እንደ ሙከራ ይቆጠራል እና ወደ ወደቦች ዛፍ እንደ ግራፊክስ/ድርም-ዴቭል-ኪሞድ ተጨምሯል። አሽከርካሪው የተዘመነውን የሊኑክስ ኬፒአይ ማዕቀፍ ከሊኑክስ ከርነል DRM ኤፒአይ ጋር ተኳሃኝ እንዲሆን ስለሚጠቀም፣ FreeBSD CURRENT ለማሄድ ያስፈልጋል። የVboxvideo.ko ድራም ሾፌር ለቨርቹዋልቦክስ ቨርቹዋል ጂፒዩ እንዲሁ ከሊኑክስ ተጭኗል። የሜሳ ጥቅል 18.3.2 ለመልቀቅ ተዘምኗል እና LLVMን ከdevel/llvm80 ወደብ ከdevel/llvm60 ይልቅ ለመጠቀም ተቀይሯል።
    • የፍሪቢኤስዲ ወደቦች ዛፍ ከ 37000 ወደቦች አልፏል, ያልተዘጉ የህዝብ ተወካዮች ቁጥር በ 2146 ይቀራል. በሪፖርቱ ወቅት, ከ 7837 ገንቢዎች 172 ለውጦች ተደርገዋል. ሶስት አዳዲስ ተሳታፊዎች የኮሚቴ መብቶችን አግኝተዋል። በወደቦቹ ውስጥ ካሉት ጉልህ የስሪት ዝማኔዎች መካከል MySQL 5.7፣ Python 3.6፣ Ruby 2.5፣ Samba 4.8፣ Julia 1.0፣ Firefox 68.0፣ Chromium 75.0.3770.100 ይገኙበታል። ሁሉም የGo ወደቦች የ"USES=go" ባንዲራ ለመጠቀም ተለውጠዋል። ለ Haskell ኮድ ጥቅም ላይ የዋለው "USES=cabal" ባንዲራ ወደ Cabal ጥቅል አስተዳዳሪ ታክሏል። ጥብቅ ቁልል ጥበቃ ሁነታ ነቅቷል። ነባሪው የፓይዘን ስሪት ከ 3.6 ይልቅ 2.7 ነው።
    • የመገልገያ መልቀቂያው ተዘጋጅቷል nsysctl 1.0የሚጠቀመው ለ/sbin/sysctl አናሎግ ያቀርባል libxo ለውጤት እና የተስፋፉ የአማራጮች ስብስብ ማቅረብ. Nsysctl የ sysctl እሴቶችን ሁኔታ በእይታ ለመከታተል እና በእቃዎች ላይ መረጃን በተዋቀረ መልክ ለማቅረብ ሊያገለግል ይችላል። በኤክስኤምኤል፣ JSON እና ኤችቲኤምኤል ቅርጸቶች መውጣት ይቻላል፤

ምንጭ: opennet.ru

አስተያየት ያክሉ