Noop scheduler
این او او پی شیڈولر لینکس کرنل کے لیے سب سے آسان آئی/او شیڈولر ہے۔ یہ شیڈولر جینس ایکسبو نے تیار کیا تھا۔ جائزہ این او او پی شیڈولر تمام آنے والی آئی/او درخواستوں کو ایک سادہ ایف آئی ایف او قطار میں داخل کرتا ہے اور انضمام کی درخواست کو نافذ کرتا ہے۔ یہ شیڈولر اس وقت مفید ہوتا ہے جب یہ طے کیا گیا ہو کہ میزبان کو اس میں موجود سیکٹر نمبروں کی بنیاد پر درخواستوں کو دوبارہ آرڈر کرنے کی کوشش نہیں کرنی چاہیے۔ دوسرے لفظوں میں، شیڈولر یہ فرض کرتا ہے کہ میزبان اس بات سے بے خبر ہے کہ درخواستوں کو پیداواری طور پر دوبارہ آرڈر کیسے کیا جائے۔ (عام طور پر) تین بنیادی حالات ہوتے ہیں جہاں یہ صورتحال مطلوب ہوتی ہے: اگر I/O شیڈولنگ کو I/O اسٹیک کی نچلی پرت پر سنبھالا جائے گا۔ نچلی تہوں کی مثالیں جو شیڈولنگ کو سنبھال سکتی ہیں ان میں بلاک ڈیوائسز، ذہین ریڈ کنٹرولرز، نیٹ ورک منسلک اسٹوریج، یا بیرونی طور پر منسلک کنٹرولر جیسے اسٹوریج سب سسٹم شامل ہیں جن تک سوئچڈ اسٹوریج ایریا نیٹ ورک کے ذریعے رسائی حاصل ہوتی ہے۔ چونکہ I/O درخواستوں کو ممکنہ طور پر نچلی سطح پر دوبارہ شیڈول کیا جاتا ہے، میزبان کی سطح پر IOPs کو ترتیب دینے میں میزبان CPU کا وقت استعمال ہوتا ہے جو صرف نچلی سطح پر کالعدم ہو جائے گا، جس سے تاخیر میں اضافہ/بغیر کسی نتیجہ خیز وجہ کے تھرو پٹ میں کمی واقع ہوتی ہے۔ کیونکہ سیکٹر کی پوزیشن کی درست تفصیلات میزبان نظام سے چھپی ہوتی ہیں۔ ایک مثال ایک ریڈ کنٹرولر ہوگی جو خود سے کوئی شیڈولنگ انجام نہیں دیتا ہے۔ اگرچہ میزبان درخواستوں کو دوبارہ آرڈر کرنے کی صلاحیت رکھتا ہے اور ریڈ کنٹرولر ایسا نہیں کرتا ہے، میزبان نظام میں تلاش کے وقت کو کم کرنے کے لیے درخواستوں کو درست طریقے سے دوبارہ آرڈر کرنے کی مرئیت کا فقدان ہے۔ چونکہ میزبان کے پاس یہ فیصلہ کرنے کا کوئی طریقہ نہیں ہے کہ آیا ایک ترتیب دوسرے سے بہتر ہے، اس لیے وہ فعال قطار کو بہتر طریقے سے تشکیل نہیں دے سکتا اور اس لیے اسے اس ڈیوائس پر منتقل کرنا چاہیے جو (نظریاتی طور پر) اس طرح کی تفصیلات سے زیادہ واقف ہو۔ کیونکہ پڑھنے/لکھنے کے سر کی حرکت ایپلی کیشن کی کارکردگی کو اتنا متاثر نہیں کرتی ہے کہ اوور ہیڈ کو دوبارہ ترتیب دینے کا جواز پیش کیا جا سکے۔ یہ عام طور پر غیر گردش میڈیا جیسے فلیش ڈرائیوز یا سالڈ اسٹیٹ ڈرائیوز (ایس ایس ڈیز) کے ساتھ ہوتا ہے۔ تاہم، ضروری نہیں کہ مذکورہ بالا منظرناموں کے لیے این او او پی ترجیحی آئی/او شیڈولر ہو۔ پرفارمنس ٹیوننگ کے لیے عام طور پر، تمام رہنمائی مشاہدہ شدہ کام کے بوجھ کے نمونوں پر مبنی ہوگی (انگوٹھے کے آسان اصول بنانے کی صلاحیت کو کمزور کرنا)۔ اگر دیگر ایپلی کیشنز سے دستیاب I/O بینڈوتھ کے لیے تنازعہ ہے، تو یہ اب بھی ممکن ہے کہ دوسرے شیڈولرز ان ایپلی کیشنز کے لیے اس بینڈوتھ کو زیادہ ذہانت سے تراش کر بہتر کارکردگی پیدا کریں جو سب سے اہم سمجھی جاتی ہیں۔ مثال کے طور پر، ایل ڈی اے پی ڈائرکٹری سرور کو چلانے سے ڈیڈ لائن کی پڑھنے کی ترجیح اور تاخیر کی ضمانتوں سے فائدہ ہو سکتا ہے۔ ایک ہی وقت میں، بہت سے مختلف ایپلی کیشنز چلانے والے ڈیسک ٹاپ سسٹم والا صارف سی ایف کیو کے ٹیون ایبلز یا مخصوص ایپلی کیشنز کے لیے بینڈوتھ کو دوسروں پر ترجیح دینے کی اس کی صلاحیت (آئنائس) تک رسائی حاصل کرنا چاہتا ہے۔ اگر درخواستوں کے درمیان کوئی تنازعہ نہیں ہے، تو اوپر درج تین منظرناموں کے لیے شیڈولر کا انتخاب کرنے سے بہت کم یا کوئی فائدہ نہیں ہے۔ یہ ایک کام کے بوجھ کی کارروائیوں کو اس طرح سے محروم کرنے کے نتیجے میں ناکامی کی وجہ سے ہے جس سے دوسرے کام کے بوجھ کے لیے اضافی صلاحیت دستیاب ہوتی ہے۔ دوسرے لفظوں میں، اگر I/O راستے سنترپت نہیں ہیں اور تمام کام کے بوجھ کی درخواستیں ڈرائیو ہیڈز کے ارد گرد غیر معقول تبدیلی کا سبب بننے میں ناکام رہتی ہیں (جس سے آپریٹنگ سسٹم واقف ہے)، تو ایک کام کے بوجھ کو ترجیح دینے کا فائدہ ایسی صورتحال پیدا کر سکتا ہے جہاں مطلوبہ فوائد فراہم کرنے کے بجائے I/O شیڈولنگ میں گزارا گیا CPU کا وقت ضائع ہو جاتا ہے۔ لینکس کرنل sysfs پیرامیٹر کو شیڈولر-اگنوسٹک کنفیگریشن کے طور پر بھی بے نقاب کرتا ہے، جس سے بلاک لیئر کی درخواستوں کو ضم کرنے والی منطق کو یا تو مکمل طور پر، یا صرف زیادہ پیچیدہ انضمام کی کوششوں کے لیے غیر فعال کرنا ممکن ہو جاتا ہے۔ اس سے این او او پی شیڈولر کی ضرورت کم ہو جاتی ہے کیونکہ زیادہ تر آئی/او شیڈولر کا اوور ہیڈ درخواست کی قطار میں ملحقہ شعبوں کو تلاش کرنے کی ان کی کوششوں سے وابستہ ہوتا ہے تاکہ انہیں ضم کیا جا سکے۔ تاہم، زیادہ تر I/O کام کا بوجھ ایک خاص سطح کی درخواستوں کے ضم ہونے سے فائدہ اٹھاتا ہے، یہاں تک کہ تیز رفتار کم تاخیر والے اسٹوریج جیسے ایس ایس ڈی پر بھی۔ پیشگی شیڈولنگ ڈیڈ لائن شیڈولر سی ایف کیو شیڈولر حوالہ جات بیرونی لنکس ڈسک آئی/او ورک لوڈ انحصار کارکردگی کی تشخیص کو سمجھنا اور بہتر بنانا لینکس 2.6 آئی/او شیڈولرز کرنل پر مبنی ورچوئل مشین کے لیے بہترین طریقے (آئی/او شیڈولرز کے بارے میں عمومی معلومات فراہم کرتا ہے) لینکس آئی/او شیڈولرز بینچ مارکڈ پیشگی بمقابلہ سی ایف کیو بمقابلہ ڈیڈ لائن بمقابلہ نواپ ڈسک شیڈولنگ الگورتھم