انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

مشاور پایان نامه|پایان نامه سيستم عاملهای بلادرنگ


مقدمه:

مهمترين کاربرد سيستمهای بلادرنگ در رابطه با عمليات کنترل پردازش است . خاصيت مهم سيستم عاملهای بلادرنگ اين است که هر فعل و انفعال با کامپيوتر بايستی يک پاسخ در مدت زمانی که از قبل تعيين شده است دريافت دارد . سيستم بايستی بتواند اين زمان پاسخ را گارانتی بکند (عواقب زمان پاسخ بد در رابطه با سيستمی که يک هواپيما و يا يک کارخانه شيميايی را کنترل ميکند را ميتوان براحتی تصور کرد ) . مسئله زمان پاسخ  در عمل به اين معناست که معمولاً نرم افزار بصورت خاص-منظور است و به کاربرد بخصوصی اختصاص يافته است . دستگاههای جنبی چنين سيستمهايی نيز به احتمال قوی دستگاههای بخصوصی هستند . مثلاً ممکن است که از وسايل حس کننده که با سيگنالهای آنالوگ عمل می کنند به جای ترمينالهای عادی استفاده شوند























مشخصات سيستمهای عامل بلادرنگ:
سيستمهای عامل بلادرنگ را ميتوان با داشتن ملزومات يگانه در پنج حوزه عمومی زير مشخص نمود:
•    قطعی بودن
•    پاسخ دهی
•    کنترل کاربر
•    قابليت اطمينان
•    نرمش با خطا
سيستم عاملی قطعی است که عمليات خود را در زمانهای ثابت يا فواصل زمانی از پيش تعيين شده ، انجام دهد. وقتی چند فرايند در رقابت برای منابع و زمان پردازنده هستند ، هيچ سيستمی نمی تواند قطعی باشد. در يک سيستم عامل بلادرنگ ، درخواستهای فرايند برای خدمت توسط رخدادها و زمانبندی های خارجی اعمال می شود. ميزان پاسخگويي سيستم عامل به درخواستها ، اولاً به سرعتی که می تواند به وقفه ها پاسخ دهد و ثانياً به اينکه آيا سيستم ظرفيت کافی برای اداره تمام درخواستها ، در زمان معلوم دارد يا خير، وابسته است .
يک معيار مفيد برای قابليت عملکرد قطعی سيستم عامل، حداکثر تأخير از زمان ورود يک وقفه دستگاه با اولويت بالا ، تا زمان شروع خدمت است . در سيستم های عامل غير بلا درنگ ، اين تأخير ممکن است در محدوده دهها تا صدها ميلی ثانيه باشد ، در حاليکه در يک سيستم عامل بلادرنگ ممکن است اين تأخير حد بالايي از محدوده چند ميکرو ثانيه تا يک ميلی ثانيه داشته باشد .
يک مشخصه مربوط ولی مجزا ، پاسخ دهی است. قطعی بودن درباره اين است که سيستم عامل پس از تصديق ، چه مدت صرف خدمت دادن به وقفه می نمايد . موارد پاسخ دهی عبارتند از :
1.    مقدار زمان لازم برای اداره اوليه وقفه و شروع به اجرای روال خدماتی وقفه . اگر برای اجرای روال خدماتی وقفه نياز به تغيير متن باشد ، تأخير بيش از حالتی است که می توانست روال خدماتی وقفه در متن فرايند جاری اجرا گردد .
2.    مقدار زمان لازم برای اجرای روال خدماتی وقفه. معمولاً اين زمان بستگی به سخت افزار دارد.
3.    تأثير تو در تو بودن وقفه ها . اگر يک روال خدماتی وقفه با ورود وقفه ديگری دچار وقفه شود، خدمت مربوط به آن دچار تأخير ميگردد.
قطعی بودن و پاسخ دهی به همراه هم ، زمان پاسخ به رخدادهای خارجی را تعيين می کنند. ويژگی زمان پاسخ در سيستم های بلادرنگ بسيار حساس است ، زيرا چنين سيستم هايي بايد نيازهای زمانی اعمال شده توسط افراد ، دستگاهها و جريان داده ها در خارج از سيستم را رعايت کنند.
عموماً کنترل کاربر در يک سيستم بلادرنگ بسيار وسيع تر از کنترل کاربر در سيستم عامل عادی است .
در سيستم عامل عادی، کاربر يا هيچ گونه کنترلی بر عمل زمانبندی ندارد يا فقط می تواند رهنمونهای کلی ارائه کند. مثلاً کاربران را از نظر اولويت طبقه بندی نمايد . ولی در يک سيستم بلادرنگ لازم است به کاربر اجازه کنترل دقيق اولويت وظيفه داده شود. کاربر بايد بتواند ميان وظيفه های سخت و نرم تفاوت قائل شود و اولويتهای نسبی در هر طبقه را تعيين نمايد . همچنين يک سيستم بلادرنگ به کاربر اجازه می دهد تا مشخصاتی مثل استفاده از صفحه بندی يا مبادله فرا يند ، کدام فرايندها بايد در حافظه اصلی مقيم باشند ، کدام الگوريتم های انتقال از ديسک به کار گرفته شوند و اينکه فرايندهای در اولويتهای متفاوت چه حقوقی داشته باشند را تعيين نمايد .
قابليت اطمينان :
قابليت اطمينان نوعاً در سيستم های بلادرنگ بسيار مهمتر از سيستم های عادی است .
يک خرابی گذرا در سيستم غير بلادرنگ ممکن است تا تعمير يا تعويض آن ، منجر به سطح خدمت دهی پايين تر گردد . ولی در سيستم بلادرنگی که در حال پاسخ دهی و کنترل رخدادها در زمان حقيقی است ، از دست رفتن يا کاهش کارآمدی يک پردازنده می تواند عواقب فاجعه آميزی (از ضرر مادی گرفته تا آسيب ديدگی کلی دستگاهها يا حتی ازدست رفتن جانها  )داشته باشد.
همانگونه که در ساير موارد نيز ديده می شود . تفاوت سيستم عامل بلادرنگ و غير بلادرنگ در يک درجه است . حتی يک سيستم بلادرنگ نيز بايد به گونه ای طراحی شود که به حالات مختلف خرابی ، پاسخ دهد.
نرمش با خطا:
 به مشخصه ای اشاره دارد که با خرابی سيستم ، تا حد ممکن قابليتها و داده های آن حفظ شود . مثلاً يک سيستم سنتی UNIX ، وقتی خراب شدن داده ها در هسته سيستم عامل را تشخيص دهد ، يک پيام شکست بر روی ميز فرمان متصدی ارائه کرده ، محتويات حافظه را برای تجزيه و تحليل بعدی شکست ، بر روی ديسک تخليه می کند و به اجرای سيستم پايان می دهد .
