AQuoSA
AQuoSA (ایڈاپٹو کوالٹی آف سروس آرکیٹیکچر) لینکس کرنل میں انکولی کوالٹی آف سروس فنکشنلٹی کی فراہمی کے لیے ایک کھلا فن تعمیر ہے۔ اس پروجیکٹ میں لینکس کے طور پر جنرل پرپز آپریٹنگ سسٹم کے اوپری حصے میں کیو او ایس سے متعلق خدمات کی حمایت کے لیے ایک لچکدار، پورٹیبل، ہلکا پھلکا اور کھلا فن تعمیر پیش کیا گیا ہے۔ فن تعمیر اچھی طرح سے رسمی شیڈولنگ تجزیہ اور کنٹرول نظریاتی نتائج پر مبنی ہے۔ اے کیو او ایس اے کی ایک کلیدی خصوصیت ریسورس ریزرویشن پرت ہے جو کیو او ایس آگاہ ایپلی کیشنز کے لیے سی پی یو الاٹمنٹ کو ان کی رن ٹائم ضروریات کی بنیاد پر متحرک طور پر ڈھالنے کی صلاحیت رکھتی ہے۔ اس طرح کی فعالیت فراہم کرنے کے لیے، AQuoSA ایک دانا سطح کے CPU شیڈولر کو سرایت کرتا ہے جو ابتدائی ڈیڈ لائن فرسٹ (EDF) پر مبنی CPU کے لیے ریسورس ریزرویشن میکانزم کو نافذ کرتا ہے۔ یہ لینکس دانا کو نظام کے اندر چلنے والے کاموں کے درمیان (جزوی طور پر) عارضی تنہائی کا احساس کرنے کی صلاحیت دیتا ہے۔ AQuoSA ان چند پروجیکٹوں میں سے ایک ہے جو مناسب طریقے سے ڈیزائن کردہ رسائی کنٹرول ماڈل کے ذریعے، کنٹرول شدہ طریقے سے ملٹی یوزر سسٹم پر غیر مراعات یافتہ صارفین کو ریئل ٹائم شیڈولنگ کی صلاحیتیں فراہم کرتا ہے۔ تفصیل پروجیکٹ کے فن تعمیر کا خلاصہ اس طرح کیا جا سکتا ہے: لینکس دانا میں پیچ سب سے نچلی سطح پر، لینکس دانا میں ایک پیچ کسی بھی متعلقہ شیڈولنگ ایونٹ کو متحرک طور پر لوڈ شدہ ماڈیولز کو مطلع کرنے کی صلاحیت کا اضافہ کرتا ہے۔ ان کی شناخت کاموں کی تخلیق یا موت کے ساتھ ساتھ بلاک اور ان بلاک ایونٹس میں کی گئی ہے۔ یہ پیچ کم سے کم ناگوار ہے، اس میں یہ بنیادی طور پر لینکس شیڈولر کوڈ (sched.c) کے اندر مناسب طریقے سے داخل کردہ کوڈ کی چند لائنوں پر مشتمل ہوتا ہے۔ اسے "جنیرک شیڈولر پیچ" کہا گیا ہے، کیونکہ یہ ممکنہ طور پر کسی بھی شیڈولنگ پالیسی کو نافذ کرنے کی اجازت دیتا ہے۔ ریسورس ریزرویشن ریسورس ریزرویشن پرت تین اجزاء پر مشتمل ہے۔ بنیادی جزو ایک متحرک طور پر لوڈ ہونے والا دانا ماڈیول ہے جو عام شیڈولر پیچ کے ذریعے لینکس دانے میں متعارف کرائی گئی فعالیت کا استحصال کرکے سی پی یو کے لیے ریسورس ریزرویشن شیڈولنگ پیراڈائم کو نافذ کرتا ہے۔ دوسرا، صارف کی سطح کی لائبریری (کیو آر ای ایس لائبریری) ایک ایپلی کیشن کو اے پی آئی کالز کے مکمل اور اچھی طرح سے ڈیزائن کردہ سیٹ کے ذریعے نئی شیڈولنگ پالیسی استعمال کرنے کی اجازت دیتی ہے۔ بنیادی طور پر، یہ کالز ایک ایپلی کیشن کو اجازت دیتی ہیں کہ وہ سسٹم سے اپنے عمل کے لیے سی پی یو کا ایک خاص فیصد محفوظ کرنے کو کہے۔ تیسرا، ایک دانا سطح کا جزو (سپروائزر) کیو آر ای ایس لائبریری کے ذریعے ایپلی کیشنز کی طرف سے کی جانے والی تمام درخواستوں میں ثالثی کرتا ہے، تاکہ درخواست کردہ سی پی یو حصص کی کل رقم شیڈولر کی شیڈولبلٹی شرط کی خلاف ورزی نہ کرے (ایک سے کم، یا ایک سے قدرے کم، اوور ہیڈ کی وجہ سے)۔ سپروائزر کا طرز عمل سسٹم ایڈمنسٹریٹر کے ذریعہ مکمل طور پر تشکیل پذیر ہوتا ہے، تاکہ فی صارف/فی گروپ کی بنیاد پر، سی پی یو پر کیے گئے تحفظات کے لیے کم از کم ضمانت شدہ اور زیادہ سے زیادہ اجازت شدہ اقدار کی وضاحت کرنا ممکن ہو۔ AQuoSA کے ساتھ، ایپلی کیشنز براہ راست ریسورس ریزرویشن لیئر کا استعمال کر سکتی ہیں، جو انہیں سی پی یو کا ایک حصہ محفوظ کرنے کی اجازت دیتی ہے، تاکہ مطلوبہ شیڈولنگ گارنٹیوں کے ساتھ چل سکے۔ مثال کے طور پر، ایک ملٹی میڈیا ایپلی کیشن آپریٹنگ سسٹم سے درخواست کو کم از کم ہر پی ملی سیکنڈ میں کیو ملی سیکنڈ کے لیے شیڈول ہونے کی ضمانت کے ساتھ چلانے کے لیے کہہ سکتی ہے، جہاں کیو اور پی کا انحصار درخواست کی نوعیت پر ہوتا ہے۔ ریسورس ریزرویشن لیئر کے ساتھ درخواست کا اندراج کرتے وقت، کم از کم ضمانت شدہ ریزرویشن کی وضاحت کرنا ممکن ہے جس کی سسٹم کو ہمیشہ درخواست کی ضمانت دینی چاہیے۔ کم از کم ضمانت شدہ تحفظات کی درخواستوں کی بنیاد پر، پرت داخلہ کنٹرول انجام دیتی ہے، یعنی۔ یہ ایک نئی ایپلی کیشن کو صرف اس صورت میں اجازت دیتا ہے جب، اس کے اضافے کے بعد، چلنے والی ایپلی کیشنز کا نیا سیٹ سی پی یو سیچوریشن کی حد پر قابو نہیں پاتا ہے۔ اعلی کمپریشن ٹیکنالوجیز کا استعمال کرنے والی عام ملٹی میڈیا ایپلی کیشنز کے لیے، سی پی یو پر فکسڈ ریزرویشن کے ساتھ ایسی ایپلی کیشنز کو چلانا کافی مشکل، ناقابل عمل یا تکلیف دہ ہو سکتا ہے۔ درحقیقت، سب سے زیادہ موثر ریزرویشن جسے استعمال کیا جانا چاہیے، وقت کے ساتھ مختلف کمپریشن کی سطح کی وجہ سے مختلف ہو سکتا ہے جس کے نتیجے میں ڈمپریشن کا وقت مختلف ہوتا ہے۔ روایتی ریئل ٹائم سسٹم ڈبلیو سی ای ٹی (بدترین کیس ایگزیکیوشن ٹائم) تجزیہ کی تکنیکوں کا استعمال کرتے ہیں تاکہ یہ حساب لگایا جا سکے کہ زیادہ سے زیادہ وقت کیا ہے، مثال کے طور پر، ایک پیریڈک ٹاسک اگلی مثال کے انتظار کو روکنے سے پہلے سی پی یو پر انجام دے سکتا ہے۔ اس طرح کا تجزیہ آج کے پیچیدہ ملٹی میڈیا ایپلی کیشنز میں بہت مشکل ہے، خاص طور پر جب معیاری پی سی جیسے عام مقصد والے ہارڈ ویئر پر چل رہا ہو، جہاں ملٹی لیول کیشز، سی پی یو ایگزیکیوشن پائپ لائنز، آن بس بفرز، ملٹی ماسٹر بسیں جیسی ٹیکنالوجیز میموری تک رسائی کے لیے درکار وقت کا تعین کرنے میں بہت سے غیر متوقع متغیرات متعارف کراتی ہیں۔ اس طرح کے سسٹمز پر، ایپلی کیشن کے اوسط متوقع بوجھ کی بنیاد پر سسٹم ڈیزائن کو ٹیون کرنا بہت زیادہ آسان ہے۔ بصورت دیگر، رن ٹائم کے دوران سسٹم کا نمایاں طور پر کم استعمال ہو سکتا ہے۔ جیسا کہ پہلے ہی ذکر کیا گیا ہے، ملٹی میڈیا ایپلی کیشنز کی بعض کلاسوں کے لیے، جیسے کہ ویڈیو پلیئر، رن ٹائم پر ایپلی کیشن کے لیے درکار سی پی یو کے حصے کے لیے مناسب فکسڈ ویلیو تلاش کرنا بالکل ناممکن ہے، کیونکہ لوڈ کے بھاری اتار چڑھاؤ کی وجہ سے ایپلی کیشن کے ذریعے پروسیس کیے جانے والے اصل ڈیٹا پر منحصر ہے۔ اوسط ضروریات کی بنیاد پر ایک مقررہ ریزرویشن، یا اس سے قدرے زیادہ، رن ٹائم کے دوران ناقص معیار کے عارضی ادوار کا باعث بنتا ہے (مثال کے طور پر۔ فلم پلے بیک)۔ دوسری طرف، زیادہ سے زیادہ متوقع لوڈ کی بنیاد پر ایک مقررہ ریزرویشن کے نتیجے میں زیادہ تر وقت کے لیے سی پی یو کا غیر ضروری اوور ریزرویشن ہوتا ہے، سوائے ان ادوار کے جن میں لوڈ واقعی زیادہ سے زیادہ متوقع قیمت تک پہنچ جاتا ہے۔ ایپلی کیشنز کی ان کلاسوں کے لیے، انکولی ریزرویشن تکنیک کا استعمال کرنا بہت زیادہ آسان ہے، جیسا کہ AQuoSA کی انکولی ریزرویشن پرت فراہم کرتی ہے، جو درخواست کے عمل کی کمپیوٹیشنل ضروریات کی مسلسل آن لائن نگرانی کرتی ہے، تاکہ وہ نگرانی شدہ ڈیٹا کے لحاظ سے سی پی یو پر کیے گئے ریزرویشن کو متحرک طور پر ڈھال سکے۔ انکولی ریزرویشن پرت ایپلی کیشنز کو کنٹرولرز کے ایک سیٹ کو استعمال کرنے کے لیے ایک API کو بے نقاب کرتی ہے جو ملٹی میڈیا ایپلی کیشنز کے وسیع سیٹ کے اندر کافی عام استعمال کے ہوتے ہیں۔ AQuoSA رسائی کنٹرول ماڈل لینکس کے زیادہ تر حقیقی وقت کے تغیرات کے لیے ترمیم شدہ OS کی حقیقی وقت کی صلاحیتوں کے صارفین کو سسٹم پر جڑ کے مراعات حاصل کرنے کی ضرورت ہوتی ہے۔ یہ سرایت شدہ نظام کے تناظر میں بالکل قابل قبول ہے۔ تاہم، یہ ملٹی یوزر سسٹمز کے لیے حد سے زیادہ ہے جہاں ملٹی میڈیا ایپلی کیشنز یا اسی طرح کے لیے ریئل ٹائم شیڈولنگ فیچرز کی ضرورت ہوتی ہے۔ لہذا، AQuoSA ایک وقف رسائی کنٹرول ماڈل کو سرایت کرتا ہے جس کے ذریعے سسٹم کے منتظمین: انفرادی صارفین یا گروپوں کے لیے ریئل ٹائم شیڈولنگ کوٹے کی وضاحت کر سکتے ہیں، کم از کم ضمانت شدہ بینڈوتھ کے لیے زیادہ سے زیادہ اقدار کے لحاظ سے جو OS انفرادی صارفین یا گروپوں کو مجموعی طور پر دے سکتا ہے ؛ کنٹرول کریں کہ کس طرح اختیاری مطلوبہ بینڈوتھ ویلیوز، کم از کم ضمانت شدہ اعداد و شمار سے زیادہ، مسابقتی صارفین کے درمیان تقسیم کی جاتی ہیں، اوورلوڈ کے حالات میں ؛ زیادہ سے زیادہ شیڈولنگ اوور ہیڈ کو کنٹرول کریں جو انفرادی صارفین یا گروپوں کے ذریعے بنائے گئے ریئل ٹائم ریزرویشن کی وجہ سے سسٹم پر عائد کیا جا سکتا ہے ؛ مثال کے طور پر، یہ کنٹرول کرنے کی اجازت دیتا ہے کہ کم از کم مدت کیا ہے جو ریئل ٹائم ریزرویشن میں متعین کی جا سکتی ہے۔ مزید تفصیلات آر ٹی اے ایس 2008 میں شائع ہونے والے موضوع پر مقالے میں مل سکتی ہیں۔ بیرونی لنکس AQuoSA پروجیکٹ ہوم پیج SCHED _ DEADLINE حوالہ جات لینکس کرنل میں ریئل ٹائم کمپیوٹنگ کی خصوصیات ہیں