تالار گفتمان مانشت

نسخه‌ی کامل: سوال سیستم عامل(زمان دسترسی در صفحه بندی)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
یک سیستم صفحه بندی در نظر بگیرید که از دیسک صفحه بندی با زمان دسترسی 5 میلی ثانیه استفاده می نماید آدرس‌ها از طریق یک جدول صفحه در حافظه ترجمه می شوند هر دسترسی به حافظه دارای زمان 100 نانو ثانیه می باشد برای بهبود کارایی حافظه کمکی اضافه شده است که دارای زمان دسترسی 20 نانو ثانیه است فرض کنید 95 درصد دسترسی‌ها از طریق حافظه کمکی انجام می گیرد و از مابقی دسترسی‌ها 1 درصد آنها ایجاد خطای فقدان صفحه می نماید مقدار موثر زمان دسترسی چقدر است؟

تحلیل من:
ما یک حافظه کمکی داریم که یه حافظه سریعه ولی با ظرفیت کم که همون تی ال بی هست. صفحات سه دستن
1)اون صفحه هایی که تو تی ال بی هستن پس فقط کافیه 20 نانو بذاریم شماره صفحه را تو تی ال بی پیدا کنیم و 100 نانو بریم صفحه را برداریم
2)اون صفحاتی که تو جدول صفحه نیستن که کلا همه زمانها را روی هم رفته می گیریم همون زمان صفحه بندی یعنی 5 میلی ثانیه
3)اون صفحاتی که توی جدول صفحه هستند اول باید بریم تو تی ال بی ببنیم هست یا نه (20 نانو) بعد بریم تو جدول صفحه پیداش کنیم (100نانو) بعد بریم سراغش تو حافظه (100 نانو)

البته من هنوز هم خیلی گیجم و اگه کسی بهتر بتونه توضیح بده ممنون می شم بازم اینجا مقسمی و عابد سلیمی دو جور مختلف گفتن
هزینه بدست آوردن آدرس صفحاتی که تو TLB هستند:

19 = 20 * 0.95

هزینه بدست آوردن آدرس صفحاتی که تو TLB نیستند و تو حافظه اصلی هستند:

6 = (100+20) * 0.05

هزینه بدست آوردن آدرس صفحاتی که تو TLB نیستند و تو حافظه اصلی هم نیستند و برای بدست آوردن آدرس باید به دیسک رجوع شود:

2500 = (6^10*5) * 0.01 * 0.05

خوب حالا آدرس هر صفحه ای که بخواهیم رو میتونیم در مدت زمان 2525 = 2500+19+6 بدست بیاوریم.

و 100 نانوثانیه‌ام برای دسترسی به خانه حافظه نیاز داریم.

پس در کل میشه‌: 2625 = 100 + 2525
آقای polarisia ممنون
ولی مقسمی اینجوری حل کرده
{(100*2+20)0/99 +6^10 * 5* 0/01 } 0/05 + (100+20) 0/95 [/align]
نانو ثانیه2710 =

در حالی که این جواب در گزینه‌ها نیست و مقسمی گزینه یک را انتخاب که به جواب نزدیکتره:
1)2625
2)3125
3)5625
4)6125

نقل قول: هزینه بدست آوردن آدرس صفحاتی که تو TLB نیستند و تو حافظه اصلی هستند:

6 = (100+20) * 0.05
به نظرتون این قسمت یه ضریب 0/99 نمی خواد
اگه ممکنه یکم بیشتر توضیح بدید
(08 اردیبهشت 1390 05:28 ب.ظ)marjan2001 نوشته شده توسط: [ -> ]آقای polarisia ممنون
ولی مقسمی اینجوری حل کرده
{(100*2+20)0/99 +6^10 * 5* 0/01 } 0/05 + (100+20) 0/95 [/align]
نانو ثانیه2710 =

خوب چون فکر کرده اونجوری درسته!Big Grin

(08 اردیبهشت 1390 05:28 ب.ظ)marjan2001 نوشته شده توسط: [ -> ]
نقل قول: هزینه بدست آوردن آدرس صفحاتی که تو TLB نیستند و تو حافظه اصلی هستند:

6 = (100+20) * 0.05
به نظرتون این قسمت یه ضریب 0/99 نمی خواد
اگه ممکنه یکم بیشتر توضیح بدید

نه نمی‌خواد. هر صفحه‌ای که تو TLB نباشه حداقل 120ns لازم داره تا آدرسش پیدا بشه. اونایی که تو دیسک‌ام هستند این 120 تارو میخوان.
و به غیر از این 120 تا 2500 تای دیگم وقت لازم دارن.
فک کنم فهمیدم یعنی شما گفتید به هر حال صفحه ای که تو tlb نباشه یه رجوع به tlb و بعدش رجوع به جدول صفحه را می خواد
حالا یه هزینه اضافی هم اون صفحاتی می خوان که تو جدول صفحه هم پیدا نشن که به این هزینه اضافه می گن زمان صفحه بندی