در مقابل، يک سيستم بلادرنگ سعی بر اين دارد که يا اشکال را تصحيح کنديا در حاليکه به اجرا ادامه می دهد تأثيرات اشکال را حداقل سازد . نوعاً ، سيستم به کاربر يا فرايند کاربر اطلاع می دهد که بايد عمل اشکال زدايي را آغاز کند و سپس به عمليات خود (احتمالاًدر سطح پايين تری از خدمت دهی ) ادامه می دهد. در صورتی که خاموش کردن سيستم لازم باشد ، برای حفظ سازگاری پرونده و داده ها نيز تلاش خواهد شد.
يکی از موارد مهم نرمش با خطا به عنوان پايداری شناخته می شود. يک سيستم بلادرنگ پايدار در مواردی که ارضای تمام مهلتهای زمانی وظيفه غير ممکن باشد ، مهلتهای زمانی وظيفه های بسيار حساس و اولويت بالاتر را (حتی با عدم رعايت مهلتهای زمانی وظيفه های با حساسيت کمتر  ) برآورده می کند.
برای برآوردن نيازهای ذکر شده ، سيستمهای بلادرنگ امروزی نوعاً شامل خصوصيات زير هستند :
•    تعويض سريع فرايند يا نخ
•    اندازه کوچک
•    قابليت پاسخ سريع به وقفه های خارجی
•    عملکرد چند وظيفه ای با ابزارهای ارتباط بين فرايندها ،از قبيل راهنماها ، علائم و رخدادها
•    استفاده از پرونده های ترتيبی خاصکه می توانند داده ها را با نرخ سريعی انباشته کنند.
•    زمانبندی يا قبضه کردن بر اساس اولويت
•    حداقل سازی فواصل زمانی که طی آن وقفه ها غير فعال می شوند.
•    اوليه هايي جهت تأخير انداختن وظيفه ها برای يک مدت ثابت و برای توقف يا از سرگيری وظيفه ها
•    هشدارها و علائم پايان مهلت زمانی خاص
قلب يک سيستم عامل بلادرنگ زمانبند کوتاه مدت وظيفه هاست برای طراحی چنين زمانبندی، عدایت و حداقل سازی متوسط زمان پاسخ مهم نيست. آنچه مهم است تکميل (يا شروع) کليه وظيفه های بلادرنگ سخت در مهلت زمانی آنها و همچنين تکميل (يا شروع) حداکثر وظيفه های بلادرنگ نرم در مهلت زمانی آنهاست.
اغلب سيستمهای عامل بلادرنگ امروزی قادر نيستند مستقيماً با مهلتهای زمانی مقابله کنند. در عوض، به گو نه ای طراحی شده اندکه تا حد امکان به وظيفه های بلادرنگ پاسخگو باشند. به طوری که وقتی يک مهلت زمانی نزديک می شود ، يک وظيفه به سرعت زمانبندی گردد. از اين ديدگاه ،کاربردهای بلادرنگ، نوعاً نياز به زمانهای پاسخ قطعی (در محدوده چندين ميلی ثانيه تا زير ميلی ثانيه ) تحت شرايط بسيار متفاوت دارند. کاربردهای سريعتر(مثلاًدر شبيه ساز هواپيمای نظامی) محدوديتهايي در حدود10 تا100 ميکرو ثانيه دارند.
شکل1-1 طيفی از موارد ممکن را نشان مي دهد. در يک زمانبند با قبضه کردن که زمانبندی ساده نوبت گردشی را به کار می گيرد ، يک وظيفه بلادرنگ به صف آماده افزوده می شودتا برهه زمانی بعدی را بدست آورد(شکل 1-1 الف) . در اين مورد معمولاً مدت زمانبندی برای کاربردهای بلادرنگ قابل قبول نيست . به طور جايگزين، در يک زمانبند بدون قبضه کردن ، می توانيم از يک راهکار زمانبندی اولويت دار استفاده کنيم و به وظيفه های بلادرنگ اولويت بالاتری دهيم. وظيفه بلادرنگی که آماده باشد، به محض اينکه فرايند جاری مسدود گردد يا به پايان برسد ،زمانبندی خواهد شد(شکل1-1 ب) . اگر يک وظيفه کند و با اولويت پايين در بخش بحرانی خود در حال اجرا باشد،اين عمل می تواند به تأخير چندين ثانيه ای منجر گردد. پس اين رويداد هم نمی توندقابل قبول باشد. يک رويکرد اميد بخش تر ترکيب اولويتها و وقفه های بر پاية ساعت است.قبضه کردنها در فواصل منظم رخ می دهند،وقتی يک نقطه قبضه کردن می رسد ، اگر وظيفه با اولويت تری در انتظار باشدوظيفه جاری قبضه می گردد، حتی اگر شامل وظيفه هايي باشد که بخشی از هسته سيستم عامل هستند. چنين تأخيری می تواند در حد چندين ميلی ثانيه باشد(شکل1-1 ج). اگرچه رويکرد آخر می تواند برای برخی از کاربردهای بلادرنگ کافی باشد، ولی برای کاربردهايي که انتظارات بيشتری دارند کافی نخواهد بود و در اين موارد رويکرد انتخاب شده گاهی به نام قبضه کردن فوری خوانده می شود.      
در اين رويکرد، سيستم عامل تقريباً بلافاصله به وقفه پاسخ می دهد، مگر اينکه سيستم در بخش قفل شده بحرانی قرار داشته باشد. به اين ترتيب تأخير زمانی برای يک وظيفه بلادرنگ می تواند به 100 ميکروثانيه يا کمتر کاهش يابد.
زمانبندی بلادرنگ:
زمانبندی بلادرنگ يکی از موضوعات فعال در تحقيقات علوم کامپيوتر است. در اين قسمت رويکردهای متفاوت زمانبندی بلادرنگ را مرور کرده و نگاهی به دو طبقه مرسوم از الگوريتم های زمانبندی بلادرنگ ،می پردازيم.
در بررسی الگوريتم های زمانبندی بلادرنگ ، مشاهده می شود که رويکردهای متفاوت زمانبندی به موارد زير بستگی دارد:
 
                         شکل 1 – 1: زمانبندی يک فرايند بلادرنگ


