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

تست پارسه فصل صفحه بندی - g_monireh - 09 آذر ۱۳۹۲ ۱۰:۰۸ ب.ظ

تست ۱۷ فصل آخر صفحه بندی و قطعه بندی

یک ماتریس بطور ردیفی به شرح زیر است:

var A:array[1..100] of array [1..100] of intege:
for j:= 1 to 100 do
for i:=1 to 100 do
A[i][j]:=0


فرض کنید این برنامه در یک سیستم با مدیریت حافظه صفحه بندی بر حسب نیاز که اندازه قاب صفحه آن ۲۰۰ کلمه است اجرا میشود. به این برنامه ۲ قاب صفحه اختصاص داده شده است که دستورات برنامه در یکی از این قاب ها قرار داده شده است. قاب دیگر که ابتدا خالی است برای داده ها منظور شده است. اگر برای جایگزینی صفحات از روش LRU استفاده شود ، تعداد کل فقدان صفحات چقدر است؟(هر اینتیجر یک کلمه از حافظه را اشغال میکند)

۱- ۵۰
۲- ۱۰۰
۳- ۵۰۰۰
۴- ۱۰۰۰۰
جواب گزینه= ۳
من هر چی جوابشو میخونم اصی نمیفهمم جریان چیهConfused ممنون میشم یه توضیح بدید.

RE: تست پارسه فصل صفحه بندی - elynn66 - 14 آذر ۱۳۹۲ ۰۷:۲۰ ب.ظ

(۰۹ آذر ۱۳۹۲ ۱۰:۰۸ ب.ظ)g_monireh نوشته شده توسط:  تست ۱۷ فصل آخر صفحه بندی و قطعه بندی

یک ماتریس بطور ردیفی به شرح زیر است:

var A:array[1..100] of array [1..100] of intege:
for j:= 1 to 100 do
for i:=1 to 100 do
A[i][j]:=0


فرض کنید این برنامه در یک سیستم با مدیریت حافظه صفحه بندی بر حسب نیاز که اندازه قاب صفحه آن ۲۰۰ کلمه است اجرا میشود. به این برنامه ۲ قاب صفحه اختصاص داده شده است که دستورات برنامه در یکی از این قاب ها قرار داده شده است. قاب دیگر که ابتدا خالی است برای داده ها منظور شده است. اگر برای جایگزینی صفحات از روش LRU استفاده شود ، تعداد کل فقدان صفحات چقدر است؟(هر اینتیجر یک کلمه از حافظه را اشغال میکند)

۱- ۵۰
۲- ۱۰۰
۳- ۵۰۰۰
۴- ۱۰۰۰۰
جواب گزینه= ۳
من هر چی جوابشو میخونم اصی نمیفهمم جریان چیهConfused ممنون میشم یه توضیح بدید.

پس چرا کسی به این سوال ج نداده سوال منم هست Sad

RE: تست پارسه فصل صفحه بندی - e.shrm - 22 آذر ۱۳۹۲ ۰۲:۵۴ ق.ظ

سلام
سعی کردیم تو عکس براتون توضیح بدم.
ماتریس همانطوری که گفته شده به صورت سطری ذخیره میشه ، بعنی برای i=1 همه ی ۱۰۰ تا ستون ذخیره میشه و بعد به سراغ i=2 میریم و ۱۰۰ ستون اون رو ذخیره میکنیم. چون ۲۰۰ تا کلمه تو هر صفحه جا داریم پس میتونیم هر دو سطر رو (i=1 و i=2 ) توی یه صفحه داشته باشیم. که تو تصویرم مشخصه.
پس داریم
صفحه ۱ : کلیه ستون های i=1 و کلیه ستون های i=2
صفحه ۲ : کلیه ستون های i=3 و کلیه ستون های i=4
. ....
تا انتها.
حالا به سراغ برنامه نوشته شده میریم.
به ماتریس آخرش توجه کنید ، حلفه بیرونی روی j و حلقه داخلی روی i تعریف شده . این بعنی ما برای یک ستون ایتدا کلیه سطر ها رو باید بخونیم.
مثلا برای j=1 باید از i=1 بخونیم تا i=100 و بعد به سراغ ستون بعدی بریم.
تو شکل هم مشخص کردم که مثلا برای همون j=1 ، ما دو سطر اول رو توی صفحه اول ، دو سطر بعد رو در صفحه دوم داریم و . . . .
خب حالا چه زمانی نقص صفحه رخ میده ، زمانی که عنصری که میخوایم تو صفحه نباشه.
برای عنصر اول که j=1 , i=1 هست خب خطا رخ میده و صفحه اول برای ما لود میشه ، ولی برای عنصر بعدی کهi=2 , j=1 هست دیگه خطا رخ نمیده ، چون این عنصر هم در همین صفحه فعلی قرار داره.
پس هر دو تا دسترسی یک خطا داره.
تعداد کل داده ها که ۱۰۰ * ۱۰۰ تاست. هر دوتاشون هم قراره یک خطا رخ بده پس تعداد خطا ها میشه ۱۰۰۰۰/۲ = ۵۰۰۰


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


[تصویر:  230451_78730088992773947267.jpg]

RE: تست پارسه فصل صفحه بندی - elynn66 - 22 آذر ۱۳۹۲ ۰۷:۵۰ ب.ظ