بعد از اینکار حالا تازه باید بریم سراغ صفحه تو حافظه (100 نانو ثانیه)

درسته؟
خیلی ممنون آقای polarisia هیچ استادی به این خوبی نمی تونست اینا واسم توضیح بده مدتها بود باهاش درگیر بودم

اگه بازم سوال داشتم کمکم می کنید؟
(08 اردیبهشت 1390 05:38 ب.ظ)marjan2001 نوشته شده توسط: [ -> ]فک کنم فهمیدم یعنی شما گفتید به هر حال صفحه ای که تو tlb نباشه یه رجوع به tlb و بعدش رجوع به جدول صفحه را می خواد
حالا یه هزینه اضافی هم اون صفحاتی می خوان که تو جدول صفحه هم پیدا نشن که به این هزینه اضافه می گن زمان صفحه بندی

بله، حتما میخواد. چون مرحله به مرحله میایم. اگه تو TLB نبود میریم سراغ حافظه. اگه اونجام نبود میریم سراغ دیسک.

اسمشو دیگه نمیدونم چی بهش میگن. فکر نمی کنم صفحه‌بندی باشه!

(08 اردیبهشت 1390 05:38 ب.ظ)marjan2001 نوشته شده توسط: [ -> ]بعد از اینکار حالا تازه باید بریم سراغ صفحه تو حافظه (100 نانو ثانیه)

بله. تازه آدرسشو گیر آوردیم و باید به محتویات خانه‌ای تو حافظه با این آدرس که بدست آوردیم بریم.

(08 اردیبهشت 1390 05:38 ب.ظ)marjan2001 نوشته شده توسط: [ -> ]خیلی ممنون آقای polarisia هیچ استادی به این خوبی نمی تونست اینا واسم توضیح بده مدتها بود باهاش درگیر بودم

اگه بازم سوال داشتم کمکم می کنید؟

چشم!
یه نکته ای من بگم برای اینکه این تیپ سوالات رو درک کنید تودرس سیستم عامل, برید کتاب معماری هادی یوسفی بخش کش و حافظه‌ها بخونید . اونوقت مفهومی مطلب رو درک میکنید .
یه مطلب دیگه اینکه همیشه cpu ادرس‌ها رو برای حافظه اصلی می فرسته نه برای کش خب . حالا این وسط کش این ادرس‌ها رو که واسه حافظه اصلی فرستاده شده رو نگاه میکنه اگه دیتاش بود خب مدت زمان دسترسی سریعتر از حافظه اصلی میشه ولی اگه نبود خب می ره تو حافظه اصلی اون رو بر می داره دستکاری می کند .کلا اگه ادرس صفحه چه توکش یا چه تو حافظه باشه (cpu برای حافظه ادرس میده )کلا معنی hit یا اثابت می ده و اگر نباشه معنی miss یا عدم اثابت می ده .حالا عدم اثبات یعنی چی یعنی اینکه میره از رو دیسک page رو بر می داره میاره تو حافظه . (الگوریتم های جایگزینی) . ونکته اخر اینکه hit و miss یه احتمال هستند نه مقدار دقیق. امید وارم مفید بوده باشه
حالا یه سوال مشابه دیگه:
سیستمی از روش صفحه بندی درخواستی استفاده می نماید اگر زمان دسترسی به حافظه 100 نانو ثانیه و احتمال خطای صفحه 0.1 باشد در صورت وقوع نقص صفحه زمان بارگذاری صفحه جدید در حافظه 1 میلی ثانیه باشد آنگاه زمان دستیابی موثر به حافظه چیست؟
خب من می گم اینجا دیگه tlb نداریم پس دو حالت هست:
1) صفجه تو جدول صفحه باشه که باید 100 نانو بذاریم بریم سراغ جدول صفحه بعدم 100 نانو برای مراجعه به صفحه

2) صفجه تو جدول صفحه نباشه که باید 100 نانو بذاریم بریم سراغ جدول صفحه بعدم 1 میلی بذاریم واسه بارگذاری 100 نانو برای مراجعه به صفحه
مقسمی نوشته:
6^10*0/1 +100*0/9
به نظرم باید اینطوری باشه:

(100)*9/10
+
(6^10+100)*1/10
+
100
=
100200

البته مطمئن نیستم!
آقای polarisia خیلی ممنون

ولی چرا مقسمی این جوری نوشته و جالبه که نه جواب شما و نه جواب مقسمی هیچ کدوم تو گزینه‌ها نیست:
1)190 نانو
2)990 نانو
3)980 نانو
4)200 نانو

مقسمی این جور تحلیل کرده که منظور از 1 میلی در صورت سوال 1 میکرو بوده
مطمئنید که برحسب نانو گزینه‌ها رو داده؟؟
خب اخه تو فرمول شما 10 بتوان 6 یعنی تبدیل میشه به میلی ؟؟ .
بله مطمئنم
مقسمی بعدش گفته حتما منظور طراح این حل بوده:
3^10*0/1 +100*0/9
که می شه:190 نانو
لینک مرجع