1.    آيا سيستم قابليت زمانبندی را تحليل می کند؟
2.    اگر انجام می دهد ،اين تحليل را بطور ايستا انجام می دهد يا پويا ؟
3.    آيا نتيجه تجزيه وتحليل ،خود موجب يک زمانبندی يا طرحی برای توزيع وظيفه ها در زمان اجرا می گردد ؟ بر اساس اين ملاحظات ، طبقه های الگوريتمی زير را مشخص کرده است :
•    رويکردهای ايستای مبتنی بر جدول:
در اين رويکردها تحليلی ايستا از زمانبنديهای ممکن انجام می گيرد. نتيجه اين تحليل يک زمانبندی است که در زمان اجرا تعيين می کند چه موقعی يک وظيفه بايد شروع به اجرا کند.
•    رويکردهای ايستای مبتنی بر اولويت و با قبضه کردن:
باز هم يک تحليل ايستا انجام می پذيرد، ولي زمانبندی از آن حاصل نمی شود. در عوض، از اين تحليل برای تعيين اولويت وظيفه ها استفاده می گردد، به طوری که يک زمانبند سنتی مبتنی بر اولويت و با قبضه کردن بتواند استفاده شود.
•    رويکردهای پويا بر اساس برنامه ريزی :
به جای اينکه امکان سنجی قبل از شروع اجرا و به طور ايستا انجام شود،در زمان اجرا و به صورت پويا صورت می گيرد. وظيفه جديد فقط زمانی برای اجرا پذيرفته می شودکه ارضای محدوديتهای زمانی آن ممکن باشد. يکی از نتايج اين تحليل و امکان سنجی ، زمانبندی يا طرحی است که برای تصميم در مورد توزيع وقت پردازنده به اين وظيفه به کار می رود.


