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