تالار گفتمان مانشت
سوال سیستم عامل(زمان دسترسی در صفحه بندی) - نسخه‌ی قابل چاپ

سوال سیستم عامل(زمان دسترسی در صفحه بندی) - marjan2001 - 08 اردیبهشت ۱۳۹۰ ۰۳:۴۱ ب.ظ

یک سیستم صفحه بندی در نظر بگیرید که از دیسک صفحه بندی با زمان دسترسی ۵ میلی ثانیه استفاده می نماید آدرس‌ها از طریق یک جدول صفحه در حافظه ترجمه می شوند هر دسترسی به حافظه دارای زمان ۱۰۰ نانو ثانیه می باشد برای بهبود کارایی حافظه کمکی اضافه شده است که دارای زمان دسترسی ۲۰ نانو ثانیه است فرض کنید ۹۵ درصد دسترسی‌ها از طریق حافظه کمکی انجام می گیرد و از مابقی دسترسی‌ها ۱ درصد آنها ایجاد خطای فقدان صفحه می نماید مقدار موثر زمان دسترسی چقدر است؟

تحلیل من:
ما یک حافظه کمکی داریم که یه حافظه سریعه ولی با ظرفیت کم که همون تی ال بی هست. صفحات سه دستن
۱)اون صفحه هایی که تو تی ال بی هستن پس فقط کافیه ۲۰ نانو بذاریم شماره صفحه را تو تی ال بی پیدا کنیم و ۱۰۰ نانو بریم صفحه را برداریم
۲)اون صفحاتی که تو جدول صفحه نیستن که کلا همه زمانها را روی هم رفته می گیریم همون زمان صفحه بندی یعنی ۵ میلی ثانیه
۳)اون صفحاتی که توی جدول صفحه هستند اول باید بریم تو تی ال بی ببنیم هست یا نه (۲۰ نانو) بعد بریم تو جدول صفحه پیداش کنیم (۱۰۰نانو) بعد بریم سراغش تو حافظه (۱۰۰ نانو)

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

RE: سوال سیستم عامل - polarisia - 08 اردیبهشت ۱۳۹۰ ۰۴:۴۶ ب.ظ

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

۱۹ = ۲۰ * ۰/۹۵

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

۶ = (۱۰۰+۲۰) * ۰/۰۵

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

۲۵۰۰ = (۶^۱۰*۵) * ۰/۰۱ * ۰/۰۵

خوب حالا آدرس هر صفحه ای که بخواهیم رو میتونیم در مدت زمان ۲۵۲۵ = ۲۵۰۰+۱۹+۶ بدست بیاوریم.

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

پس در کل میشه‌: ۲۶۲۵ = ۱۰۰ + ۲۵۲۵

RE: سوال سیستم عامل - marjan2001 - 08 اردیبهشت ۱۳۹۰ ۰۵:۲۸ ب.ظ

آقای polarisia ممنون
ولی مقسمی اینجوری حل کرده
{(۱۰۰*۲+۲۰)۰/۹۹ +۶^۱۰ * ۵* ۰/۰۱ } ۰/۰۵ + (۱۰۰+۲۰) ۰/۹۵ [/align]
نانو ثانیه۲۷۱۰ =

در حالی که این جواب در گزینه‌ها نیست و مقسمی گزینه یک را انتخاب که به جواب نزدیکتره:
۱)۲۶۲۵
۲)۳۱۲۵
۳)۵۶۲۵
۴)۶۱۲۵

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

۶ = (۱۰۰+۲۰) * ۰/۰۵
به نظرتون این قسمت یه ضریب ۰/۹۹ نمی خواد
اگه ممکنه یکم بیشتر توضیح بدید

RE: سوال سیستم عامل - polarisia - 08 اردیبهشت ۱۳۹۰ ۰۵:۳۳ ب.ظ

(۰۸ اردیبهشت ۱۳۹۰ ۰۵:۲۸ ب.ظ)marjan2001 نوشته شده توسط:  آقای polarisia ممنون
ولی مقسمی اینجوری حل کرده
{(۱۰۰*۲+۲۰)۰/۹۹ +۶^۱۰ * ۵* ۰/۰۱ } ۰/۰۵ + (۱۰۰+۲۰) ۰/۹۵ [/align]
نانو ثانیه۲۷۱۰ =

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

(۰۸ اردیبهشت ۱۳۹۰ ۰۵:۲۸ ب.ظ)marjan2001 نوشته شده توسط:  
نقل قول: هزینه بدست آوردن آدرس صفحاتی که تو TLB نیستند و تو حافظه اصلی هستند:

۶ = (۱۰۰+۲۰) * ۰/۰۵
به نظرتون این قسمت یه ضریب ۰/۹۹ نمی خواد
اگه ممکنه یکم بیشتر توضیح بدید

نه نمی‌خواد. هر صفحه‌ای که تو TLB نباشه حداقل ۱۲۰ns لازم داره تا آدرسش پیدا بشه. اونایی که تو دیسک‌ام هستند این ۱۲۰ تارو میخوان.
و به غیر از این ۱۲۰ تا ۲۵۰۰ تای دیگم وقت لازم دارن.

RE: سوال سیستم عامل - marjan2001 - 08 اردیبهشت ۱۳۹۰ ۰۵:۳۸ ب.ظ

فک کنم فهمیدم یعنی شما گفتید به هر حال صفحه ای که تو tlb نباشه یه رجوع به tlb و بعدش رجوع به جدول صفحه را می خواد
حالا یه هزینه اضافی هم اون صفحاتی می خوان که تو جدول صفحه هم پیدا نشن که به این هزینه اضافه می گن زمان صفحه بندی


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

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

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