•    رويکردهای پويا با بهترين کوشش:
هيچ گونه تحليل و امکان سنجی انجام نمی گيرد . سيستم سعی می کند تمام مهلتهای زمانی را بر آورده کندو هر فرايند آغاز شده ای که مهلت زمانی آن منقضی شده باشد را قطع می نمايد.
زمانبندی ايستای مبتنی بر جدول، برای وظيفه های متناوب کاربرد دارد . وروديهای تحليل ، شامل زمان ورود متناوب ، زمان اجرا ، پايان مهلت زمانی متناوب و اولويت نسبی هر وظيفه است . زمانبند سعی می کند نيازهای کليه وظيفه های متناوب را بر آورده نمايد. اين رويکرد قابل پيش بينی ولی بدون انعطاف است. زيرا هر تغيير در نيازهای يک وظيفه، نيازمند زمانبندی مجدد است.روش زودترين مهلت زمانی اول  يا ديگر روشهای مهلت زمانی متناوب نمونه هايي از اين گروه از الگوريتم های زمانبندی هستند.
زمانبندی ايستای مبتنی بر اولويت و با قبضه کردن،از راهکارهای زمانبندی مبتنی بر اولوطت و با قبضه کردن که در اغلب سيستمهای چند برنامه ای غير بلادرنگ معمول است،استفاده می کند. در يک سيستم غير بلادرنگ عوامل متعددی برای تعيين اولويت به کار می روند. مثلاً در يک سيستم اشتراک زمانی ، اولويت فرايند بسته به اينکه در تنگنای پردازنده يا در تنگنای ورودی/ خروجی باشدتغيير می کند. در سيستم بلادرنگ تخصيص اولويت به محدوديتهای زمانی هر وظيفه مربوط است. يکی از مثالهای اين رويکرد الگوريتم نرخ يکنواخت است، که اولويت ايستای وظيفه بر اساس طول تناوب آنها مشخص می گردد.
در زمانبندی پويا بر اساس برنامه ريزی ، پس از ورود يک وظيفه و قبل از شروع آن کوشش می شود تا علاوه بر وظيفه های زمانبندی شده قبلی ، اين جديد نيز در زمانبندی قرار گيرد. اگر ورودی جديد بتواند به گونه ای زمانبندی شود که مهلتهای زمانی آن برآورده شود و هيچ يک از وظيفه هايي که در حال حاضر زمانبندی شده اند مهلت زمانی را از دست ندهند ،در اين صورت زمانبندی ، برای جا دادن وظيفه جديد ، مورد تجديد نظر قرار می گيرد.
زمانبندی پويا با بهترين کوشش، رويکردی است که توسط بسياری از سيستمهای عامل بلادرنگ تجاری امروزی به کار گرفته می شود. زمانی که وظيفه ای وارد می شود، سيستم بر اساس مشخصات وظيفه ،اولويتی به آن می دهد . نوعاً گونه ای از زمانبندی مهلت زمانی (مانند زودترين مهلت زمانی )به کار گرفته می شود. معمولاً وظيفه ها نامتناوب هستندو در نتيجه تجزيه و تحليل ايستای زمانبندی ممکن نيست. با اين نوع زمانبندی ، تا آمدن يک مهلت زمانی يا تکميل آن وظيفه ،نمی دانيم که محدوديت زمانی برآورده خواهد شديا خير. اين مهمترين عيب اين نوع زمانبندی است، مزيت آن سادگی پياده سازی آن است  
زمانبندی مهلت زمانی
اکثر سيستم عاملهای بلادرنگ امروزی با هدف شروع هر چه سريعتر وظيفه های بلادرنگ طراحی شده اند، در نتيجه بر روی اداره سريع وقفه و توزيع وقت پردازنده به وظيفه تأکيد دارند. در واقع ،اين معيارخيلی مفيدی در ارزيابی سيتمهای عامل نيست.
به طور کلی کاربردهای بلادرنگ نه در مورد سرعت،بلکه در مورد تکميل (يا آغاز) به موقع وظيفه حساس هستند، که عليرغم تقاضاهای پويای منبع ،اضافه بارهای پردازش و خطاهای سخت افزاری و نرم افزاری خيلی زود يا دير نشوند . پس اولويتها ابزار خامی هستند و جوابگوی نياز تکميل (يا آغاز ) به موقع فرايند در با ارزشترين زمان نمی باشند.
در سالهای اخير ، پيشنهادهايي برای رويکردهای مناسبتر و توانمندتر برای زمانبندی وظيفه های بلادرنگ ارائه شده است . تمام اينها براين اساس هستندکه اطلاعات بيشتری از هر وظيفه داشته باشيم. در کلی ترين صورت ،اطلاعات زيردر مورد هر وظيفه می تواند به کار آيد:
•    زمان آمادگی:
زمانی که در طی آن وظيفه برای اجرا آماده می شود . در مورد يک وظيفه تکراری يا متناوب ، در واقع اين دنباله ای از زمانهاست که از قبل مشخص است. در مورد وظيفه نامتناوب ،ممکن است اين زمان از قبل مشخص باشد ،يا فقط وقتی واقعاً وظيفه برای اجرا آماده می گردد سيستم عامل آن را بداند.
•    مهلت زمانی شروع:
زمانی که وظيفه بايد در آن شروع گردد.
•    مهلت زمانی کامل شدن:
زمانی که وظيفه بايد تا آن موقع تکميل شود.معمولاً يک کاربرد بلادرنگ،يا دارای مهلت زمانی شروع يا دارای مهلت زمانی تکميل است و هر دو را ندارد
•    زمان پردازش:
زمان لازم برای اجرا وتکميل وظيفه، در برخی موارد اين زمان داده می شود. در موارد ديگر سيستم عامل يک متوسط نمايي را حساب می کند. در بعضی از سيستمهای زمانبندی ، اين اطلاعات به کار نمی رود.
•    منابع مورد نياز:
مجموعه منابعی (به جز پردازنده) که در زمان اجرا مورد نياز وظيفه است.
•    اولويت:
اهميت نسبی وظيفه را نشان می دهد . وظيفه های بلدرنگ سخت ، می توانند اولويت مطلق داشته باشندکه اگر مهلت زمانی از دست برودسيستم شکست می خورد . اگر بنا باشد سيستم به هر صورتی به اجرا ادامه دهد، هم به وظيفه های سخت و هم به وظيفه های نرم می توان اولويتهای نسبی تخصيص دادتا به عنوان راهنمای زمانبندی به کار روند.
•    ساختار زير وظيفه:
يک وظيفه می تواند به يک زير وظيفه اجباری و يک زير وظيفه اختياری تجزيه شود. فقط زير وظيفه اجباری دارای مهلت زمانی سخت است.
ابعاد متعددی بر عمل زمانبندی بلادرنگ در موقعی که مهلتهای زمانی به حساب می آيد مرتب است:
کدام وظيفه در زمانبندی بعدی باشدو چه نوع قبضه کردنی مجاز است. می توان نشان داد که برای يک راهبرد قبضه کردن خاص و استفاده از مهلتهای زمانی آغاز يا تکميل ، سياست زمانبندی وظيفه با زودترين مهلت زمانی ، بخشی از وظيفه هاکه مهلت زمانی را از دست می دهند را حداقل می سازد. اين نتيجه برای هر دو پيکربندی تک پردازنده ای و چند پردازنده ای صادق است  
مسئله مهم ديگر طراحی، قبضه کردن است. موقعی که مهلتهای زمانی شروع مشخص شده باشند، زمانبند بدون قبضه کردن معنی دارد. در اين مورد ،اين مسئوليت خود وظيفه بلادرنگ است که پس از تکميل اجرای بخش اجباری يا بحرانی ، خودش را مسدودکند و ارضای ساير مهلتهای زمانی را ميسر سازد. اين برای الگوی شکل 1-1 ب مناسب است . برای سيستمی با مهلتهای زمانی در کامل شدن، راهبرد قبضه کردن (شکل 1-1 ج يا د) مناسبترين است . مثلاً اگر وظيفهX در حال اجرا و وظيفه Y در حالت آماده باشد ، ممکن است در شرايطی تنها راه برای اينکه X وY  مهلتهای زمانی تکميل خود را برآورده کنند، قبضه کردن X ، اجرای Y تا کامل شدن و سپس از سرگيری X تا کامل شدن باشد .
به عنوان مثالی از زمانبندی وظيفه های متناوب با مهلتهای زمانی در تکميل ،سيستمی را در نظر بگيريدکه داده ها را از دو حس کننده A و B جمع آوری و پردازش می کند. مهلت زمانی برای جمع آوری داده ها از حس کننده A هر20 ميلی ثانيه يک بار و برای حس کننده B هر 50 ميلی ثانيه يک بار است. برای پردازش و سربار سيستم عامل هر نمونه داده از حس کننده A مدت 10 ميلی ثانيه و برای هر نمونه از حس کننده B مدت 25 ميلی ثانيه زمان لازم است. جدول 1-1 اطلاعات اجرای دو وظيفه را خلاصه کرده است.
کامپيوتر قادر است تا هر 10 ميلی ثانيه يک تصميم زمانبندی بگيرد. فرض کنيد تحت اين اين شرايط ، سعی در استفاده از يک طرح زمانبندی اولويت دار بنماييم . دو نمودار زمانی اول شکل 1-2 نتيجه را نشان می دهند. اگر اولويت A بيشتر باشد، به اولين مورد وظيفه B فقط 20 ميلی ثانيه زمان پردازش داده خواهد شد( در دو قطعه 10 ميلی ثانيه ای) ، تا اينکه مهلت زمانی آن فرا می رسد ودر نتيجه شکست می خورد. اگر اولويت بالاتر به B داده شود، A اولين مهلت زمانی خود را از دست خواهد داد. آخرين نمودار زمانی استفاده از زمانبندی زودترين مهلت زمانی را نشان می دهد . در زمان t=0 ،A1 وB 1  وارد می شوند. از آنجا که A1 دارای زودترين مهلت زمانی است ، اول زمانبندی می شود. وقتی A1 تکميل می گردد پردازنده به B1 داده می شود. در t=20 ،A2 وارد می شود. به دليل اينکه مهلت زمانی A2 زودتر از B1 است ،B1 دچار وقفه شده و A2 تا تکميل اجرا می گردد. سپس B1 در t=30 از سر گرفته می شود. در t=40 ،A3 وارد می شود.ولی B1دارای مهلت زمانی پايان زودتری است و مجاز
 
                                     شكل 1 – 2:زمانبندی وظيفه های بلادرنگ
