تالار گفتمان مانشت
کوانتوم در الگوریتم های زمان بندی - نسخه‌ی قابل چاپ

کوانتوم در الگوریتم های زمان بندی - m-kafiyan - 17 آبان ۱۳۹۳ ۰۹:۰۰ ب.ظ

دانشمندان سلام

من داشتم تست میزدم به یک سوالی برخوردم تو فصل سوم پارسه که دکتر حقیقت سر کلاسشون جوابش رو دادن اما من یکم متوجه نشدم میخواستم ببینم کسی میتونه بیشتر توضیحش بده یا نه؟

سوال این بود : در یک سیستم RR اندازه کوانتوم q و زمان سوئیچ s و میانگین زمان اجرا تا درخواست I/o برابر r است.اگر q=s و r>q با صرف نظر از زمان سوئیچ به خاطره وقفه i/o راندمان چقدر هست.
گزینه ۱) کمتر از ۵۰%
گزینه ۲)۵۰%(پاسخ مورد نظر طراح)
گزینه ۳)به سمت صفر میل میکند.
گزینه ۴)به ۱۰۰% میل میکند.
استاد حقیقت گفتند که این تست غلط هست چون اگر زمان سوئیچ به خاطره وقفه رو در نظر نگیریم بیشتر از ۵۰% میشه چون اگر از کوانتوم خودش فرایند کامل استفاده نکنه فرایند بعدی یک کوانتوم میگیره و اونموقع بیشتر از یک کوانتوم اجرا داریم.

و بعد گفتند اگر cpu burst time مضرب صحیحی از q میبود گزینه مورد نظر طراح درست بود.
حالا سوال من اگر بخواهم دقیق بگم اینه وقتی فرایند کوانتومش تموم نشده cpu رو رها میکنه با ادامه کوانتومش چیکار میکنن؟ ادامه کوانتوم رو + یک کوانتوم میدهند به فرایند بعدی ؟ یا نه به فرایند بعدی تنها یک کوانتوم خودش رو میدهن؟

بعد اگر به فرایند بعدی تنها یک کوانتوم خودش رو میدهن که جواب این تست نمیتونه بیشتر از ۵۰ درصد باشه.

RE: کوانتوم در الگوریتم های زمان بندی - Mohammad-A - 18 آبان ۱۳۹۳ ۱۲:۱۷ ق.ظ

تا جایی که من یادم میاد، فرایند زمانی کوانتوم رو ناقص ترک میکنه که کار خود فرایند تموم بشه. یعنی وسط اجرای فرایند در کوانتوم فکر میکنم نمیشه CPU رو ازش گرفت چون مشکلاتی از قبیل پشته و... رو به همراه داره.
ضمن اینکه در مدل‌های زمان‌بندی اولویت هم، ما یک صف فرایندها رو داریم که به ترتیب میخوان اجرا بشن، اینجا تصمیم‌گیری انجام میشه نه موقع اجرای یک فرایند. یعنی وقتی‌که یک فرایند وارد مرحله‌ی اجرا میشه، کوانتومش باید تمام بشه. این موضوع در اشتراک زمانی هم دیده میشه.

RE: کوانتوم در الگوریتم های زمان بندی - m-kafiyan - 18 آبان ۱۳۹۳ ۰۹:۴۵ ب.ظ

(۱۸ آبان ۱۳۹۳ ۱۲:۱۷ ق.ظ)Mohammad-A نوشته شده توسط:  تا جایی که من یادم میاد، فرایند زمانی کوانتوم رو ناقص ترک میکنه که کار خود فرایند تموم بشه. یعنی وسط اجرای فرایند در کوانتوم فکر میکنم نمیشه CPU رو ازش گرفت چون مشکلاتی از قبیل پشته و... رو به همراه داره.
ضمن اینکه در مدل‌های زمان‌بندی اولویت هم، ما یک صف فرایندها رو داریم که به ترتیب میخوان اجرا بشن، اینجا تصمیم‌گیری انجام میشه نه موقع اجرای یک فرایند. یعنی وقتی‌که یک فرایند وارد مرحله‌ی اجرا میشه، کوانتومش باید تمام بشه. این موضوع در اشتراک زمانی هم دیده میشه.

حرف شما کاملا درسته شما فرض کنید که فرایند زودتر از یک کوانتوم cpu رو به هر دلیلی رها میکنه به قول شما اصلا تموم بشه کارش با cpu من میخواهم بدونم با باقی مونده کوانتومش چیکار میکنه سیستم عامل؟
قطعا busywaiting که نمیره . یا میندازتش دور یا باقی مونده کوانتوم رو میده به فرایند بعدی که تو صف هست .یعنی فرایند بعدی علاوه بر کوانتوم خودش باقی مونده کوانتوم فرایند قبلی که حالا به هر دلیلی cpu رو رها کرده رو هم میگیره
الان من میخواهم بدونم کدوم یکی از این حالات هست؟

RE: کوانتوم در الگوریتم های زمان بندی - Mohammad-A - 19 آبان ۱۳۹۳ ۰۱:۲۷ ب.ظ

فرض کنید کوانتوم ما ۱۰ واحد باشه و یک فرایند به ۷ واحد نیاز داشته باشه.
اینجا یه سه واحد اختلاف داریم، فرایند از این این سه واحد استفاده نمی‌کنه و CPU رو رها میکنه و از سیستم خارج میشه. حالا که این فرایند از سیستم خارج شده، این زمان‌بند هست که تصمیم میگیره CPU رو به کدوم فرایند بعدی (بر اساس صف‌های زمان‌بندی) بده.

بنابراین این اختلاف که در بالا سه واحد بود، توسط این فرایند استفاده نمیشه و بیرون میاد.
اما توجه کنید که فرایند بعدی که میخواد CPU بگیره، یک کوانتوم کامل بهش اختصاص داده میشه. یعنی اون سه واحد کلاً دیگه دیده نمیشه. و این باقی‌مانده‌ی کوانتوم کلاً در نظر گرفته نمیشه.

مثلاً فرایند A نیاز به ۷ واحد و فرایند B نیاز به ۱۲ واحد داره. اولویت زمان‌بندی هم فرض کنید اول به A و بعد به B هست. اندازه‌ی کوانتوم رو هم ۱۰ فرض کنید. زمان سوئیچ رو هم صفر.

در این شرایط، A ابتدا میاد CPU رو میگیره، هفت واحد رو استفاده میکنه و از سیستم خارج میشه. نوبت به فرایند B میرسه که CPU رو میگیره و از ۱۰ واحد کوانتومش استفاده میشه. از این زمان فرایند دیگه‌ای توی سیستم نیست، پس ۲ واحد دیگه هم به کوانتوم فعلی فرایند اضافه میشه و از سیستم خارج میشه. و کل زمان اجرا برابر با ۱۹ واحد میشه.

در این مثال، A از همه‌ی کوانتومش استفاده نکرد. B به خاطر نبودن فرایند جدید، ۲ واحد هم اجازه داشت از کوانتوم بیشتر استفاده کنه. ضمن اینکه توجه کنید اگر اینجا زمان سوئیچ داشتیم، موقعی که B میخواد ۲ واحد بیشتر استفاده کنه، نیازی به سوئیچ نداره چراکه اطلاعات پشته و اشاره‌گرها هنوز وجود دارند.

RE: کوانتوم در الگوریتم های زمان بندی - m-kafiyan - 19 آبان ۱۳۹۳ ۱۰:۴۶ ب.ظ

(۱۹ آبان ۱۳۹۳ ۰۱:۲۷ ب.ظ)Mohammad-A نوشته شده توسط:  فرض کنید کوانتوم ما ۱۰ واحد باشه و یک فرایند به ۷ واحد نیاز داشته باشه.
اینجا یه سه واحد اختلاف داریم، فرایند از این این سه واحد استفاده نمی‌کنه و CPU رو رها میکنه و از سیستم خارج میشه. حالا که این فرایند از سیستم خارج شده، این زمان‌بند هست که تصمیم میگیره CPU رو به کدوم فرایند بعدی (بر اساس صف‌های زمان‌بندی) بده.

بنابراین این اختلاف که در بالا سه واحد بود، توسط این فرایند استفاده نمیشه و بیرون میاد.
اما توجه کنید که فرایند بعدی که میخواد CPU بگیره، یک کوانتوم کامل بهش اختصاص داده میشه. یعنی اون سه واحد کلاً دیگه دیده نمیشه. و این باقی‌مانده‌ی کوانتوم کلاً در نظر گرفته نمیشه.

مثلاً فرایند A نیاز به ۷ واحد و فرایند B نیاز به ۱۲ واحد داره. اولویت زمان‌بندی هم فرض کنید اول به A و بعد به B هست. اندازه‌ی کوانتوم رو هم ۱۰ فرض کنید. زمان سوئیچ رو هم صفر.

در این شرایط، A ابتدا میاد CPU رو میگیره، هفت واحد رو استفاده میکنه و از سیستم خارج میشه. نوبت به فرایند B میرسه که CPU رو میگیره و از ۱۰ واحد کوانتومش استفاده میشه. از این زمان فرایند دیگه‌ای توی سیستم نیست، پس ۲ واحد دیگه هم به کوانتوم فعلی فرایند اضافه میشه و از سیستم خارج میشه. و کل زمان اجرا برابر با ۱۹ واحد میشه.

در این مثال، A از همه‌ی کوانتومش استفاده نکرد. B به خاطر نبودن فرایند جدید، ۲ واحد هم اجازه داشت از کوانتوم بیشتر استفاده کنه. ضمن اینکه توجه کنید اگر اینجا زمان سوئیچ داشتیم، موقعی که B میخواد ۲ واحد بیشتر استفاده کنه، نیازی به سوئیچ نداره چراکه اطلاعات پشته و اشاره‌گرها هنوز وجود دارند.