RE: سوال سیستم عامل - polarisia - 08 اردیبهشت ۱۳۹۰ ۰۵:۵۲ ب.ظ

(۰۸ اردیبهشت ۱۳۹۰ ۰۵:۳۸ ب.ظ)marjan2001 نوشته شده توسط:  فک کنم فهمیدم یعنی شما گفتید به هر حال صفحه ای که تو tlb نباشه یه رجوع به tlb و بعدش رجوع به جدول صفحه را می خواد
حالا یه هزینه اضافی هم اون صفحاتی می خوان که تو جدول صفحه هم پیدا نشن که به این هزینه اضافه می گن زمان صفحه بندی

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

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

(۰۸ اردیبهشت ۱۳۹۰ ۰۵:۳۸ ب.ظ)marjan2001 نوشته شده توسط:  بعد از اینکار حالا تازه باید بریم سراغ صفحه تو حافظه (۱۰۰ نانو ثانیه)

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

(۰۸ اردیبهشت ۱۳۹۰ ۰۵:۳۸ ب.ظ)marjan2001 نوشته شده توسط:  خیلی ممنون آقای polarisia هیچ استادی به این خوبی نمی تونست اینا واسم توضیح بده مدتها بود باهاش درگیر بودم

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

چشم!

RE: سوال سیستم عامل - لهمشد - ۰۸ اردیبهشت ۱۳۹۰ ۰۶:۲۶ ب.ظ

یه نکته ای من بگم برای اینکه این تیپ سوالات رو درک کنید تودرس سیستم عامل, برید کتاب معماری هادی یوسفی بخش کش و حافظه‌ها بخونید . اونوقت مفهومی مطلب رو درک میکنید .
یه مطلب دیگه اینکه همیشه cpu ادرس‌ها رو برای حافظه اصلی می فرسته نه برای کش خب . حالا این وسط کش این ادرس‌ها رو که واسه حافظه اصلی فرستاده شده رو نگاه میکنه اگه دیتاش بود خب مدت زمان دسترسی سریعتر از حافظه اصلی میشه ولی اگه نبود خب می ره تو حافظه اصلی اون رو بر می داره دستکاری می کند .کلا اگه ادرس صفحه چه توکش یا چه تو حافظه باشه (cpu برای حافظه ادرس میده )کلا معنی hit یا اثابت می ده و اگر نباشه معنی miss یا عدم اثابت می ده .حالا عدم اثبات یعنی چی یعنی اینکه میره از رو دیسک page رو بر می داره میاره تو حافظه . (الگوریتم های جایگزینی) . ونکته اخر اینکه hit و miss یه احتمال هستند نه مقدار دقیق. امید وارم مفید بوده باشه

سوال سیستم عامل - marjan2001 - 08 اردیبهشت ۱۳۹۰ ۰۹:۳۲ ب.ظ

حالا یه سوال مشابه دیگه:
سیستمی از روش صفحه بندی درخواستی استفاده می نماید اگر زمان دسترسی به حافظه ۱۰۰ نانو ثانیه و احتمال خطای صفحه ۰/۱ باشد در صورت وقوع نقص صفحه زمان بارگذاری صفحه جدید در حافظه ۱ میلی ثانیه باشد آنگاه زمان دستیابی موثر به حافظه چیست؟
خب من می گم اینجا دیگه tlb نداریم پس دو حالت هست:
۱) صفجه تو جدول صفحه باشه که باید ۱۰۰ نانو بذاریم بریم سراغ جدول صفحه بعدم ۱۰۰ نانو برای مراجعه به صفحه

۲) صفجه تو جدول صفحه نباشه که باید ۱۰۰ نانو بذاریم بریم سراغ جدول صفحه بعدم ۱ میلی بذاریم واسه بارگذاری ۱۰۰ نانو برای مراجعه به صفحه
مقسمی نوشته:
۶^۱۰*۰/۱ +۱۰۰*۰/۹

سوال سیستم عامل - polarisia - 08 اردیبهشت ۱۳۹۰ ۱۱:۳۳ ب.ظ

به نظرم باید اینطوری باشه:

(۱۰۰)*۹/۱۰
+
(۶^۱۰+۱۰۰)*۱/۱۰
+
۱۰۰
=
۱۰۰۲۰۰

البته مطمئن نیستم!

سوال سیستم عامل - marjan2001 - 09 اردیبهشت ۱۳۹۰ ۰۳:۱۹ ب.ظ

آقای polarisia خیلی ممنون

ولی چرا مقسمی این جوری نوشته و جالبه که نه جواب شما و نه جواب مقسمی هیچ کدوم تو گزینه‌ها نیست:
۱)۱۹۰ نانو
۲)۹۹۰ نانو
۳)۹۸۰ نانو
۴)۲۰۰ نانو

مقسمی این جور تحلیل کرده که منظور از ۱ میلی در صورت سوال ۱ میکرو بوده

RE: سوال سیستم عامل - لهمشد - ۰۹ اردیبهشت ۱۳۹۰ ۰۳:۵۸ ب.ظ

مطمئنید که برحسب نانو گزینه‌ها رو داده؟؟
خب اخه تو فرمول شما ۱۰ بتوان ۶ یعنی تبدیل میشه به میلی ؟؟ .

سوال سیستم عامل - marjan2001 - 09 اردیبهشت ۱۳۹۰ ۰۴:۲۴ ب.ظ

بله مطمئنم
مقسمی بعدش گفته حتما منظور طراح این حل بوده:
۳^۱۰*۰/۱ +۱۰۰*۰/۹
که می شه:۱۹۰ نانو