(۲۲ آذر ۱۳۹۲ ۰۲:۵۴ ق.ظ)e.sharmi نوشته شده توسط:  خب حالا چه زمانی نقص صفحه رخ میده ، زمانی که عنصری که میخوایم تو صفحه نباشه.
برای عنصر اول که j=1 , i=1 هست خب خطا رخ میده و صفحه اول برای ما لود میشه ، ولی برای عنصر بعدی کهi=2 , j=1 هست دیگه خطا رخ نمیده ، چون این عنصر هم در همین صفحه فعلی قرار داره.
پس هر دو تا دسترسی یک خطا داره.
تعداد کل داده ها که ۱۰۰ * ۱۰۰ تاست. هر دوتاشون هم قراره یک خطا رخ بده پس تعداد خطا ها میشه ۱۰۰۰۰/۲ = ۵۰۰۰


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


[تصویر:  230451_78730088992773947267.jpg]
سلام ممنون از جوابتون ولی من این قسمت رو نفهمیدم!
پس هر دو تا دسترسی یک خطا داره. میشه یکم دیگه توضیح بدین؟

RE: تست پارسه فصل صفحه بندی - e.shrm - 22 آذر ۱۳۹۲ ۰۸:۵۶ ب.ظ

(۲۲ آذر ۱۳۹۲ ۰۷:۵۰ ب.ظ)elynn66 نوشته شده توسط:  
(22 آذر ۱۳۹۲ ۰۲:۵۴ ق.ظ)e.sharmi نوشته شده توسط:  خب حالا چه زمانی نقص صفحه رخ میده ، زمانی که عنصری که میخوایم تو صفحه نباشه.
برای عنصر اول که j=1 , i=1 هست خب خطا رخ میده و صفحه اول برای ما لود میشه ، ولی برای عنصر بعدی کهi=2 , j=1 هست دیگه خطا رخ نمیده ، چون این عنصر هم در همین صفحه فعلی قرار داره.
پس هر دو تا دسترسی یک خطا داره.
تعداد کل داده ها که ۱۰۰ * ۱۰۰ تاست. هر دوتاشون هم قراره یک خطا رخ بده پس تعداد خطا ها میشه ۱۰۰۰۰/۲ = ۵۰۰۰


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


[تصویر:  230451_78730088992773947267.jpg]
سلام ممنون از جوابتون ولی من این قسمت رو نفهمیدم!
پس هر دو تا دسترسی یک خطا داره. میشه یکم دیگه توضیح بدین؟

ما به برای ماتریس ، به درایه های زیر به ترتیب احتیاج داریم
i=1,j=1
i=2,j=1
i=3,j=1
. .. . . . .
i=100,j=1
و بعد به سراغ ستون بعدی میریم. تا اینجا واضحه؟
داریه اول توی کدوم صفحه قرار داره؟ صفحه شماره ۱
درایه دوم چطور ؟ اونم صفحه شماره ۱
داریه ۳ و ۴ صفحه شماره ۲ و . . .

ما به اندازه یک قاب جا داریم تو حافظه اصلی ، بنابراین در هر لحظه فقط یک صفحه تو حافظه وجود داره.

برنامه داده اول یعنی i=1,j=1 رو درخواست میکنه ، خب این صفحه توی دسیک هست و تو حافظه اصلی نیست بنابراین خطا رخ میده و cpu میره و صفحه مربوط به اون یعنی صفحه شماره ۱ رو میاره تو حافظه اصلی. و داده رو در اختیار برنامه قرار میده.
حالا میریم سراغ داده بعدی که درایه i=2,j=1 هست ، ای دریاه مربوط به صفحه شماره یکه ، که قبلا آوردیم تو حافظه پس دیگه خطا رخ نمیده و داده لود میشه برای برنامه.
درایه بعدی تو صفحه دوم قرار داره که چون این صفحه رو نداریم خطا رخ میده ، و صفحه دو رو از دیسک جایگزین صفحه فعلی در حافظه میکنیم.
برای درایه چهارم چون دوباره تو همین صفحه هست ، خطا رخ نمیده و . . .
این یعنی ما یه داده در میون به خطا میخوریم.
و این یعنی نصف داده ها.

سعی کردم خیلی شفاف توضیح بدم.

RE: تست پارسه فصل صفحه بندی - elynn66 - 23 آذر ۱۳۹۲ ۰۱:۲۸ ق.ظ

(۲۲ آذر ۱۳۹۲ ۰۷:۵۰ ب.ظ)elynn66 نوشته شده توسط:  
(22 آذر ۱۳۹۲ ۰۲:۵۴ ق.ظ)e.sharmi نوشته شده توسط:  سلام ممنون از جوابتون ولی من این قسمت رو نفهمیدم!
پس هر دو تا دسترسی یک خطا داره. میشه یکم دیگه توضیح بدین؟

برای درایه چهارم چون دوباره تو همین صفحه هست ، خطا رخ نمیده و . . .
این یعنی ما یه داده در میون به خطا میخوریم.
و این یعنی نصف داده ها.

سعی کردم خیلی شفاف توضیح بدم.
آهااااااااااان Big Grin الآن کامل فهمیدمBig GrinBig GrinBig GrinBig GrinBig Grin
دستون درد نکنه خیلی خیلی لطف کردیدBig Grin