زمان کنونی: ۱۰ اردیبهشت ۱۴۰۳, ۰۶:۱۳ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

یه سوال مهم از حافظه مجازی

ارسال:
  

arshad90 پرسیده:

یه سوال مهم از حافظه مجازی

[/align]یه تیپ سوال هست که چند وقتیه از بخش حافظه مجازی تو کنکورهای سال پیش مطرح می شه. اینکه یه قطعه کد می دن حاوی دو تا حلقه تو در تو و از شما می خوان بر اساس الگوریتم LRU یا FCFS تعداد نقص صفحات رو معلوم کنید. خب از این تیپ سوال من دو مو رد رو دیدم. این دو مورد اینان:

فرض کنید آرایه تعریف زیر رو داشته باشه و سایز صفحات هم ۲۰۰ باشه. هر integer هم یک کلمه بگیره:
[tex]var A:array[1..100] of array[1..100] of integer[/tex]

کد اول:
[tex]for j=1 to 100 do[/tex]
[tex]for i=1 to 100 do[/tex]
[tex]A[i][j]=0;[/tex]

خب ما ۲ تا قاب صفحه خالی داریم. جایگزینی صفحات از از روش LRU استفاده می کنیم. آرایه هم به روش سطری ذخیره‌ی شه. اینجا ۵۰۰۰ نقص صفحه داریم. حالا اگر جای حلقه اول و دوم عوض شه میشه اینطوری و ۵۰ نقص صفحه داریم:

کد دوم:
[tex]for i=1 to 100 do[/tex]
[tex]for j=1 to 100 do[/tex]
[tex]A[i][j]=0;[/tex]

سوال من اینه اگر آرایه ما به روش ستونی (و نه سطری) ذخیره بشه چه اتفاقی میفته و تعداد نقص صفحات در هر کدوم از حالات چه تغییری می کنه؟

۰
ارسال:
  

hatami پاسخ داده:

یه سوال مهم از حافظه مجازی

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

۰
ارسال:
  

ف.ش پاسخ داده:

یه سوال مهم از حافظه مجازی

شاید منظور از اینکه سطری پر شده این باشه که درایه های یک سطر مجاورن و حالت اینکه توی یک بلاک باشن همه رو با هم میاریم توی قاب.
اگه اینجوری باشه وقتی اولین درایه یه سطر رو میاریم بقیه درایه های اون سطر هم همراهش میان اونوقت اگه اول حلقه for i داشته باشیم اونوقت i ثابته یعنی سطر ثابته و ستون داره تغییر میکنه. یعنی اولین درایه رو که بیاریم بقیه هم اومدن و دیگه اونها حاضر هستند.
یعنی در کد دوم فقط درایه اول سطرهاست که غیبت میخوره.
البته چون سایز صفحه ۲۰۰ هست احتمالا دو سطر وارد قاب میشن.
به خاطر همین هم یکی در میون درایه های اول سطرها غیبت میخوره.
یعنی ۱۰۰/۲=۵۰

اما در حالتی که حلقه forj اول اومده باشه اومدن دو سطر از آرایه به قاب به ما کمکی نمیکنه .
فقط درایه بعدی که زیر همون درایه هست مثلا اگه j=1 و i=1 باشه چون دو سطر ۱و۲ میاد توی قاب وقتی j=1,i=2 میشه اون درایه توی قاب هست.
به خاطر همین درایه‌ها یکی در میون غیبت میخورن و میشه ۱۰۰۰۰/۲=۵۰۰۰

۰
ارسال:
  

ahmadnouri پاسخ داده:

RE: یه سوال مهم از حافظه مجازی

به نظر من

