نمایش نتایج 1 تا 6 از 6

نام تاپیک: زمانبندی

  1. #1
    کاربر دائمی آواتار yassersajjadi
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    مشهد
    پست
    104

    Question زمانبندی

    من دارم رو سیستم زمان بندی کار میکنم
    واسه هر فرایندی که در میخواد بره به حالت اجرا یک کونتم تعریف کردم
    quantum = waste * ln(c * waste)
    که سی واسه هر هسته یک عدد ثابته و waste هم مقدار زمان تعویض فرایند قبلی تا این فراینده ، اگه میخواینبدونین فرمول هم چطوری بدست اوردم ، ما واسه اینکه کم ترین اتلاف رو در زمان سی پی یو داشته باشیم باید زمان تعویض فرایند یا صفحات به مجموع زمان انجام فرایند یا همون کوانتم و زمان تعویض صفحات حد اقل بشه یعنی
    d(waste/(waste+quantum))=0
    که d همون دیفرانسیل تابع هست
    با حل این به همون فرمول بالا میرسیم که سی یک عدد ثابته و من مقدارشو برابر مقدار فرکانس سی پی یو در عرض باس که برابر تعداد بیت های جابه جا شده در هر ثانیه هستو گرفتم که معمولا مقدار کوانتم عددی بین ۲۰ و ۷۰ در میاد، این باعث میشه از انتظار کاربرانی که تو صف هستن جلوگیری بشه

    حالا سوال من اینه چطوری وقتی که سی پی یو در حال انجام یک فراینده بعد از اتمام کوانتم فرایندو سویچ کنم روی یک فرایند دیگه ، از وقفه استفاده کنم ؟! راه حل بهتری از وقفه ها نیست

  2. #2

    نقل قول: زمانبندی

    حالا سوال من اینه چطوری وقتی که سی پی یو در حال انجام یک فراینده بعد از اتمام کوانتم فرایندو سویچ کنم روی یک فرایند دیگه ، از وقفه استفاده کنم ؟! راه حل بهتری از وقفه ها نیست
    از وقفه تایمر PIT استفاده کنید و با استفاده از یک jump پرش رو انجام بدید. کاری که باید بکنید اینه که اول از همه وضعیت فرآیند که شما ثباتها و حافظه و... و البته پشته هست رو ذخیره کنید. بعد پرش رو انجام بدید.
    یک سری نکات خیلی ریز هست که باید رعایت کنید. مثلا اینکه همه متغییرها رو اول تابع تعریف کنید و یا ترتیب ذخیره و بازیابی ثباتها هم خیلی مهم هست. میتونید کد آراکس رو در این مورد نگاه و استفاده کنید.

  3. #3
    کاربر دائمی آواتار yassersajjadi
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    مشهد
    پست
    104

    نقل قول: زمانبندی

    ممنون از جواب شما ، من حالت اسلیپ رو قبلا اماده کرده ام از کد اراکس هم استفاده کردم قبلا مثلا ایجاد حلقه ها البته من یه تغییراتی ایجاد کردم توی نوع حلقه ها و از اشاره گر هایی استفاده کردم که نیاز به تخصیص حافظه نباشه دیگه ، وقتی برنامه به حالت اسلیپ میره ، باید دوباره بیدار بشه من کجا بدونم کدوم فرایند از این طریق به حلقه اسلیپ رفته تا دوباره بیدارش کنم ؟!

  4. #4

    نقل قول: زمانبندی

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

  5. #5
    کاربر دائمی آواتار yassersajjadi
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    مشهد
    پست
    104

    نقل قول: زمانبندی

    استفاده از صف بندی ، ایده ی خوبیه ، امتحان میکنم

  6. #6
    کاربر دائمی آواتار yassersajjadi
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    مشهد
    پست
    104

    نقل قول: زمانبندی

    یه صف اختصاصی واسش ساختم جواب داد

تاپیک های مشابه

  1. الگوریتم های زمانبندی CPU
    نوشته شده توسط me_kho در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 5
    آخرین پست: دوشنبه 01 خرداد 1385, 22:04 عصر
  2. چطوری میشه پروژه را زمانبندی مناسب کرد؟
    نوشته شده توسط .مهدی فهمیده غلامی. در بخش تحلیل و طراحی نرم افزار
    پاسخ: 7
    آخرین پست: چهارشنبه 13 اردیبهشت 1385, 14:04 عصر
  3. زمانبندی برای اجرای یک کار
    نوشته شده توسط JikSearch در بخش ASP.NET Web Forms
    پاسخ: 8
    آخرین پست: پنج شنبه 14 مهر 1384, 11:12 صبح
  4. پاسخ: 0
    آخرین پست: یک شنبه 04 مرداد 1383, 18:51 عصر
  5. نحوه تعریف برنامه زمانبندی
    نوشته شده توسط mehdi_moosavi در بخش SQL Server
    پاسخ: 1
    آخرین پست: شنبه 09 خرداد 1383, 19:46 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •