لینکس کرنل ریلیز 5.1

دو ماہ کی ترقی کے بعد، لینس ٹوروالڈس متعارف کرایا دانا کی رہائی لینکس 5.1. سب سے زیادہ قابل ذکر تبدیلیوں میں سے: غیر مطابقت پذیر I/O io_uring کے لیے ایک نیا انٹرفیس، NVDIMM کو بطور RAM استعمال کرنے کی صلاحیت، Nouveau میں مشترکہ ورچوئل میموری کے لیے سپورٹ، fanotify کے ذریعے بہت بڑے فائل سسٹمز کی توسیع پذیر نگرانی کے لیے سپورٹ، Zstd کمپریشن کو کنفیگر کرنے کی صلاحیت۔ Btrfs میں لیولز، ایک نیا cpuidle TEO ہینڈلر، 2038 کے مسئلے کو حل کرنے کے لیے سسٹم کالز کا نفاذ، initramfs کے بغیر ڈیوائس میپر ڈیوائسز سے بوٹ کرنے کی صلاحیت، SafeSetID LSM ماڈیول، مشترکہ لائیو پیچ کے لیے سپورٹ۔

اہم بدعات:

  • ڈسک سب سسٹم، I/O اور فائل سسٹم
    • غیر مطابقت پذیر I/O کے لیے ایک نیا انٹرفیس نافذ کیا io_uring، جو I/O پولنگ کے لیے اس کی حمایت اور بفرنگ کے ساتھ یا اس کے بغیر کام کرنے کی صلاحیت کے لیے قابل ذکر ہے۔ ہمیں یاد کرنا چاہیے کہ پہلے سے تجویز کردہ غیر مطابقت پذیر I/O میکانزم "aio" بفرڈ I/O کو سپورٹ نہیں کرتا تھا، صرف O_DIRECT موڈ میں کام کر سکتا تھا (بفرنگ اور کیشے کو نظرانداز کیے بغیر)، میٹا ڈیٹا کی دستیابی کے انتظار کی وجہ سے لاک کرنے میں دشواری تھی، اور میموری میں ڈیٹا کاپی کرنے کی وجہ سے اوور ہیڈز کے بڑے اخراجات کی نمائش کی۔

      API کے اندر
      io_uring ڈویلپرز نے پرانے aio انٹرفیس کی خامیوں کو دور کرنے کی کوشش کی۔ کی طرف سے پیداوری io_uring بہت قریب ہے۔ ایس پی ڈی کے اور پولنگ فعال ہونے کے ساتھ کام کرنے پر libaio سے کافی آگے ہے۔ یوزر اسپیس میں چلنے والی اینڈ ایپلی کیشنز میں io_uring استعمال کرنے کے لیے ایک لائبریری تیار کی گئی ہے۔ آزاد کرنا، جو کرنل انٹرفیس پر ایک اعلیٰ سطحی فریم ورک فراہم کرتا ہے۔

    • FS fanotify() میں ایونٹ سے باخبر رہنے کے طریقہ کار میں شامل کیا سپر بلاک اور ساخت کی تبدیلی کے حالات سے باخبر رہنے کے لیے معاونت dirent (ڈائریکٹریز بنانے، حذف کرنے اور منتقل کرنے کے واقعات)۔ پیش کردہ خصوصیات اسکیل ایبلٹی کے مسائل کو حل کرنے میں مدد کرتی ہیں جو انوٹیفائی میکانزم کا استعمال کرتے ہوئے بہت بڑے فائل سسٹم میں بار بار آنے والی تبدیلیوں سے باخبر رہنے کے وقت پیدا ہوتی ہیں (مختلف تبدیلیوں کو پہلے صرف inotify کے ذریعے ٹریک کیا جا سکتا تھا، لیکن
      بڑی نیسٹڈ ڈائریکٹریوں کی بار بار ٹریکنگ کے حالات میں کارکردگی بہت زیادہ مطلوبہ رہ گئی ہے)۔ اب اس طرح کی نگرانی fanotify کے ذریعے مؤثر طریقے سے کی جا سکتی ہے۔

    • Btrfs فائل سسٹم پر شامل کیا zstd الگورتھم کے لیے کمپریشن لیول کو حسب ضرورت بنانے کی صلاحیت، جسے تیز لیکن غیر موثر lz4 اور سست لیکن اچھی کمپریشن xz کے درمیان ایک بہترین سمجھوتہ سمجھا جا سکتا ہے۔ zlib استعمال کرتے وقت کمپریشن لیول سیٹ کرنا پہلے کیسے ممکن تھا اس سے مشابہت کے ساتھ، zstd کے لیے "-o compress=zstd:level" ماؤنٹ آپشن کے لیے سپورٹ شامل کیا گیا ہے۔ جانچ کے دوران، کم از کم پہلی سطح نے 2.658 MB/s کی کمپریشن اسپیڈ کے ساتھ 438.47 گنا ڈیٹا کمپریشن فراہم کیا، 910.51 MB/s کی ڈیکمپریشن اسپیڈ اور 780 MB میموری کی کھپت، اور زیادہ سے زیادہ لیول 15 نے 3.126 بار فراہم کیا، لیکن کمپریشن کے ساتھ 37.30 MB/s کی رفتار۔ پیک کھولنا 878.84 MB/s اور میموری کی کھپت 2547 MB؛
    • شامل کیا گیا۔ initramfs استعمال کیے بغیر ڈیوائس میپر ڈیوائس پر موجود فائل سسٹم سے بوٹ کرنے کی صلاحیت۔ موجودہ کرنل ریلیز کے ساتھ شروع کرتے ہوئے، ڈیوائس میپر ڈیوائسز کو براہ راست بوٹ کے عمل کے دوران استعمال کیا جا سکتا ہے، مثال کے طور پر، روٹ فائل سسٹم کے ساتھ پارٹیشن کے طور پر۔ پارٹیشن کو بوٹ پیرامیٹر "dm-mod.create" کا استعمال کرتے ہوئے ترتیب دیا گیا ہے۔ لوڈنگ کے لیے اجازت دی گئی ڈیوائس میپر ماڈیولز میں شامل ہیں: "کریپٹ"، "تاخیر"، "لینیئر"، "اسنیپ شاٹ اوریجن" اور "ویرٹی"؛
    • F2FS_NOCOW_FL پرچم کو F2FS فائل سسٹم میں شامل کر دیا گیا ہے جو فلیش ڈرائیوز کی طرف ہے، جو آپ کو دی گئی فائل کے لیے کاپی آن رائٹ موڈ کو غیر فعال کرنے کی اجازت دیتا ہے۔
    • فائل سسٹم کو دانا سے ہٹا دیا گیا۔ Exofs، جو کہ ext2 کا ایک قسم ہے، جو OSD (آبجیکٹ پر مبنی اسٹوریج ڈیوائس) آبجیکٹ اسٹوریج کے ساتھ کام کرنے کے لیے ڈھال لیا گیا ہے۔ اس طرح کے آبجیکٹ اسٹوریج ڈیوائسز کے لیے SCSI پروٹوکول کے لیے سپورٹ کو بھی ہٹا دیا گیا ہے۔
  • ورچوئلائزیشن اور سیکیورٹی
    • PR_SPEC_DISABLE_NOEXEC آپشن کو prctl() میں شامل کیا گیا تاکہ منتخب عمل کے لیے ہدایات کے قیاس آرائی پر عمل درآمد کو کنٹرول کیا جا سکے۔ ایک نیا آپشن آپ کو ان عملوں کے لیے قیاس آرائی پر عمل درآمد کو منتخب طور پر غیر فعال کرنے کی اجازت دیتا ہے جن پر ممکنہ طور پر سپیکٹر اٹیک ہو سکتا ہے۔ لاک اس وقت تک رہتا ہے جب تک کہ پہلی کال ٹو exec();
    • نافذ کردہ LSM ماڈیول SafeSetID، جو سسٹم سروسز کو استحقاق بڑھائے بغیر (CAP_SETUID) اور روٹ مراعات حاصل کیے بغیر صارفین کو محفوظ طریقے سے منظم کرنے کی اجازت دیتا ہے۔ مراعات سیکیورٹی ایف میں قواعد کی وضاحت کرتے ہوئے تفویض کیے جاتے ہیں درست پابندیوں کی سفید فہرست کی بنیاد پر ("UID1:UID2" کی شکل میں)؛
    • سیکیورٹی ماڈیولز (LSMs) کی اسٹیک پر مبنی لوڈنگ کے لیے مطلوبہ کم سطحی تبدیلیاں شامل کی گئیں۔ "lsm" کرنل بوٹ کا آپشن متعارف کرایا گیا ہے تاکہ کنٹرول کیا جا سکے کہ کون سے ماڈیول لوڈ ہوتے ہیں اور کس ترتیب میں؛
    • فائل نام کی جگہوں کے لیے سپورٹ آڈٹ سب سسٹم میں شامل کر دی گئی ہے۔
    • توسیع شدہ جی سی سی پلگ ان اسٹرکلیک کی صلاحیتیں، جو آپ کو میموری کے مواد کے ممکنہ لیک کو روکنے کی اجازت دیتی ہیں۔
  • نیٹ ورک سب سسٹم
    • ساکٹ کے لیے لاگو کیا نیا آپشن "SO_BINDTOIFINDEX" جیسا
      "SO_BINDTODEVICE"، لیکن انٹرفیس کے نام کے بجائے نیٹ ورک انٹرفیس کے انڈیکس نمبر کو دلیل کے طور پر لینا؛

    • mac80211 اسٹیک نے ایک ڈیوائس پر متعدد BSSIDs (MAC ایڈریس) تفویض کرنے کی صلاحیت کو شامل کیا ہے۔ وائی ​​فائی کی کارکردگی کو بہتر بنانے کے منصوبے کے حصے کے طور پر، mac80211 اسٹیک نے ایئر ٹائم اکاؤنٹنگ اور ایک سے زیادہ اسٹیشنوں کے درمیان ایئر ٹائم تقسیم کرنے کی صلاحیت شامل کی ہے (ایکسیس پوائنٹ موڈ میں کام کرتے وقت، وائرلیس اسٹیشنوں کو سست کرنے کے لیے کم ٹرانسمیشن کا وقت مختص کرنا، بجائے اس کے کہ وقت کو سب کے درمیان یکساں طور پر تقسیم کیا جائے۔ اسٹیشنز)؛
    • شامل کردہ میکانزم "devlink صحت"، جو نیٹ ورک انٹرفیس کے ساتھ مسائل پیدا ہونے پر اطلاعات فراہم کرتا ہے۔
  • میموری اور سسٹم کی خدمات
    • لاگو کیا محفوظ سگنل کی ترسیل جو PID کو دوبارہ استعمال کرنے کی اجازت دیتی ہے۔ مثال کے طور پر، پہلے قتل کو کال کرنے پر، ایسی صورت حال پیدا ہو سکتی ہے جہاں سگنل بھیجنے کے فوراً بعد، ٹارگٹ PID کو پراسیس ختم ہونے کی وجہ سے آزاد کیا جا سکتا ہے اور کسی اور عمل کے ذریعے قبضہ کر لیا جا سکتا ہے، اور سگنل کسی اور عمل میں منتقل ہو جائے گا۔ اس طرح کے حالات کو ختم کرنے کے لیے، ایک نیا سسٹم کال pidfd_send_signal شامل کیا گیا ہے، جو کہ مستحکم عمل کی پابندی کو یقینی بنانے کے لیے /proc/pid سے فائل ڈسکرپٹرز استعمال کرتا ہے۔ یہاں تک کہ اگر سسٹم کال پروسیسنگ کے دوران PID کو دوبارہ استعمال کیا جاتا ہے، تو فائل ڈسکرپٹر تبدیل نہیں ہوگا اور اس کو محفوظ طریقے سے پروسیس میں سگنل بھیجنے کے لیے استعمال کیا جا سکتا ہے۔
    • شامل کیا گیا۔ مستقل میموری کے آلات استعمال کرنے کی صلاحیت (مستقل میموری، مثال کے طور پر NVDIMM) بطور RAM۔ اب تک، کرنل اس طرح کے آلات کو اسٹوریج ڈیوائسز کے طور پر سپورٹ کرتا تھا، لیکن اب انہیں اضافی ریم کے طور پر بھی استعمال کیا جا سکتا ہے۔ یہ فیچر ان صارفین کی خواہشات کے جواب میں لاگو کیا گیا ہے جو کارکردگی میں وقفہ رکھنے کے لیے تیار ہیں اور ڈیکس فائل کے لیے mmap کے اوپر چلنے والے موجودہ یوزر اسپیس میموری ایلوکیشن سسٹم کو استعمال کرنے کے بجائے مقامی لینکس کرنل میموری مینجمنٹ API استعمال کرنا چاہتے ہیں۔ ;
    • ایک نیا CPU آئیڈل ہینڈلر شامل کیا گیا (cpuidle، فیصلہ کرتا ہے کہ CPU کو بجلی کی بچت کے گہرے طریقوں میں کب رکھا جا سکتا ہے؛ موڈ جتنا گہرا ہوگا، بچت اتنی ہی زیادہ ہوگی، بلکہ موڈ سے باہر نکلنے میں اتنا ہی زیادہ وقت لگے گا) - TEO (ٹائمر ایونٹس اورینٹڈ گورنر) )۔ اب تک، دو cpuidle ہینڈلرز تجویز کیے گئے ہیں - "مینو" اور "سیڑھی"، جو کہ تحقیق میں مختلف ہیں۔ "مینو" ہینڈلر کو علمی فیصلے کرنے میں دشواریوں کا علم ہے، جس کو ختم کرنے کے لیے نیا ہینڈلر تیار کرنے کا فیصلہ کیا گیا۔ TEO کو "مینو" ہینڈلر کے متبادل کے طور پر رکھا گیا ہے، جس سے بجلی کی کھپت کی اسی سطح کو برقرار رکھتے ہوئے اعلی کارکردگی کی اجازت دی جاتی ہے۔
      آپ بوٹ پیرامیٹر "cpuidle.governor=teo" کا استعمال کرتے ہوئے نئے ہینڈلر کو چالو کر سکتے ہیں۔

    • ختم کرنے کے کام کے حصے کے طور پر 2038 کے مسائل32-bit time_t قسم کے اوور فلو کی وجہ سے، اس میں سسٹم کالز شامل ہیں جو 32-بٹ آرکیٹیکچرز کے لیے 64-بٹ ٹائم کاؤنٹر پیش کرتے ہیں۔ نتیجے کے طور پر، 64-bit time_t ڈھانچہ اب تمام فن تعمیر پر استعمال کیا جا سکتا ہے۔ اسی طرح کی تبدیلیاں آپشنز کے لیے نیٹ ورک سب سسٹم میں بھی لاگو کی گئی ہیں۔ ٹائمسٹیمپ نیٹ ورک ساکٹ؛
    • کور کے لیے ہاٹ پیچنگ سسٹم میں (لائیو پیچنگ) شامل کیا "ایٹمک ریپلیس" فیچر جوہری طور پر کسی ایک فنکشن میں تبدیلیوں کی ایک سیریز کو لاگو کرنے کے لیے۔ یہ خصوصیت آپ کو ایک ہی وقت میں متعدد تبدیلیوں کا احاطہ کرنے والے خلاصہ پیچ کو تقسیم کرنے کی اجازت دیتی ہے، بجائے اس کے کہ لائیو پیچ کے مرحلہ وار اطلاق کے عمل کو سختی سے متعین ترتیب میں رکھا جائے، جسے برقرار رکھنا کافی مشکل ہے۔ جبکہ پہلے ہر بعد کی تبدیلی کو آخری تبدیلی کے بعد فنکشن کی حالت پر مبنی ہونا چاہیے تھا، اب یہ ممکن ہے کہ ایک ابتدائی حالت سے منسلک کئی تبدیلیوں کو ایک ساتھ بڑھایا جا سکے (یعنی دیکھ بھال کرنے والے ایک مضبوط پیچ کو برقرار رکھ سکتے ہیں۔ پیچ کی ایک زنجیر جو ایک دوسرے پر منحصر ہے؛
    • اعلان کیا۔ a.out ایگزیکیوٹیبل فائل فارمیٹ اور کے لیے فرسودہ حمایت
      ہٹا دیا بنیادی فائلوں کو a.out فارمیٹ میں تیار کرنے کے لیے کوڈ، جو کہ ایک لاوارث حالت میں ہے۔ a.out فارمیٹ ایک طویل عرصے سے لینکس سسٹمز پر استعمال نہیں کیا گیا ہے، اور a.out فائلوں کی جنریشن طویل عرصے سے ڈیفالٹ لینکس کنفیگریشنز میں جدید ٹولز کے ذریعے غیر تعاون یافتہ ہے۔ مزید برآں، a.out فائلوں کے لیے لوڈر کو مکمل طور پر صارف کی جگہ پر لاگو کیا جا سکتا ہے۔

    • غیر استعمال شدہ کوڈ کی شناخت اور ہٹانے کی صلاحیت کو BPF پروگرام کی تصدیق کے طریقہ کار میں شامل کر دیا گیا ہے۔ دانا میں بی پی ایف سب سسٹم کے لیے اسپن لاک سپورٹ کے ساتھ پیچ بھی شامل ہیں، بی پی ایف پروگراموں کے متوازی عمل کو منظم کرنے کے لیے اضافی صلاحیتیں فراہم کرتے ہیں۔
  • سامان
    • نوو ڈرائیور میں شامل کیا متضاد میموری کے انتظام کے لیے سپورٹ، سی پی یو اور جی پی یو کو مشترکہ مطابقت پذیر میموری والے علاقوں تک رسائی کی اجازت دیتا ہے۔ مشترکہ ورچوئل میموری سسٹم (SVM، مشترکہ ورچوئل میموری) کو HMM (Heterogeneous میموری مینجمنٹ) سب سسٹم کی بنیاد پر لاگو کیا گیا ہے، جو ان کے اپنے میموری مینجمنٹ یونٹس (MMU، میموری مینجمنٹ یونٹ) کے ساتھ آلات کے استعمال کی اجازت دیتا ہے، جس تک رسائی حاصل ہو سکتی ہے۔ مرکزی میموری. خاص طور پر، HMM کا استعمال کرتے ہوئے، آپ GPU اور CPU کے درمیان ایک مشترکہ پتہ کی جگہ کو منظم کر سکتے ہیں، جس میں GPU عمل کی مرکزی میموری تک رسائی حاصل کر سکتا ہے۔ ایس وی ایم سپورٹ فی الحال صرف پاسکل فیملی جی پی یوز کے لیے فعال ہے، حالانکہ وولٹا اور ٹورنگ جی پی یوز کے لیے بھی سپورٹ فراہم کی جاتی ہے۔ اس کے علاوہ، نوو میں شامل کیا GPU میموری میں پروسیس میموری کے علاقوں کی منتقلی کو کنٹرول کرنے کے لیے نیا ioctl؛
    • GPU Skylake اور بعد میں (gen9+) کے لیے Intel DRM ڈرائیور میں شامل پہلے سے طے شدہ طور پر، فاسٹ بوٹ موڈ بوٹ کے دوران موڈ کی غیر ضروری تبدیلیوں کو ختم کرتا ہے۔ شامل کیا گیا۔ новые کوفیلیک اور آئس لیک مائیکرو آرکیٹیکچرز پر مبنی ڈیوائس شناخت کار۔ کوفیلیک چپس کے لیے شامل کیا جی وی ٹی سپورٹ (GPU ورچوئلائزیشن)۔ ورچوئل GPUs کے لیے لاگو کیا VFIO EDID سپورٹ۔ LCD پینلز کے لیے MIPI/DSI شامل کیا ACPI/PMIC عناصر کے لیے سپورٹ۔ لاگو کیا نئے ٹی وی موڈز 1080p30/50/60 TV؛
    • amdgpu ڈرائیور کے لیے Vega10/20 BACO GPU کے لیے تعاون شامل کیا گیا۔ لاگو Vega 10/20 پاور مینجمنٹ اور Vega 10 کولر کنٹرول ٹیبلز۔ پکاسو GPUs کے لیے نئے PCI ڈیوائس شناخت کنندگان شامل کیے گئے۔ شامل کیا گیا۔ تعطل سے بچنے کے لیے طے شدہ انحصار کے انتظام کے لیے انٹرفیس؛
    • شامل کیا گیا۔ اسکرین ایکسلریٹر کے لیے DRM/KMS ڈرائیور اے آر ایم کومیڈا (مالی D71)؛
    • 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 ایتھرنیٹ کنٹرولرز اور 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

نیا تبصرہ شامل کریں