የሊኑክስ ከርነል ልቀት 5.1

ከሁለት ወራት እድገት በኋላ ሊነስ ቶርቫልድስ አስተዋውቋል የከርነል መለቀቅ Linux 5.1. በጣም ከሚታወቁት ለውጦች መካከል፡ አዲስ በይነገጽ ለተመሳሳይ I/O io_uring፣ NVDIMMን እንደ RAM የመጠቀም ችሎታ፣ በኑቮ ውስጥ ለጋራ የምናባዊ ማህደረ ትውስታ ድጋፍ፣ በፋኖቲፋይ በኩል በጣም ትልቅ የሆኑ የፋይል ስርዓቶችን መጠነኛ ቁጥጥር ማድረግ፣ የZstd መጭመቂያን የማዋቀር ችሎታ በBtrfs ውስጥ ያሉ ደረጃዎች፣ አዲስ cpuidle TEO ተቆጣጣሪ፣ የ2038ን ችግር ለመፍታት የስርዓት ጥሪዎችን መተግበር፣ ከመሳሪያ-ካርታ መሳሪያዎች ያለ intramfas የማስነሳት ችሎታ፣ SafeSetID LSM ሞጁል፣ ለተጣመሩ የቀጥታ ጥገናዎች ድጋፍ።

ዋና ፈጠራዎች:

  • የዲስክ ንዑስ ስርዓት፣ አይ/ኦ እና የፋይል ሲስተምስ
    • ለተመሳሳይ I/O አዲስ በይነገጽ ተተግብሯል - io_uringለ I/O ምርጫ ድጋፍ እና በድብቅ ወይም ያለመስራት የመሥራት ችሎታ የሚታወቅ ነው። ቀደም ሲል የቀረበው ያልተመሳሰለ የአይ/ኦ ዘዴ “aio” የታሸገ I/Oን የማይደግፍ፣ በO_DIRECT ሁነታ ብቻ የሚሰራ (ያለ መሸጎጫ እና መሸጎጫውን ሳያልፉ)፣ ሜታዳታ እስኪገኝ በመጠበቅ የመቆለፍ ችግር እንደነበረው እናስታውስ። , እና በማህደረ ትውስታ ውስጥ ያለ ውሂብ በመቅዳት ምክንያት ከፍተኛ ትርፍ ወጪዎችን አሳይቷል።

      በኤፒአይ ውስጥ
      io_uring ገንቢዎች የድሮውን aio በይነገጽ ድክመቶችን ለማስወገድ ሞክረዋል። በ አፈፃፀም። io_uring በጣም ቅርብ ነው። SPDK እና በድምጽ መስጫ ሲሰራ ከሊቢያዮ በእጅጉ ይቀድማል። በተጠቃሚ ቦታ ላይ የሚሰሩ io_uringን የመጨረሻ መተግበሪያዎችን ለመጠቀም ቤተ-መጽሐፍት ተዘጋጅቷል። ልቦለድበከርነል በይነገጽ ላይ ከፍተኛ ደረጃ ማዕቀፍ የሚያቀርብ;

    • በ FS fanotify() ውስጥ ባለው የክስተት መከታተያ ዘዴ ታክሏል የሱፐር ማገድ እና የመዋቅር ለውጥ ሁኔታዎችን ለመከታተል ድጋፍ ቀጥተኛ ( ማውጫዎችን የመፍጠር, የመሰረዝ እና የማንቀሳቀስ ክስተቶች). የቀረቡት ባህሪዎች የኢኖቲፋይ ዘዴን በመጠቀም በጣም ትልቅ በሆነ የፋይል ስርዓቶች ውስጥ ተደጋጋሚ የለውጥ ክትትል ሲፈጠሩ የሚነሱትን የመስፋፋት ችግሮች ለመፍታት ያግዛሉ (ቀጥተኛ ለውጦች ከዚህ ቀደም መከታተል የሚቻለው ያለማሳየት ብቻ ነው፣ ነገር ግን
      ትላልቅ የጎጆ ማውጫዎችን ተደጋጋሚ ክትትል በሚደረግበት ሁኔታ አፈጻጸም ብዙ የሚፈለገውን ቀርቷል)። አሁን እንዲህ ዓይነቱን ክትትል በፋኖቲቲ አማካኝነት ውጤታማ በሆነ መንገድ ሊከናወን ይችላል;

    • በ Btrfs ፋይል ስርዓት ላይ ታክሏል ፈጣን ግን ውጤታማ ባልሆነ lz4 እና በዝግታ ግን ጥሩ መጭመቂያ xz መካከል ጥሩ ስምምነት ተደርጎ ሊወሰድ የሚችለውን የማመቂያ ደረጃን ለ zstd አልጎሪዝም የማበጀት ችሎታ። ከዚህ ቀደም zlibን ሲጠቀሙ የመጨመቂያ ደረጃን እንዴት ማዘጋጀት እንደሚቻል በማነፃፀር ለzstd የ"-o compress=zstd:level" mount አማራጭ ድጋፍ ተጨምሯል። በሙከራ ጊዜ ዝቅተኛው የመጀመሪያ ደረጃ መረጃን በ 2.658 ጊዜ የመጨመቅ ፍጥነት 438.47 ሜባ / ሰ ፣ የዲኮምፕሬሽን ፍጥነት 910.51 ሜባ / ሰ እና የማስታወሻ ፍጆታ 780 ሜባ ፣ እና ከፍተኛው ደረጃ 15 3.126 ጊዜ ይሰጣል ፣ ግን በመጭመቅ። የ 37.30 ሜባ / ሰ ፍጥነት 878.84 ሜባ / ሰ እና የማስታወሻ ፍጆታ 2547 ሜባ;
    • ታክሏል። ኢንትራምፍስን ሳይጠቀሙ በመሣሪያ-ካርታ መሣሪያ ላይ ካለው የፋይል ስርዓት የማስነሳት ችሎታ። አሁን ካለው የከርነል መለቀቅ ጀምሮ፣ የመሣሪያ-ካርታ መሳሪያዎች በቡት ሂደቱ ውስጥ በቀጥታ ጥቅም ላይ ሊውሉ ይችላሉ፣ ለምሳሌ ከስር ፋይል ስርዓት ጋር እንደ ክፋይ። ክፋዩ የተዋቀረው የቡት መለኪያውን "dm-mod.create" በመጠቀም ነው. ለመጫን የሚፈቀዱ የመሣሪያ-ካርታ ሞጁሎች የሚከተሉትን ያካትታሉ፡ “ክሪፕት”፣ “ዘግይቶ”፣ “መስመር”፣ “ቅጽበታዊ-መነሻ” እና “እውነት”፤
    • የF2FS_NOCOW_FL ባንዲራ ወደ ፍላሽ አንጻፊዎች ያተኮረ የF2FS ፋይል ስርዓት ላይ ተጨምሯል፣ ይህም ለተወሰነ ፋይል የመገልበጥ ሁነታን እንዲያሰናክሉ ያስችልዎታል።
    • የፋይል ስርዓት ከከርነል ተወግዷል Exofsከ OSD (በነገር ላይ የተመሰረተ የማከማቻ መሣሪያ) የዕቃ ማከማቻዎችን ለመሥራት የተስተካከለ የ ext2 ልዩነት ነው። ለእንደዚህ ያሉ የነገር ማከማቻ መሳሪያዎች የ SCSI ፕሮቶኮል ድጋፍ ተወግዷል።
  • ምናባዊ እና ደህንነት
    • ለተመረጠው ሂደት መመሪያዎችን ግምታዊ አፈፃፀም ለመቆጣጠር PR_SPEC_DISABLE_NOEXEC አማራጭ ወደ prctl() ታክሏል። አዲስ አማራጭ በ Specter ጥቃት ሊጠቁ ለሚችሉ ሂደቶች ግምታዊ አፈፃፀምን እንዲያሰናክሉ ይፈቅድልዎታል። መቆለፊያው ለመጀመሪያው ጥሪ እስከ exec () ድረስ ይቆያል;
    • የተተገበረ የኤል.ኤስ.ኤም SafeSetID, ይህም የስርዓት አገልግሎቶች ከፍ ያለ መብቶች (CAP_SETUID) እና የስር መብቶችን ሳያገኙ ተጠቃሚዎችን ደህንነቱ በተጠበቀ ሁኔታ እንዲያስተዳድሩ ያስችላቸዋል። መብቶች በሴኪዩሪቲዎች ውስጥ ደንቦችን በመግለጽ ተሰጥተዋል ትክክለኛ ማሰሪያዎች ነጭ ዝርዝር (በ "UID1: UID2" ቅፅ);
    • ለደህንነት ሞጁሎች (ኤል.ኤም.ኤም.ዎች) በቁልል ላይ የተመሰረተ ጭነት ያስፈልጋል ዝቅተኛ ደረጃ ለውጦች። የትኛዎቹ ሞጁሎች እንደሚጫኑ እና በምን ቅደም ተከተል ለመቆጣጠር የ"lsm" kernel boot አማራጭን አስተዋውቋል።
    • ለፋይል ስም ቦታዎች ድጋፍ ወደ ኦዲት ንዑስ ስርዓት ተጨምሯል;
    • ተስፋፋ የማህደረ ትውስታ ይዘቶች ሊፈጠሩ የሚችሉ ፍንጣቂዎችን ለመከልከል የሚያስችል የጂሲሲ ፕለጊን structleak ብቃቶች በኮዱ ውስጥ ጥቅም ላይ የሚውሉ ማናቸውንም ተለዋዋጮች በጥቅሉ ላይ በማመሳከሪያው ላይ ማስጀመር ቀርቧል።
  • የአውታረ መረብ ንዑስ ስርዓት
    • ለሶኬቶች ተተግብሯል አዲስ አማራጭ "SO_BINDTOIFINDEX" ተመሳሳይ
      "SO_BINDTODEVICE", ነገር ግን እንደ ክርክር ከበይነገጽ ስም ይልቅ የአውታረ መረብ በይነገጽ ጠቋሚ ቁጥር መውሰድ;

    • የ mac80211 ቁልል ብዙ BSSIDs (MAC አድራሻዎችን) ለአንድ መሣሪያ የመመደብ ችሎታን አክሏል። የዋይፋይ አፈጻጸምን ለማመቻቸት የፕሮጀክት አካል ሆኖ የማክ80211 ቁልል የአየር ሰአት ሂሳብን እና የአየር ሰአትን በበርካታ ጣቢያዎች (በመዳረሻ ነጥብ ሁነታ ላይ ሲሰራ ፣የገመድ አልባ ጣቢያዎችን ፍጥነት ለመቀነስ አነስተኛ የማስተላለፊያ ጊዜ በመመደብ በሁሉም መካከል በእኩል ጊዜ ከማሰራጨት ይልቅ) የአየር ሰአት ሂሳብን ጨምሯል። ጣቢያዎች);
    • የተጨመረው ዘዴ"ዴቭሊንክ ጤናከአውታረ መረቡ በይነገጽ ጋር ችግሮች ሲከሰቱ ማሳወቂያዎችን የሚሰጥ;
  • የማህደረ ትውስታ እና የስርዓት አገልግሎቶች
    • ተተግብሯል። PID እንደገና ጥቅም ላይ እንዲውል የሚያስችል ደህንነቱ የተጠበቀ የምልክት አቅርቦት። ለምሳሌ ቀደም ብሎ መግደልን ሲደውሉ፣ ሲግናል ከላኩ በኋላ፣ ኢላማው PID በሂደቱ መቋረጥ ምክንያት ነፃ የሚወጣበት እና በሌላ ሂደት የተያዘበት እና ምልክቱ ወደ ሌላ ሂደት የሚተላለፍበት ሁኔታ ሊፈጠር ይችላል። እንደዚህ ያሉ ሁኔታዎችን ለማስወገድ፣ አዲስ የስርዓት ጥሪ pidfd_send_signal ታክሏል፣ ይህም የተረጋጋ የሂደቱን ትስስር ለማረጋገጥ ከ/proc/pid ፋይል ገላጭዎችን ይጠቀማል። ምንም እንኳን PID በስርዓት ጥሪ ሂደት ውስጥ እንደገና ጥቅም ላይ ቢውልም ፣ የፋይሉ ገላጭ አይቀየርም እና ለሂደቱ ምልክት ለመላክ ደህንነቱ በተጠበቀ ሁኔታ ጥቅም ላይ ሊውል ይችላል።
    • ታክሏል። ቋሚ የማስታወሻ መሳሪያዎችን የመጠቀም ችሎታ (ቋሚ ማህደረ ትውስታ, ለምሳሌ NVDIMM) እንደ RAM. እስካሁን ድረስ ከርነል እንደ ማከማቻ መሳሪያዎች ያሉ መሳሪያዎችን ይደግፋል, አሁን ግን እንደ ተጨማሪ ራም ጥቅም ላይ ሊውል ይችላል. ባህሪው የተተገበረው የአፈጻጸም መዘግየትን ለመቋቋም ፈቃደኛ ለሆኑ እና ነባር የተጠቃሚ ቦታ ማህደረ ትውስታ ድልድል ስርዓቶችን ለዳክስ ከመጠቀም ይልቅ ቤተኛ የሆነውን የሊኑክስ ከርነል ማህደረ ትውስታ አስተዳደር ኤፒአይ ለመጠቀም ለሚፈልጉ ተጠቃሚዎች ፍላጎት ምላሽ ነው። ፋይል;
    • አዲስ ሲፒዩ ስራ ፈት ተቆጣጣሪ ታክሏል (ሲፒዩ ሲፒዩ ወደ ጥልቅ ሃይል ቆጣቢ ሁነታዎች መቼ እንደሚቀመጥ ይወስናል፤ ሁነታው በለጠ ቁጥር ቁጠባው እየጨመረ ይሄዳል ነገር ግን ከሁነታው ለመውጣት ብዙ ጊዜ ይወስዳል) - TEO (የሰዓት ክስተቶች ተኮር ገዥ ). እስካሁን ድረስ ሁለት cpuidle ተቆጣጣሪዎች ቀርበዋል - “ምናሌ” እና “መሰላል” ፣ በሂዩሪስቲክስ ይለያያሉ። የ "ምናሌ" ተቆጣጣሪው አዲስ ተቆጣጣሪ ለማዘጋጀት ተወስኖ የነበረውን ለማስወገድ, ሂውሪስቲክ ውሳኔዎችን በማድረግ ላይ ችግሮች አሉት. TEO ከ "ምናሌ" ተቆጣጣሪው እንደ አማራጭ ተቀምጧል, ይህም ተመሳሳይ የኃይል ፍጆታ ደረጃን ጠብቆ ከፍተኛ አፈፃፀም እንዲኖር ያስችላል.
      የቡት መለኪያውን "cpuidle.governor=teo" በመጠቀም አዲሱን ተቆጣጣሪ ማግበር ይችላሉ;

    • ለማጥፋት እንደ ሥራው አካል የ 2038 ችግሮችበ32-ቢት የጊዜ_ት አይነት ከመጠን በላይ በመፍሰሱ ምክንያት ለ32-ቢት አርክቴክቸር ባለ 64-ቢት ጊዜ ቆጣሪዎችን የሚያቀርቡ የስርዓት ጥሪዎችን ያካትታል። በውጤቱም፣ የ64-ቢት ጊዜ_t መዋቅር አሁን በሁሉም አርክቴክቸር ላይ ሊውል ይችላል። ተመሳሳይ ለውጦች በኔትወርኩ ንዑስ ስርዓት ውስጥ ለአማራጮች ተተግብረዋል። ማህተም የኔትወርክ ሶኬቶች;
    • ለዋናው (የቀጥታ መለጠፊያ) ወደ ሙቅ ጠጋኝ ስርዓት ታክሏል ተከታታይ ለውጦችን በአንድ ተግባር ላይ ለመተግበር የ"አቶሚክ ምትክ" ባህሪ። ይህ ባህሪ ብዙ ለውጦችን የሚሸፍኑ ማጠቃለያዎችን በአንድ ጊዜ እንዲያሰራጩ ይፈቅድልዎታል ፣ ይልቁንም በቀጥታ በተደነገገው ቅደም ተከተል ደረጃ በደረጃ የመተግበር ሂደት ፣ ለማቆየት በጣም ከባድ ነው። ቀደም ሲል እያንዳንዱ ተከታይ ለውጥ ከመጨረሻው ለውጥ በኋላ በተግባሩ ሁኔታ ላይ የተመሰረተ መሆን ነበረበት፣ አሁን ከአንድ የመጀመሪያ ሁኔታ ጋር የተሳሰሩ ብዙ ለውጦችን በአንድ ጊዜ ማሰራጨት ይቻላል (ማለትም፣ ጠባቂዎች ከመሠረታዊ ከርነል ጋር በተዛመደ አንድ የተጠናከረ ንጣፍ ማቆየት ይችላሉ። እርስ በርስ የሚደጋገፉ የንጣፎች ሰንሰለት;
    • አስታወቀ ለ a.out executable የፋይል ፎርማት የተቋረጠ ድጋፍ እና
      ተሰርዟል። ዋና ፋይሎችን በ a.out ቅርጸት የማመንጨት ኮድ፣ ይህም በተተወ ሁኔታ ውስጥ ነው። የ a.out ቅርፀቱ በሊኑክስ ሲስተምስ ላይ ለረጅም ጊዜ ጥቅም ላይ አልዋለም፣ እና የ a.out ፋይሎችን ማመንጨት በነባሪ የሊኑክስ ውቅሮች ውስጥ በዘመናዊ መሳሪያዎች የማይደገፍ ሆኖ ቆይቷል። በተጨማሪም፣ ለ a.out ፋይሎች ጫኚው ሙሉ በሙሉ በተጠቃሚ ቦታ ላይ ሊተገበር ይችላል።

    • ጥቅም ላይ ያልዋለ ኮድን የመለየት እና የማስወገድ ችሎታ ወደ BPF ፕሮግራም ማረጋገጫ ዘዴ ተጨምሯል። ከርነሉ የBPF ፕሮግራሞችን ትይዩ አፈፃፀም ለማስተዳደር ተጨማሪ ችሎታዎችን በመስጠት ለBPF ንዑስ ስርዓት ስፒንሎክ ድጋፍ ያላቸው ጥገናዎችን ያጠቃልላል።
  • መሣሪያዎች
    • በኑቮ ሾፌር ታክሏል ለተለያዩ ማህደረ ትውስታ አስተዳደር ድጋፍ ፣ሲፒዩ እና ጂፒዩ የጋራ የተመሳሰሉ የማህደረ ትውስታ ቦታዎችን እንዲደርሱ ያስችላቸዋል። የተጋራው ምናባዊ ማህደረ ትውስታ ስርዓት (ኤስ.ኤም.ኤም. ፣ የተጋራ ምናባዊ ማህደረ ትውስታ) በኤች.ኤም.ኤም (Heterogeneous ማህደረ ትውስታ አስተዳደር) ንዑስ ስርዓት ላይ ይተገበራል ፣ ይህም መሳሪያዎችን ከራሳቸው የማስታወሻ አስተዳደር ክፍሎች (ኤምኤምዩ ፣ ማህደረ ትውስታ አስተዳደር ክፍል) ጋር መጠቀም ይችላል ፣ ይህም መድረስ ይችላል ዋና ትውስታ. በተለይም ኤችኤምኤምን በመጠቀም በጂፒዩ እና በሲፒዩ መካከል የጋራ አድራሻ ቦታን ማደራጀት ይችላሉ ፣ በዚህ ውስጥ ጂፒዩ የሂደቱን ዋና ማህደረ ትውስታ ማግኘት ይችላል። የSVM ድጋፍ በአሁኑ ጊዜ የነቃው ለፓስካል ቤተሰብ ጂፒዩዎች ብቻ ነው፣ ምንም እንኳን ድጋፍ ለቮልታ እና ቱሪንግ ጂፒዩዎችም ቢቀርብም። ከዚህም በላይ በኑቮ ውስጥ ታክሏል የሂደት ማህደረ ትውስታ ቦታዎችን ወደ ጂፒዩ ማህደረ ትውስታ ፍልሰት ለመቆጣጠር አዲስ ioctl;
    • በ Intel DRM ሾፌር ለጂፒዩ ስካይሌክ እና በኋላ (gen9+) ተካቷል በነባሪ ፣ fastboot ሁነታ በሚነሳበት ጊዜ አላስፈላጊ የሁኔታ ለውጦችን ያስወግዳል። ታክሏል። новые በCoffelake እና አይስ ሐይቅ ማይክሮ አርክቴክቸር ላይ የተመሠረቱ የመሣሪያ ለዪዎች። ለ Coffelake ቺፕስ ታክሏል የጂ.ቪ.ቲ ድጋፍ (የጂፒዩ ምናባዊነት). ለምናባዊ ጂፒዩዎች ተተግብሯል VFIO EDID ድጋፍ። ለ LCD ፓነሎች MIPI/DSI ታክሏል ለ ACPI/PMIC አባሎች ድጋፍ። ተተግብሯል። አዲስ የቲቪ ሁነታዎች 1080p30/50/60 ቲቪ;
    • ለVega10/20 BACO GPU ድጋፍ ወደ amdgpu ሾፌር ታክሏል። የተተገበረ የቪጋ 10/20 ሃይል አስተዳደር እና የቪጋ 10 ማቀዝቀዣ መቆጣጠሪያ ጠረጴዛዎች ለፒካሶ ጂፒዩዎች አዲስ PCI መሳሪያ ለዪዎች ታክለዋል። ታክሏል። የጊዜ ገደቦችን ለማስቀረት የጊዜ መርሐግብር ጥገኝነቶችን ለማስተዳደር በይነገጽ;
    • ታክሏል። DRM/KMS ሾፌር ለስክሪን አፋጣኝ ARM Komeda (ማሊ ዲ71);
    • ለቶፖሊ TPG110፣ Sitronix ST7701፣ PDA 91-00156-A0፣ LeMaker BL035-RGB-002 3.5 እና Kingdisplay kd097d04 ስክሪን ፓነሎች ድጋፍ ታክሏል፤
    • ለ Rockchip RK3328 ፣ Cirrus Logic CS4341 እና CS35L36 ፣ MediaTek MT6358 ፣ Qualcomm WCD9335 እና Ingenic JZ4725B ኦዲዮ ኮዴኮች ፣ እንዲሁም Mediatek MT8183 የኦዲዮ መድረክ ድጋፍ ታክሏል ።
    • ለኤንኤንድ መቆጣጠሪያዎች ተጨማሪ ድጋፍ ፍላሽ STMicroelectronics FMC2, Amlogic Meson;
    • ለሃባና AI ሃርድዌር ስርዓቶች የተፋጠነ ድጋፍ;
    • ለNXP eneTC gigabit Ethernet መቆጣጠሪያዎች እና MediaTek MT7603E (PCIe) እና MT76x8 የገመድ አልባ መገናኛዎች ድጋፍ ታክሏል።

በተመሳሳይ ጊዜ ነፃ የሶፍትዌር ፋውንዴሽን ላቲን አሜሪካ ተፈጠረ
አማራጭ ሙሉ በሙሉ ነፃ ከርነል 5.1 - linux-libre 5.1-gnu, ነፃ ያልሆኑ ክፍሎችን ወይም የኮድ ክፍሎችን ከያዙ የጽኑዌር እና የአሽከርካሪ አካላት ጸድቷል፣ ወሰን በአምራቹ የተገደበ ነው። በአዲሱ እትም በmt7603 እና በጎያ ሾፌሮች ውስጥ ብሎብ መጫን ተሰናክሏል። በአሽከርካሪዎች እና ንዑስ ስርዓቶች ውስጥ የዘመነ የብሎብ ማጽጃ ኮድ wilc1000፣ iwlwifi፣ soc-acpi-intel፣ brcmfmac፣ mwifiex፣ btmrvl፣ btmtk እና touchscreen_dmi። በ lantiq xrx200 firmware loader ውስጥ ያለው የብሎብ ማጽዳት ከከርነል በመወገዱ ምክንያት ቆሟል።

ምንጭ: opennet.ru

አስተያየት ያክሉ