لينڪس ڪرنل رليز 5.1

ترقي جي ٻن مهينن کان پوء، Linus Torvalds متعارف ڪرايو kernel ڇڏڻ لينڪس 5.1. سڀ کان وڌيڪ قابل ذڪر تبديلين ۾: هڪ نئون انٽرفيس غير مطابقت رکندڙ I/O io_uring لاءِ، NVDIMM کي RAM طور استعمال ڪرڻ جي صلاحيت، Nouveau ۾ شيئر ڪيل ورچوئل ميموري لاءِ سپورٽ، fanotify ذريعي تمام وڏي فائل سسٽم جي اسپيبلبل مانيٽرنگ لاءِ سپورٽ، Zstd ڪمپريشن کي ترتيب ڏيڻ جي صلاحيت Btrfs ۾ سطحون، هڪ نئون cpuidle TEO هينڊلر، 2038 جي مسئلي کي حل ڪرڻ لاءِ سسٽم ڪالن جو نفاذ، initramfs کان سواءِ ڊيوائس-ميپر ڊوائيسز کان بوٽ ڪرڻ جي صلاحيت، SafeSetID LSM ماڊل، گڏيل لائيو پيچس لاءِ سپورٽ.

مکيه جدت:

  • ڊسڪ سب سسٽم، I/O ۽ فائل سسٽم
    • هڪ نئون انٽرفيس لاڳو ڪيو ويو آهي asynchronous I/O - لاءِ io_uring، جيڪو I/O پولنگ لاءِ ان جي حمايت ۽ بفرنگ سان يا بغير ڪم ڪرڻ جي صلاحيت لاءِ قابل ذڪر آهي. اچو ته ياد رکون ته اڳ ۾ تجويز ڪيل غير مطابقت رکندڙ I/O ميڪانيزم "aio" بفر ٿيل I/O کي سپورٽ نه ڪيو، صرف O_DIRECT موڊ ۾ ڪم ڪري سگھي ٿو (بفرنگ ۽ ڪيش کي نظرانداز ڪرڻ کان سواء)، ميٽا ڊيٽا جي دستيابي جي انتظار ۾ لاڪ ڪرڻ ۾ مسئلا هئا، ۽ ميموري ۾ ڊيٽا کي نقل ڪرڻ جي ڪري وڏي اوور هيڊ جي قيمت ڏيکاري ٿي.

      API جي اندر
      io_uring ڊولپرز پراڻي aio انٽرفيس جي نقص کي ختم ڪرڻ جي ڪوشش ڪئي. پاران پيداوار io_uring تمام ويجهو آهي SPDK ۽ خاص طور تي libaio کان اڳتي آهي جڏهن پولنگ فعال سان ڪم ڪري رهيو آهي. يوزر اسپيس ۾ هلندڙ آخري ايپليڪيشنن ۾ io_uring استعمال ڪرڻ لاءِ هڪ لائبريري تيار ڪئي وئي آهي آزاد ڪرڻ، جيڪو ڪرنل انٽرفيس تي اعليٰ سطحي فريم ورڪ فراهم ڪري ٿو؛

    • واقعي ۾ ٽريڪنگ ميڪانيزم ۾ ايف ايس fanotify() شامل ڪيو ويو سپر بلاڪ ۽ ساخت جي تبديلي جي حالتن کي ٽريڪ ڪرڻ لاءِ سپورٽ dirent (ڊائريڪٽريز ٺاهڻ، حذف ڪرڻ ۽ منتقل ڪرڻ جا واقعا). پيش ڪيل خاصيتون اسڪاليبلٽي مسئلن کي حل ڪرڻ ۾ مدد ڪن ٿيون جيڪي پيدا ٿين ٿيون جڏهن انوٽيفائي ميڪانيزم کي استعمال ڪندي تمام وڏي فائل سسٽم ۾ بار بار تبديلي جي ٽريڪنگ ٺاهي ٿي (ڊائرين تبديلين کي اڳ ۾ صرف inotify ذريعي ٽريڪ ڪري سگهجي ٿو، پر
      پرفارمنس جي حالتن ۾ ريٽرسيو ٽريڪنگ جي وڏين نيسٽڊ ڊائريڪٽرن کي تمام گهڻو ڇڏي ويو گهربل هجي). هاڻي اهڙي نگراني fanotify ذريعي ڪري سگهجي ٿي.

    • Btrfs فائل سسٽم تي شامل ڪيو ويو zstd الورورٿم لاءِ ڪمپريشن ليول کي ترتيب ڏيڻ جي صلاحيت، جنهن کي سمجهي سگهجي ٿو هڪ بهتر سمجهوتو وچ ۾ تيز پر غير موثر lz4 ۽ سست پر سٺي ڪمپريشن xz. قياس جي لحاظ سان اهو ڪيئن ممڪن هو ته اڳ ۾ ڪمپريشن جي سطح کي سيٽ ڪرڻ جڏهن zlib استعمال ڪندي، "-o compress=zstd:level" ماؤنٽ آپشن لاءِ سپورٽ zstd لاءِ شامل ڪئي وئي آهي. جاچ دوران، گھٽ ۾ گھٽ فرسٽ ليول 2.658 MB/s جي ڪمپريشن اسپيڊ سان 438.47 ڀيرا ڊيٽا ڪمپريشن، 910.51 MB/s جي ڊيڪپريشن اسپيڊ ۽ 780 MB جي ميموري واپرائي، ۽ وڌ ۾ وڌ ليول 15 مهيا ڪئي وئي 3.126 ڀيرا، پر هڪ ڪمپريشن سان رفتار 37.30 MB / s. unpacking 878.84 MB / s ۽ ميموري واپرائڻ 2547 MB؛
    • شامل ڪيو ويو initramfs استعمال ڪرڻ کان سواءِ ڊيوائس-ميپر ڊيوائس تي موجود فائل سسٽم مان بوٽ ڪرڻ جي صلاحيت. موجوده ڪرنل رليز سان شروع ڪندي، ڊيوائس-ميپر ڊوائيسز سڌو سنئون استعمال ڪري سگھجن ٿيون بوٽ جي عمل دوران، مثال طور، روٽ فائل سسٽم سان ورهاڱي جي طور تي. ورهاڱي کي بوٽ پيٽرولر "dm-mod.create" استعمال ڪندي ترتيب ڏني وئي آهي. ڊيوائس-ميپر ماڊلز کي لوڊ ڪرڻ جي اجازت ڏني وئي آهي: "crypt"، "تاخري"، "ليينر"، "سنيپ شاٽ-اصل" ۽ "حقيقت"؛
    • F2FS_NOCOW_FL جھنڊو F2FS فائل سسٽم ۾ شامل ڪيو ويو آھي جيڪو فليش ڊرائيو جي طرف مبني آھي، جيڪو توھان کي اجازت ڏئي ٿو ته ڏنل فائل لاءِ ڪاپي-آن-رائيٽ موڊ کي غير فعال ڪري؛
    • ڪرنل مان فائل سسٽم ڪڍيو ويو Exofs، جيڪو ext2 جو هڪ قسم آهي، او ايس ڊي (آبجڪٽ تي ٻڌل اسٽوريج ڊيوائس) آبجیکٹ اسٽوريج سان ڪم ڪرڻ لاءِ ٺاهيل آهي. SCSI پروٽوڪول لاءِ سپورٽ اهڙي آبجیکٹ اسٽوريج ڊوائيسز لاءِ پڻ ختم ڪئي وئي آهي؛
  • ورچوئلائيزيشن ۽ سيڪيورٽي
    • شامل ڪيو ويو PR_SPEC_DISABLE_NOEXEC آپشن prctl() کي منتخب ٿيل عمل لاءِ هدايتن جي قياس تي عملدرآمد کي ڪنٽرول ڪرڻ لاءِ. هڪ نئون آپشن توهان کي اجازت ڏئي ٿو ته چونڊيل طور تي قياس آرائي جي عمل کي غير فعال ڪرڻ جي عملن لاءِ جيڪي ممڪن طور تي اسپيڪٽر حملي سان حملو ڪري سگھن ٿيون. تالا لڳندو آهي جيستائين پهرين ڪال تي exec()؛
    • لاڳو ٿيل LSM ماڊل SafeSetID, جيڪو سسٽم سروسز کي اجازت ڏئي ٿو محفوظ طور تي استعمال ڪندڙن کي منظم ڪرڻ جي بغير وڌايل استحقاق (CAP_SETUID) ۽ روٽ استحقاق حاصل ڪرڻ کان سواء. تحفظات مقرر ڪيا ويا آهن سيڪيورٽيف ۾ ضابطن جي وضاحت ڪندي صحيح پابندين جي سفيد فهرست جي بنياد تي (فارم ۾ "UID1:UID2")؛
    • سيڪيورٽي ماڊلز (LSMs) جي اسٽيڪ بيسڊ لوڊنگ لاءِ گهربل گھٽ سطحي تبديليون شامل ڪيون ويون. متعارف ڪرايو ”lsm“ ڪرنل بوٽ آپشن ڪنٽرول ڪرڻ لاءِ ته ڪهڙا ماڊل لوڊ ڪيا وڃن ۽ ڪهڙي ترتيب ۾؛
    • فائل جي نالن جي جڳهن لاءِ سپورٽ آڊٽ سب سسٽم ۾ شامل ڪئي وئي آهي؛
    • وڌايو ويو GCC پلگ ان structleak جون صلاحيتون، جيڪي توهان کي ميموري مواد جي امڪاني ليڪ کي روڪڻ جي اجازت ڏئي ٿي. ڪنهن به متغير جي شروعات جيڪا ڪوڊ ۾ استعمال ٿيل آهي اسٽيڪ تي ريفرنس رسائي ذريعي مهيا ڪئي وئي آهي؛
  • نيٽ ورڪ سب سسٽم
    • ساکٽ لاء لاڳو ڪيو ويو نئون اختيار "SO_BINDTOIFINDEX" سان ملندڙ جلندڙ
      "SO_BINDTODEVICE"، پر انٽرفيس جي نالي جي بدران نيٽ ورڪ انٽرفيس جي انڊيڪس نمبر کي دليل طور وٺڻ؛

    • mac80211 اسٽيڪ ڪيترن ئي BSSIDs (MAC پتي) کي هڪ ڊوائيس تي تفويض ڪرڻ جي صلاحيت شامل ڪئي آهي. وائي فائي ڪارڪردگي کي بهتر ڪرڻ جي منصوبي جي حصي جي طور تي، mac80211 اسٽيڪ ايئر ٽائم اڪائونٽنگ ۽ ڪيترن ئي اسٽيشنن جي وچ ۾ ايئر ٽائم کي ورهائڻ جي صلاحيت شامل ڪئي آهي (جڏهن رسائي پوائنٽ موڊ ۾ ڪم ڪري رهيا آهن، وائرلیس اسٽيشنن کي سست ڪرڻ لاء گهٽ ٽرانسميشن وقت مختص ڪرڻ بدران، سڀني جي وچ ۾ برابر وقت ورهائڻ بدران. اسٽيشنون؛
    • شامل ڪيل ميڪانيزم "devlink صحت"، جيڪو نوٽيفڪيشن مهيا ڪري ٿو جڏهن نيٽ ورڪ انٽرفيس سان مسئلا پيدا ٿئي ٿي؛
  • ميموري ۽ سسٽم خدمتون
    • لاڳو ٿيل محفوظ سگنل پهچائڻ جيڪا اجازت ڏئي ٿي PID ٻيهر استعمال لاءِ. مثال طور، جڏهن ڪال ڪال ڪال اڳ ۾، هڪ اهڙي صورتحال پيدا ٿي سگهي ٿي جتي، سگنل موڪلڻ کان فوري طور تي، ٽارگيٽ PID پروسيس ختم ٿيڻ جي ڪري آزاد ٿي سگهي ٿي ۽ ڪنهن ٻئي پروسيس تي قبضو ڪيو وڃي، ۽ سگنل ختم ٿي وڃي ٻئي پروسيس ڏانهن. اهڙين حالتن کي ختم ڪرڻ لاءِ، هڪ نئون سسٽم ڪال pidfd_send_signal شامل ڪيو ويو آهي، جيڪو /proc/pid مان فائل بيان ڪندڙ استعمال ڪري ٿو ته جيئن مستحڪم عمل جي پابند کي يقيني بڻائي سگهجي. ايستائين جو سسٽم ڪال پروسيسنگ دوران PID ٻيهر استعمال ڪيو ويندو، فائل بيان ڪندڙ تبديل نه ٿيندو ۽ پروسيس ڏانهن سگنل موڪلڻ لاء محفوظ طور تي استعمال ڪري سگهجي ٿو؛
    • شامل ڪيو ويو مستقل ميموري ڊوائيسز استعمال ڪرڻ جي صلاحيت (مسلسل ياداشت، مثال طور NVDIMM) رام جي طور تي. هن وقت تائين، ڪنيل اهڙن ڊوائيسز کي اسٽوريج ڊوائيسز جي طور تي سپورٽ ڪندو هو، پر هاڻي اهي اضافي رام طور پڻ استعمال ڪري سگھجن ٿيون. خصوصيت انهن صارفين جي خواهش جي جواب ۾ لاڳو ڪئي وئي آهي جيڪي ڪارڪردگي جي وقفي سان گڏ رکڻ لاءِ تيار آهن ۽ ڊيڪس لاءِ ايم ايم پي جي مٿان هلندڙ موجوده يوزر اسپيس ميموري مختص نظام کي استعمال ڪرڻ بدران اصلي لينڪس ڪرنل ميموري مئنيجمينٽ API استعمال ڪرڻ چاهيندا آهن. فائل؛
    • نئون CPU idle handler شامل ڪيو ويو (cpuidle، فيصلو ڪري ٿو جڏهن سي پي يو کي ڊيپ پاور سيونگ موڊس ۾ رکي سگھجي ٿو؛ موڊ جيترو گہرا ٿيندو، اوترو وڌيڪ بچت، پر موڊ مان نڪرڻ ۾ وڌيڪ وقت لڳندو) - TEO (ٽائمر ايونٽس اورينٽيڊ گورنر ). هينئر تائين، ٻه cpuidle handlers تجويز ڪيا ويا آهن - "مينيو" ۽ "سيڑھي"، هيرسٽڪس ۾ مختلف. "مينيو" هينڊلر کي ڄاڻڻ سان مشڪلاتن جا فيصلا ڪيا ويا آهن، جن کي ختم ڪرڻ لاء اهو فيصلو ڪيو ويو ته هڪ نئون هينڊلر تيار ڪيو وڃي. TEO "مينيو" هينڊلر جي متبادل طور تي پوزيشن ڪئي وئي آهي، اعلي ڪارڪردگي جي اجازت ڏئي ٿي جڏهن ته ساڳئي سطح جي بجلي جي استعمال کي برقرار رکندي.
      توھان چالو ڪري سگھوٿا نئين ھينڊلر کي استعمال ڪندي بوٽ پيٽرولر ”cpuidle.governor=teo“؛

    • ختم ڪرڻ لاء ڪم جي حصي جي طور تي 2038 جا مسئلا32-bit time_t قسم جي اوور فلو جي ڪري، سسٽم ڪالون شامل آهن جيڪي 32-bit آرڪيٽيڪچرز لاءِ 64-bit ٽائيم ڪائونٽر پيش ڪن ٿيون. نتيجي طور، 64-bit time_t ڍانچي هاڻي استعمال ڪري سگھجن ٿيون سڀني فن تعمير تي. ساڳي تبديليون پڻ لاڳو ڪيون ويون آهن نيٽ ورڪ سب سسٽم ۾ اختيارن لاء مهر نيٽ ورڪ ساکٽ؛
    • ڪور لاءِ گرم پيچنگ سسٽم ۾ (لائيو پيچنگ) شامل ڪيو ويو "ايٽمي بدلي" خصوصيت ايٽمي طور تي ھڪڙي فنڪشن ۾ تبديلين جو سلسلو لاڳو ڪرڻ لاء. هي فيچر توهان کي اجازت ڏئي ٿو تت جي پيچ کي ورهائڻ جي جنهن ۾ هڪ ئي وقت ڪيترن ئي تبديلين کي شامل ڪيو وڃي، ان جي بدران اسٽيج-بي-اسٽيج اپليڪشن جي لائيو پيچس جي عمل جي سختي سان ترتيب ڏنل ترتيب ۾، جنهن کي برقرار رکڻ ڪافي ڏکيو آهي. جڏهن ته اڳ ۾ هر ايندڙ تبديلي کي آخري تبديلي کان پوءِ فنڪشن جي حالت تي ٻڌل هوندو هو، هاڻي اهو ممڪن آهي ته ڪيترن ئي تبديلين کي هڪ ئي وقت ۾ هڪ ابتدائي حالت سان ڳنڍيو وڃي (يعني، سنڀاليندڙ هڪ مضبوط پيچ کي برقرار رکي سگهن ٿا بنيادي ڪرنل جي نسبت سان. پيچ جي زنجير جو جيڪو هڪ ٻئي تي ڀاڙي ٿو؛
    • اعلان ڪيو a.out executable فائل فارميٽ لاءِ ختم ٿيل سپورٽ ۽
      حذف ٿيل a.out فارميٽ ۾ بنيادي فائلون پيدا ڪرڻ لاءِ ڪوڊ، جيڪو ڇڏيل حالت ۾ آھي. a.out فارميٽ گهڻي عرصي کان لينڪس سسٽم تي استعمال نه ڪيو ويو آهي، ۽ a.out فائلن جي نسل کي ڊفالٽ لينڪس ترتيبن ۾ جديد اوزارن جي مدد سان ڊگهي عرصي کان غير معاونت ڏني وئي آهي. اضافي طور تي، a.out فائلن لاء لوڊر مڪمل طور تي صارف جي جاء تي لاڳو ڪري سگھجي ٿو.

    • غير استعمال ٿيل ڪوڊ کي سڃاڻڻ ۽ ختم ڪرڻ جي صلاحيت BPF پروگرام جي تصديق واري ميڪانيزم ۾ شامل ڪئي وئي آهي. ڪرنل ۾ بي پي ايف سبسسٽم لاءِ اسپن لاڪ سپورٽ سان پيچ پڻ شامل آهن، بي پي ايف پروگرامن جي متوازي عمل کي منظم ڪرڻ لاءِ اضافي صلاحيتون مهيا ڪري ٿي؛
  • سامان
    • Nouveau ڊرائيور ۾ شامل ڪيو ويو هيٽروجنيئس ميموري مئنيجمينٽ لاءِ سپورٽ، سي پي يو ۽ جي پي يو کي عام هم وقت سازي ميموري وارن علائقن تائين رسائي جي اجازت ڏئي ٿي. گڏيل ورچوئل ميموري سسٽم (SVM، ورچوئل ميموري) HMM (Heterogeneous Memory Management) سبسسٽم جي بنياد تي لاڳو ڪيو ويو آهي، جيڪو ڊوائيسز کي انهن جي پنهنجي ميموري مئنيجمينٽ يونٽس (MMU، ميموري مئنيجمينٽ يونٽ) سان استعمال ڪرڻ جي اجازت ڏئي ٿو، جيڪي رسائي ڪري سگهن ٿا. مکيه ياداشت. خاص طور تي، HMM استعمال ڪندي، توهان GPU ۽ CPU جي وچ ۾ هڪ گڏيل پتي جي جڳهه کي منظم ڪري سگهو ٿا، جنهن ۾ GPU پروسيس جي مکيه ياداشت تائين رسائي ڪري سگهي ٿو. SVM سپورٽ في الحال صرف Pascal Family GPUs لاءِ فعال ٿيل آھي، جيتوڻيڪ مدد مهيا ڪئي وئي آھي وولٽا ۽ ٽريننگ GPUs لاءِ پڻ. ان کان سواء، Nouveau ۾ شامل ڪيو ويو نئون ioctl پروسيس ميموري علائقن جي منتقلي کي ڪنٽرول ڪرڻ لاءِ GPU ميموري ڏانهن؛
    • Intel DRM ڊرائيور ۾ GPU Skylake ۽ بعد ۾ (gen9+) شامل ڊفالٽ طور، فاسٽ بوٽ موڊ بوٽ دوران غير ضروري موڊ تبديلين کي ختم ڪري ٿو. شامل ڪيو ويو новые ڊيوائس جي سڃاڻپ ڪندڙ Coffelake ۽ Ice Lake microarchitectures جي بنياد تي. Coffelake چپس لاء شامل ڪيو ويو جي وي ٽي سپورٽ (GPU ورچوئلائيزيشن). مجازي GPUs لاء لاڳو ڪيو ويو VFIO EDID سپورٽ. LCD پينل لاء MIPI / DSI شامل ڪيو ويو ACPI/PMIC عناصر لاءِ سپورٽ. لاڳو ٿيل نئون ٽي وي موڊس 1080p30/50/60 ٽي وي؛
    • شامل ڪيل سپورٽ Vega10/20 BACO GPU لاءِ amdgpu ڊرائيور ڏانهن. لاڳو ڪيو ويو Vega 10/20 پاور مئنيجمينٽ ۽ Vega 10 کولر ڪنٽرول ٽيبل. شامل ڪيو ويو نئون PCI ڊيوائس سڃاڻپ ڪندڙ Picasso GPUs لاءِ. شامل ڪيو ويو ڊيڊ لاڪ کان بچڻ لاءِ شيڊيول قابل انحصار کي منظم ڪرڻ لاءِ انٽرفيس؛
    • شامل ڪيو ويو DRM/KMS ڊرائيور اسڪرين ايڪسيليٽر لاءِ ARM Komeda (مالي ڊي 71)؛
    • Toppoly 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 آڊيو پليٽ فارم لاءِ سپورٽ شامل ڪئي وئي؛
    • شامل ڪيل سپورٽ NAND ڪنٽرولرز لاءِ فليش STMicroelectronics FMC2، Amlogic Meson؛
    • Habana 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 فرم ویئر لوڊر ۾ بلاب جي صفائي کي بند ڪيو ويو آهي ان جي ڪريل مان هٽائڻ جي ڪري.

جو ذريعو: opennet.ru

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