طرح های پژوهشی و تحقیقاتی دانشگاه ها در مورد : زمانبندی وظیفهها در ... |
حافظه مصرفی
زمان اجرای پردازنده
مشخصه طول عمر
نگهداشتپذیری
۲-۲-۱ انواع سیستم های بیدرنگ از نظر محدودیت زمانی
سیستمهای بیدرنگ از نظر محدودیت زمانی به سه دسته تقسیم میشوند:
- سیستمهای بیدرنگ سخت[۳۱]
- سیستمهای بیدرنگ نرم[۳۲]
- سیستم های بیدرنگ ثابت[۳۳]
در سیستمهای بیدرنگ سخت، کار انجام شده توسط سیستم، بایستی دقیقا به موقع انجام شود و هیچ گونه تاخیری قابل قبول نیست در غیر این صورت سبب ناتوانی سیستم میشود. در سیستمهای تعبیهشده، سیستم بیدرنگ سخت در سطح پایینی از سخت افزار فیزیکی عمل می کند. برای مثال سیستم کنترل موتور ماشین یک سیستم بیدرنگ سخت است چون ممکن است سیگنال های تاخیر به موتور آسیب برسانند. مثال دیگر از سیستم بیدرنگ سخت، سیستمهای تعبیهشده در دستگاههای پزشکی مثل دستگاه تنظیم کننده ضربان قلب وپردازشگر های کنترل صنعتی میباشد. سیستم بیدرنگ سخت برای رویدادهایی که به محدودیت زمانی واکنش نشان می دهند، ضروری اند، به عبارتی، تعریف مهلت زمانی سخت لزوماَ این نیست که این زمان غیر قابل از دست دادن باشد، بلکه مهلت زمانی سخت به سادگی تعیین میکند که یک عمل اگر مهلت زمانیاش از دست برود بیفایده است. معمولاً ضمانتهای معتبر مهلتهای زمانی، برای سیستمهایی موردنیاز هستند که در فاصلههای زمانی از خود واکنش نشان نمیدهند و باعث خسارتهای بزرگی میشوند]۵[ .
( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
در سیستمهای بیدرنگ نرم، ضرورتی در بررسی تمامی محدودیتهای زمانی سیستم نیست و در صورت تاخیر در اجرای وظیفه، سیستم دچار بحران و یا وقوع فاجعه نمیشود. یعنی هرچند این سیستمها میبایست پاسخی سریع داشته باشند ولی مسئله پاسخدهی، به حادی سیستمهای بیدرنگ سخت نیست. سیستمهای بیدرنگ نرم در دستیابیهای همزمان استفاده میشوند و قابلیت پاسخگویی به چند واقعه را دارا بوده و همچنین قابلیت تقسیمبندی پدیدهها به بحرانی و غیربحرانی را دارا میباشند. در اینگونه سیستمها، اولویت اجرا همیشه با پدیدههای بحرانی میباشد. یکی از معایب این سیستمها این است که وظایف غیربحرانی تا زمانی که وظایف بحرانی پاسخ دادهنشوند، بیپاسخ میمانند و این موضوع ممکن است سیستم را دچار تاخیر در پاسخگویی نماید. در سیستمهای بیدرنگ نرم، خطاهای ناشی از عدم اهمیت جدی به محدودیت زمانی، کیفیت را کاهش میدهد اما سیستم همچنان به کار خود ادامه میدهد. به عنوان نمونههایی از سیستمهای بیدرنگ نرم میتوان به سیستمهای پخش صوتی و تصویری (چندرسانهای[۳۴])، واقعیت مجازی[۳۵]، رزرواسیون شرکت های هواپیمایی و… اشاره کرد]۶[ .
در سومین نوع از سیستمهای بیدرنگ، به سیستمهای بیدرنگ ثابت میرسیم که در این نوع سیستمهای بیدرنگ که معمولا در تقسیمبندیها بهعنوان یک نوع مجزا، محسوب نمیشوند، سررسیدها هم به صورت سخت و هم به صورت نرم هستند، یعنی اجرا نشدن وظیفه تا سررسید خود، آن را بی فایده میکند(همانند سیستمهای بیدرنگ سخت)، در عین حال گاهی میتواند اجرا نشود(همانند سیستمهای بیدرنگ نرم). در واقع این سیستمها سررسیدهای سختی دارند اما در جاییکه یک احتمال کم و مشخص از خطا و نقض سررسید وجود دارد، سیستم میتواند این خطا را تحمل کند]۵[ .
۲-۲-۲ تابع بهرهوری در سیستمهای بیدرنگ
مسئله بههنگامبودن[۳۶]، یکی از کلیدیترین اصل در طراحی سیستمهای بیدرنگ میباشد. مسئله بههنگامبودن، دو جنبه کمی دارد؛ یکی اینکه سیستم باید در زمان مشخص و تعیینشده، وظیفه موردنظر را اجرا کند و دیگری اینکه باید علاوه بر بهموقع بودن، درستی و مفید بودن اجرا را نیز درنظر بگیرد. یعنی باید رابطه بین زمانی که نتایج تولید میشوند و مفید بودن این نتایج تولیدشده را نیز درنظر گرفت. این رابطه میتواند بوسیله توابع ریاضی نشان دادهشود.
بهرهوری یک وظیفه معمولی ( غیربیدرنگ[۳۷] ) کاملا مستقل از زمان است. نمودار تابع بهرهوری نسبت به زمان در یک سیستم با وظیفه غیربیدرنگ را در شکل ۲-۱- الف مشاهده میکنید. بهرهوری یک وظیفه بیدرنگ نرم تابعی است که بعد از فرارسیدن سررسید مربوطه، به تدریج کاهش یافته تا به صفر میرسد.(شکل ۲-۱- ب) نمونههایی از وظایف بیدرنگ نرم میتوان به VOIP [۳۸] ، تلویزیون دیجیتال، کنفرانس ویدئویی و بسیاری از سیستمهای چندرسانهای دیگر اشاره کرد. اما در مورد یک وظیفه بیدرنگ سخت، دو مورد باید قابل تشخیص باشد؛ اولین مورد که معمولتر است، این است که با فرارسیدن سررسید مربوطه، تابع بهرهوری بلافاصله مستقیم به صفر سقوط کند. (شکل ۲-۱- ج) و مورد دوم که بسیار بدتر از حالت اول است این است که تابع بهرهوری بعداز فرارسیدن سررسید، به منفی بینهایت (∞-) سقوط کند (شکل ۲-۱- د ). از نمونههای این حالت میتوان به سیستمهای نظامی اشاره کرد که در آن عواقب یک عملی که درست و بموقع انجام نشود، میتواند حتی بدتر از انجام ندادن آن عمل باشد]۵[ .
شکل ۲-۱- تابع بهرهوری u(t) برای انواع مختلف وظایف بیدرنگ ]۵[
شکل ۱–۲-۱- تابع بهرهوری u(t) برای انواع مختلف وظایف بیدرنگ
۲-۳ وظیفه
کنترل نرمافزاری سختافزار یک سیستم بیدرنگ، نقش مهمی در بهبود عملکرد سیستم دارد. به عنوان مثال در یک ماشینلباسشویی، کنترل قسمتهای مکانیکی و نمایش زمان باقیمانده برنامه شستشو و… نمونه کار[۳۹]هایی هستند که توسط یک سیستم تعبیهشده موجود در لباسشویی اجرا میشوند. به منظور فشرده سازی[۴۰] کارهای مختلف و بهبود قابلیت استفاده مجدد و نگهداشتپذیری، کارها از زیربخشهایی تشکیل شدهاند که به هر کدام از این زیربخشها، وظیفه گفتهمیشود.
به عبارت دیگر “یک وظیفه ، یک موجودیت[۴۱] نرمافزاری یا یک برنامه از قبل تعیینشده برای پردازش برخی ورودیهای خاص یا برای پاسخ به رفتاری خاص است که توسط رخدادی به آن منتقل میشود” ]۷[ .
معمولا یک وظیفه دنبالهای از دستورات است که شامل اجراها و تعاملات منابع میشود. یک دستور اجرایی شامل یک دنباله دلخواهی از دستورالعملهاست که هر دستور باید بخشی از مجموعه دستورالعمل پردازنده باشد که میتواند انحصاری[۴۲] یا غیرانحصاری[۴۳] باشد. وظایف یا به صورت تناوبی و یا به صورت پراکنده و غیرتناوبی اتفاق میافتند. وظایف تناوبی در یک دوره ثابت زمانی تکرار میشوند مانند تقسیم عددی بر مضرب وقفه ساعت. این درحالی است که وظایف غیرتناوبی در زمانهای تصادفی رخ میدهند. مانند یک وقفه از یک حسگر خارجی[۴۴]. وظایفی که به صورت پراکنده اتفاق میافتند، وظایف غیرتناوبی نامیده میشوند، به شرطی که این وظایف به جای داشتن یک سررسید سخت، یک سررسید نرم داشته یا بدون سررسید باشند.
یک وظیفه میتواند دریکی از شش وضعیت غیرموجود[۴۵]، ایجادشده[۴۶] ، آماده[۴۷] ، در حال اجرا[۴۸]، مسدود[۴۹] و یا خاتمهیافته[۵۰] قرار داشتهباشد. نحوه گذار از یک حالت به حالت دیگر با بهره گرفتن از نمودار انتقال حالت در شکل۲-۲ نشان داده شدهاست. در این نمودار یک گذار معتبر و معمول با فلش ممتد مشخص شده است و یک فلش غیرممتد نشاندهنده یک گذار در صورت هرگونه استثناء است]۸[ .
شکل ۲-۲- نمودار گذار حالت یک وظیفه ]۸[
شکل ۲۲-۲- نمودار گذار حالت یک وظیفه
۲-۳-۱ مدل وظیفه بیدرنگ
یک سیستم بیدرنگ میتواند شامل n وظیفه τi باشد و مجموعه وظایف آن را S مینامیم که عبارتاند از مجموعه همه وظایف موجود در سیستم که S={ τ۱ ,τ۲ ,τ۳ ,…, τn } . هر وظیفه تعدادی مشخصه قراردادی دارد که توسط این مشخصه ها به سیستمعامل و برنامهنویس معرفی میشود.
چهار مشخصه مهم و اصلی یک وظیفه عبارتاند از:
Ci : بدترین حالت زمان اجرای وظیفه
Di : سررسید وظیفه
Ti : دوره تناوب وظایف تناوبی
Pi : اولویت[۵۱] وظایف غیرتناوبی
همچنین زمان آزادشدن[۵۲] یک وظیفه با علامت ri نشان داده میشود و عبارتانداز زمانی که وظیفه جدید از وضعیت ایجادشدن و یا از حالت مسدود خارج شده و وارد صف آماده[۵۳] میشود. وظایف تناوبی بر اساس زمان رسیدن خود شامل دو نوع هستند. یک سری وظایفی که اصطلاحاً همگام[۵۴] نامیده میشوند که به این معنی است که همه وظایف دارای زمان ورود یکسان هستند. دسته دیگر از وظایف تناوبی که ناهمگام[۵۵] نامیده میشوند، وظایفی هستند که زمان ورود مختلفی دارند و هیچکدام از وظایف آن دارای زمان ورود مشابهی نیستند]۸[ .
۲-۳-۲ دستهبندی وظایف بیدرنگ
همه وظایف بیدرنگ بر اساس فرکانس آزادشدن آنها به سه دسته مختلف تناوبی، غیرتناوبی و پراکنده تقسیمبندی میشوند که بصورت زیر تعریف میشوند ]۹[ .
وظایف تناوبی:
یک وظیفه τi ،تناوبی نامیده میشود، هرگاه بهصورت پیوسته و با یک نرخ ثابت تکرار شود، که این نرخ ثابت دوره تناوب ( Ti ) نامیده میشود، به طوری که فاصله بین آزاد شدن دو وظیفه همواره برابر است با ri j+1 – ri j = Ti
وظایف پراکنده[۵۶] :
برخلاف وظایف تناوبی، وظایف پراکنده که گاهی اوقات وظایف رویداد محور و یا واکنشپذیر نیز نامیده میشوند، وظایفی هستند که در پاسخ به یک رویداد خارجی اجرا میشوند. در این حالت دوره تناوب وظایف پراکنده، حداقل زمان بین وقوع رویدادهایی که باعث آزادشدن وظیفه متناظر میشود را تعیین میکند. بنابراین فاصله بین آزادشدن هر دو وظیفه، نتیجه برآورده شدن شرط ri j+1 – ri j ≥ Ti است. از این رو یک وظیفه تناوبی در واقع یک حالت خاص از یک وظیفه پراکنده است.
فرم در حال بارگذاری ...
[دوشنبه 1400-09-29] [ 04:07:00 ق.ظ ]
|