است تا تکميل در t=45 ، ادامه يابد. سپس پردازنده به A3 داده می شود و در t=55 به پايان می رسد.
در اين مثال ، از طريق زمانبندی وقبضه کردن در هر نقطه ، برای دادن اولويت به وظيفه ای که زودترين مهلت زمانی را دارد، تمام نيازهای سيستم برآورده می شود. از آنجا که وظيفه ها متناوب و قابل پيش بينی هستند، يک روکرد زمانبندی ايستای مبتنی بر جدول به کار رفته است.
حال طرحی را برای اداره وظيفه های نا منتاوب با مهلت زمانی شروع در نظر بگيريد . قسمت بالای شکل 1-2 زمانهای ورود و مهلتهای زمانی شروع برای مثالی که شامل پنج وظيفه است را نشان می دهد. هر وظيفه دارای زمان اجرای 20 ميلی ثانيه است. در جدول 1-1 اطلاعات اجرای اين پنج وظيفه خلاصه شده است .
يک طرح سر راست و ساده ، زمانبندی وظيفه با زودترين مهلت زمانی و اجازه اجرا تا تکميل آن است . با استفاده از اين رويکرد در مثال شکل 1-3 ، عليرغم اينکه وظيفه B به خدمت فوری نياز دارد ، اين خدمت دريغ شده است . اين خطر برخورد با وظيفه های نامتناوب ، به خصوص در مورد مهلتهای زمانی در شروع است. تصحيحی در اين سياست کارآمدی را بهبود می بخشد به شرطی که بتوانيم مهلتهای زمانی را پيش از زمانی که وظيفه آماده گردد، بدانيم . اين سياست که زودترين مهلت زمانی با زمانهای بی کار غير اجباری نام دارد به صورت زير کار می کند: همواره وظيفه واجد شرايط با داشتن زودترين مهلت زمانی را زمانبندی کرده و اجازه می دهد آن وظيفه تا تکميل ادامه يابد. ممکن است وظيفه واجد شرايط آماده نباشد، که می تواند موجب بی کاری پردازنده (حتی اگر وظيفه های آماده موجود باشند) گردد. در مثال مورد نظر، با وجود اينکه A تنها وظيفه آماده است ، سيستم از زمانبندی آن خودداری می کند . نتيجه اين است که گرچه پردازنده با حداکثر کارايي به کار گرفته نشده است ولی کليه نيازهای  زمانبندی برآورده شده اند . برای مقايسه ، سياست خدمت به ترتيب ورود (FCFS) نيز نمايش داده شده است . در اين حالت وظيفه های B و  E به مهلتهای زمانی خود نمی رسند. 
 
                           شكل 1 – 3 : زمانبندی وظيفه های بلادرنگ نامتناوب
    
       
                        جدول 1-2 :اطلاعات اجرای پنج وظيفه نامتناوب
فرايند    زمان ورود    زمان اجرا    مهلت زمانی پايان
A    10    20    110
B    20    20    20
C    40    20    50
D    50    20    90
E    60    20    70

 


انجام پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

انجام پایان نامه | دانلود مقاله

سفارش پایان نامه

نقشه