Software fault tolerance
سافٹ ویئر فالٹ ٹالرنس کمپیوٹر سافٹ ویئر کی سسٹم یا ہارڈ ویئر کی غلطیوں کی موجودگی کے باوجود اپنے معمول کے عمل کو جاری رکھنے کی صلاحیت ہے۔ غلطی برداشت کرنے والا سافٹ ویئر ناکامیوں کے باوجود ضروریات کو پورا کرنے کی صلاحیت رکھتا ہے۔ تعارف واحد چیز جو مستقل ہے وہ تبدیلی ہے۔ یہ یقینی طور پر سافٹ ویئر سسٹمز کے بارے میں تقریبا کسی بھی رجحان سے زیادہ درست ہے، تمام سافٹ ویئر اسی طرح تبدیل نہیں ہوتے ہیں لہذا سافٹ ویئر فالٹ ٹالرنس کے طریقوں کو قابل قبول پروگرام کی حالت بنانے کے لیے متغیر اقدار میں ترمیم کرکے عمل درآمد کی غلطیوں پر قابو پانے کے لیے ڈیزائن کیا گیا ہے۔ سافٹ ویئر کی خرابی پر قابو پانے کی ضرورت آج سافٹ ویئر کی صنعتوں کو درپیش سب سے بڑھتے ہوئے چیلنجوں میں سے ایک ہے۔ سافٹ ویئر کی ترقی کے ابتدائی مرحلے میں غلطی کو برداشت کرنا ایک کلیدی غور ہونا چاہیے۔ سافٹ ویئر فالٹ ٹالرنس کے لیے مختلف میکانزم موجود ہیں، جن میں سے: ریکوری این ورژن سافٹ ویئر سیلف چیکنگ سافٹ ویئر آپریٹنگ سسٹم کی ناکامی کو روکتا ہے۔ کمپیوٹر ایپلی کیشنز کی بورڈ، ماؤس، اسکرین، ڈسک ڈرائیو، نیٹ ورک اور پرنٹر جیسے مشترکہ وسائل تک رسائی کے لیے ایپلیکیشن پروگرامنگ انٹرفیس (اے پی آئی) کا استعمال کرتے ہوئے کال کرتی ہیں۔ یہ دو طریقوں سے ناکام ہو سکتے ہیں۔ بلاک شدہ کالز فالٹس بلاک شدہ کالز ایک بلاک شدہ کال آپریٹنگ سسٹم کی خدمات کے لیے درخواست ہے جو نتائج دستیاب ہونے تک کمپیوٹر پروگرام کو روک دیتی ہے۔ مثال کے طور پر، ٹی سی پی کال اس وقت تک بلاک رہتی ہے جب تک کہ ریموٹ سرور سے جواب دستیاب نہ ہو جائے۔ یہ ہر بار ہوتا ہے جب آپ ویب براؤزر کے ساتھ کوئی عمل انجام دیتے ہیں۔ شدید حسابات طویل تاخیر کا سبب بنتے ہیں جس کا اثر بلاک شدہ اے پی آئی کال کی طرح ہوتا ہے۔ بلاکنگ کو سنبھالنے کے لیے دو طریقے استعمال کیے جاتے ہیں۔ تھریڈز ٹائمرز تھریڈنگ ہر اے پی آئی کال کے لیے عمل درآمد کی ایک علیحدہ ترتیب کی اجازت دیتی ہے جو بلاک کر سکتی ہے۔ یہ کسی وسائل کے انتظار کے دوران مجموعی طور پر ایپلی کیشن کو رکنے سے روک سکتا ہے۔ اس کا فائدہ یہ ہے کہ دیگر سرگرمیوں کے دوران اے پی آئی کال کی حالت کے بارے میں کوئی بھی معلومات ضائع نہیں ہوتی ہے۔ تھریڈڈ زبانوں میں درج ذیل شامل ہیں۔ ٹائمر بلاک شدہ کال میں خلل ڈالنے کی اجازت دیتے ہیں۔ ایک پیریڈک ٹائمر پروگرامر کو تھریڈنگ کی تقلید کرنے کی اجازت دیتا ہے۔ رکاوٹ عام طور پر بلاک شدہ اے پی آئی کال یا گہری حساب کی حالت سے متعلق کسی بھی معلومات کو تباہ کر دیتی ہے، لہذا پروگرامر کو اس معلومات پر الگ سے نظر رکھنی چاہیے۔ غیر تھریڈ شدہ زبانوں میں درج ذیل شامل ہیں۔ ٹائمر کے ساتھ بدعنوان حالت واقع ہوگی۔ مندرجہ ذیل کے ساتھ اس سے بچا جاتا ہے۔ ٹریک سافٹ ویئر اسٹیٹ سیمافور بلاکنگ فالٹس فالٹ پوزیکس کے مطابق سسٹمز میں سگنلز کے ذریعے متاثر ہوتے ہیں، اور یہ سگنلز اے پی آئی کالز، آپریٹنگ سسٹم اور دیگر ایپلی کیشنز سے نکلتے ہیں۔ کوئی بھی سگنل جس میں ہینڈلر کوڈ نہ ہو وہ ایک غلطی بن جاتا ہے جو درخواست کو قبل از وقت ختم کرنے کا سبب بنتا ہے۔ ہینڈلر ایک فنکشن ہے جو درخواست کو سگنل موصول ہونے پر آن ڈیمانڈ انجام دیا جاتا ہے۔ اسے مستثنی ہینڈلنگ کہا جاتا ہے۔ اختتامی سگنل واحد سگنل ہے جسے سنبھالا نہیں جا سکتا۔ دیگر تمام اشاروں کو ہینڈلر فنکشن کی طرف بھیجا جا سکتا ہے۔ ہینڈلر فنکشن دو وسیع اقسام میں آتے ہیں۔ ابتدائی ان لائن ابتدائی ہینڈلر افعال کو سافٹ ویئر شروع ہونے پر ہر سگنل کے ساتھ جوڑا جاتا ہے۔ اس کی وجہ سے متعلقہ سگنل آنے پر ہینڈلر فنکشن شروع ہوتا ہے۔ اس تکنیک کو تھریڈنگ کی تقلید کے لیے ٹائمر کے ساتھ استعمال کیا جا سکتا ہے۔ ان لائن ہینڈلر فنکشن خصوصی نحو کا استعمال کرتے ہوئے کال سے وابستہ ہوتے ہیں۔ سب سے زیادہ واقف مندرجہ ذیل ہے جو C + + اور جاوا کے ساتھ استعمال ہوتا ہے۔ آزمائیں {API _ کال () ؛} کیچ {سگنل _ ہینڈلر _ کوڈ ؛} ہارڈ ویئر کی ناکامی سافٹ ویئر کے لیے ہارڈ ویئر فالٹ ٹالرنس کے لیے درج ذیل کی ضرورت ہوتی ہے۔ بیک اپ ریڈینڈینسی بیک اپ اس صورت میں معلومات کو برقرار رکھتا ہے جب ہارڈ ویئر کو تبدیل کرنا ضروری ہے۔ یہ دو میں سے ایک طریقے سے کیا جا سکتا ہے۔ باقاعدہ شیڈول پر سافٹ ویئر دستی بیک اپ کا استعمال کرتے ہوئے خودکار شیڈول بیک اپ معلومات کی بحالی بیک اپ کو متبادل نظام پر بیک اپ کی معلومات دستیاب کرنے کے لیے معلومات کی بحالی کی حکمت عملی کی ضرورت ہوتی ہے۔ بحالی کا عمل عام طور پر وقت طلب ہوتا ہے، اور بحالی کا عمل مکمل ہونے تک معلومات دستیاب نہیں ہوں گی۔ ریڈنڈنسی کا انحصار ایک سے زیادہ کمپیوٹر کمپیوٹنگ ڈیوائس پر معلومات کی نقل کرنے پر ہے تاکہ بازیابی میں تاخیر مختصر ہو۔ یہ ایک لائیو سسٹم میں مسلسل بیک اپ کا استعمال کرتے ہوئے حاصل کیا جا سکتا ہے جو ضرورت پڑنے تک غیر فعال رہتا ہے (مطابقت پذیر بیک اپ)۔ یہ معلومات کو نقل کرکے بھی حاصل کیا جا سکتا ہے کیونکہ یہ متعدد ایک جیسے نظاموں پر بنایا گیا ہے، جو بازیابی میں تاخیر کو ختم کر سکتا ہے۔ بلٹ ان سیلف ٹیسٹ کا سامان غلطی برداشت کرنے والا ڈیزائن غلطی برداشت کرنے والا نظام غلطی برداشت کرنے والا کمپیوٹر سسٹم امیونٹی سے آگاہ پروگرامنگ لاجک بلٹ ان سیلف ٹیسٹ این ورژن پروگرامنگ سیفٹی انجینئرنگ اوپن ایس اے ایف-سروس کی دستیابی اے پی آئی حوالہ جات مزید پڑھنے والے سافٹ ویئر کی غلطی برداشت، کارنیگی میلن یونیورسٹی میں کرس اناسیو کے ذریعہ (1998) سافٹ ویئر کوالٹی سافٹ ویئر فن تعمیر غلطی رواداری