وقتی میگه آرایه به صورت سطری پر میشه و کد به صورت
For j= 1 to 100 do
For i= 1 to 100 do
A[i][j]=0 ;
و هر قاب هم که۲۰۰ کلمه است و چون گفتیم ارایه سطری ذخیره میشه هر ۲ سطر میتونن در ۱ قاب قرار بگیرن از طرفی هم
وقتی حلقه بیرونی مقدار j رو ۱ در نظر میگیره مقدار I از ۱ تا ۱۰۰ رو میتونه داشته باشه یعنی درایه های
A[1][1],A[2][1],….. یعنی از هر سطر فقط یه درایه در هر قاب قرار می گیرن و چون ۲ تا قاب خالی داریم بعد ازقرارگرفتن ۲ درایه درهر قاب دیگه قاب خالی نخواهیم داشت پس بزای هر ۲ درایه ۱ page fault خواهیم داشت که میشه ۱۰۰*۱۰۰/۲=۵۰۰۰
و اگه جای حلقه‌ها در کد عوض شن هر۲ سطر میتونه به طور کامل(با تمام درایهاش) در ۱ قاب قرار بگیره پس درواقع برای ۲ سطرپر ۱ page fault خواهیم داشت که میشه ۱۰۰/۲= ۵۰

۰
ارسال:
  

arshad90 پاسخ داده:

یه سوال مهم از حافظه مجازی

خیلی ممنونم از دوستان
مشکل من با صورت یا پاسخ سوالات بالا نیست. سوال اینجاست که اگر به جای اینکه آرایه به صورت سطری پر شه، به صورت ستونی پر شه چه تغییری تو جواب حالت ۱ و ۲ اتفاق میفته؟

۰
ارسال:
  

ف.ش پاسخ داده:

یه سوال مهم از حافظه مجازی

خوب اونوقت جواب اولی میشه ۵۰ دومی ۵۰۰۰ یعنی برعکس میشه.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  جزوه خلاصه نکات مهم فصول ابتدایی درس مهندسی نرم افزار Happiness.72 ۱ ۳,۵۴۸ ۱۳ خرداد ۱۴۰۱ ۰۶:۲۸ ب.ظ
آخرین ارسال: M o h m m @ d
  تصمیم گیری مهم درباره مکان سرور سایت admin ۴ ۴,۴۱۱ ۲۸ دى ۱۴۰۰ ۰۳:۵۹ ب.ظ
آخرین ارسال: mahsa3323
Question مجازی ساز virtual box M...D ۰ ۱,۵۱۰ ۱۴ آذر ۱۳۹۹ ۰۱:۳۸ ب.ظ
آخرین ارسال: M...D
  سوال مهم از کمتازیا jamshid51 ۰ ۱,۸۰۶ ۲۹ مهر ۱۳۹۹ ۱۰:۰۷ ب.ظ
آخرین ارسال: jamshid51
  هوش مجازی مالک اشتر mona64 ۳ ۳,۲۷۴ ۱۸ مهر ۱۳۹۹ ۱۰:۴۵ ق.ظ
آخرین ارسال: pioneer01
  اکانت تست جهت کلاس مجازی رایگان SamanehRashvand ۰ ۱,۹۸۹ ۱۶ اسفند ۱۳۹۸ ۰۳:۲۰ ب.ظ
آخرین ارسال: SamanehRashvand
  مجازی یا پیام نور؟ hoseini.f ۲ ۳,۴۳۳ ۲۶ شهریور ۱۳۹۸ ۰۲:۱۵ ق.ظ
آخرین ارسال: hoseini.f
  قبول شدگان مجازی ارشد خواجه نصیر z.hosseinkhani ۵ ۵,۹۴۰ ۱۶ شهریور ۱۳۹۸ ۰۸:۵۴ ق.ظ
آخرین ارسال: ۷۲۵
Video واقعیت مجازی + واقعیت افزوده: پرواز اژدها بر فراز استادیوم بیس بال شهر سئول marvelous ۰ ۲,۲۳۵ ۰۵ شهریور ۱۳۹۸ ۰۳:۴۴ ب.ظ
آخرین ارسال: marvelous
  تجربیات شما از دوره های مجازی دانشگاه ها reza0175 ۲ ۴,۳۲۸ ۲۸ تیر ۱۳۹۸ ۰۴:۲۶ ق.ظ
آخرین ارسال: marvelous

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close