مرسی دو تا نکته خیلی خوب گفتین تو حرفاتون.

میشه لطفا جواب تست بالا که درستش رو دکتر حقیقت گفتن بیشتر از ۵۰% میشه با همین نکاتی که گفتید تفسیر کنید.چون من هرچی روش فکر کردم متوجه نشدم چرا اگر ادامه کوانتوم ها رو مصرف نکنیم باید بیشتر از ۵۰% بشه؟

RE: کوانتوم در الگوریتم های زمان بندی - zobde - 26 آبان ۱۳۹۳ ۰۳:۵۲ ب.ظ

(۱۷ آبان ۱۳۹۳ ۰۹:۰۰ ب.ظ)m-kafiyan نوشته شده توسط:  دانشمندان سلام

من داشتم تست میزدم به یک سوالی برخوردم تو فصل سوم پارسه که دکتر حقیقت سر کلاسشون جوابش رو دادن اما من یکم متوجه نشدم میخواستم ببینم کسی میتونه بیشتر توضیحش بده یا نه؟

سوال این بود : در یک سیستم RR اندازه کوانتوم q و زمان سوئیچ s و میانگین زمان اجرا تا درخواست I/o برابر r است.اگر q=s و r>q با صرف نظر از زمان سوئیچ به خاطره وقفه i/o راندمان چقدر هست.
گزینه ۱) کمتر از ۵۰%
گزینه ۲)۵۰%(پاسخ مورد نظر طراح)
گزینه ۳)به سمت صفر میل میکند.
گزینه ۴)به ۱۰۰% میل میکند.
استاد حقیقت گفتند که این تست غلط هست چون اگر زمان سوئیچ به خاطره وقفه رو در نظر نگیریم بیشتر از ۵۰% میشه چون اگر از کوانتوم خودش فرایند کامل استفاده نکنه فرایند بعدی یک کوانتوم میگیره و اونموقع بیشتر از یک کوانتوم اجرا داریم.

و بعد گفتند اگر cpu burst time مضرب صحیحی از q میبود گزینه مورد نظر طراح درست بود.
حالا سوال من اگر بخواهم دقیق بگم اینه وقتی فرایند کوانتومش تموم نشده cpu رو رها میکنه با ادامه کوانتومش چیکار میکنن؟ ادامه کوانتوم رو + یک کوانتوم میدهند به فرایند بعدی ؟ یا نه به فرایند بعدی تنها یک کوانتوم خودش رو میدهن؟

بعد اگر به فرایند بعدی تنها یک کوانتوم خودش رو میدهن که جواب این تست نمیتونه بیشتر از ۵۰ درصد باشه.

سلام
توضیحات آقای Mohammad-A درسته .
سوال شما ، سوال ۲۱ فصل زمانبندی کتاب دکتر حقیقت هست.
جواب درست "کمتر از ۵۰%" می شه . اما گزینه اعلام شده "۵۰% " بوده.

یا زمان مورد نیاز هر فرآیند مضرب q هست که به ازای هر q کار یک s زمان سوییچ گرفته می شه و کارایی دقیقا ۵۰ درصد می شه . در غیر این صورت بعضی موارد (مربوط به کوآنتم انتهایی هر کار) زمان کمتر از q کار انجام می شه و زمان s برای سوییچ گرفته می شه. پس زمان سوییچ بیشتر از نصف زمان کل رو می گیره و اجرا کمتر از نصف رو و کارایی زیر ۵۰% می شه.
حالا اینکه می فرمایین استاد گفتن کارایی بالای ۵۰ هست ممکنه اشتباه کلامی بوده. کتاب معتبرتر هست .

RE: کوانتوم در الگوریتم های زمان بندی - m-kafiyan - 01 آذر ۱۳۹۳ ۱۲:۲۷ ق.ظ

خوب اگر اینطوری هست که میگید یعنی گزینه کمتر از ۵۰% درست هست که منم موافقش هستم اما من یادم هست که سر کلاس گفتند از نظر ایشون هیچ کدوم از گزینه ها صحیح نیست .
به همین دلیل این ابهام برای من ایجاد شد چون اگر هر کسی کمی تست از مبحث مربوط بزنه میفهمه که تو تست های مربوط به زمان بندی ها اگر کاری که دوستمون اشاره کردن رو انجام ندهیم اصلا به جواب درست نخواهیم رسید.اما این ابهام برای من وجود داشت و داره که چرا ایشون همچین صحبتی کردن و ویس هاهم که موجوده خیلی صریح گفتند از نظر ایشون اگر گزینه بیشتر از ۵۰% بود گزینه ی درست بود.

حالا زیاد دیگه مهم نیست گاهی باید ابهامات رو بزاریمشون کنار چون وقت زیاد روشون تلف شده.