۰
subtitle
ارسال: #۱
  
تستی در مورد حافظه مجازی(زیاد تکرار شده)
اندازه صفحه در سیستمی با مدیریت حافظه مجازی به صورت صفحه بندی درخواستی ۲۵۶ بایت است حافظه سیستم حاوی ۳ قاب صفحه در ابتدا خالی است هر قاب صفحه میتواند به کد یا داده انتساب داده شود و قابهای صفحه به اشتراک بین کد و داده استفاده میشوند اندازه کد فرایند برابر یک صفحه است و فرض کنید که حافظه فرایند فقط از دو بخش کد و داده تشکیل میشود اگر از روش fifo استفاده شود اجرای کد زیر منجر به چند نقص صفحه خواهد شد؟
X:ARRAY 1.... 128 1...128 OF BYTE
for register int 1=1 to 128 do
for register int j=1 to 128 do
x i j =0
X:ARRAY 1.... 128 1...128 OF BYTE
for register int 1=1 to 128 do
for register int j=1 to 128 do
x i j =0
۱
ارسال: #۲
  
RE: تستی در مورد حافظه مجازی(زیاد تکرار شده)
شکلی که تو پیوست گذاشتمو ببین.
اول C وارد می شه که چون وجود نداره می شه نقص صفحه بعد ۱ وارد می شه که بازم نقص صفحس بعد ۲ وارد می شه که بازم نقص صفحس پس تا الان
C 1 2 رو داریم
حالا عدد ۳ که می خواد وارد شه باید یکی از این سه تارو بندازه بیرون طبق FIFO مقدار C که از همه زودتر وارد شده می اندازه بیرون خوب اینجا باید دقت کنی بدون کد برنامه نمی تونه اجرا شه در نتیجه C رو دوباره باید وارد کنیم در نتیجه مقدار یک رو با اردنگی می اندازیم بیرون C می شینه جاش(کلا C خیلی پر رو هستش باید همیشه باشه تا برنامه اجرا شه تا می اندازیمش بیرون زودی می دو تو ) خلاصه دقت کن C رو تا بندازیم بیرون بلافاصله باید بیاریمش تو!
با توجه به شکل برای هر یکی از ۶۴ صفحه یک بار نقص صفحه رخ می ده و هر بار که سه تا صفحه وارد می شه یه بار کد رو می اندازیم بیرون بلافاصله میاریمش تو که می شه ۶۴/۳.
و در کل می شه ۶۴ تا نقص برای برنامه و ۶۴/۳ نقص برای کد.
اول C وارد می شه که چون وجود نداره می شه نقص صفحه بعد ۱ وارد می شه که بازم نقص صفحس بعد ۲ وارد می شه که بازم نقص صفحس پس تا الان
C 1 2 رو داریم
حالا عدد ۳ که می خواد وارد شه باید یکی از این سه تارو بندازه بیرون طبق FIFO مقدار C که از همه زودتر وارد شده می اندازه بیرون خوب اینجا باید دقت کنی بدون کد برنامه نمی تونه اجرا شه در نتیجه C رو دوباره باید وارد کنیم در نتیجه مقدار یک رو با اردنگی می اندازیم بیرون C می شینه جاش(کلا C خیلی پر رو هستش باید همیشه باشه تا برنامه اجرا شه تا می اندازیمش بیرون زودی می دو تو ) خلاصه دقت کن C رو تا بندازیم بیرون بلافاصله باید بیاریمش تو!
با توجه به شکل برای هر یکی از ۶۴ صفحه یک بار نقص صفحه رخ می ده و هر بار که سه تا صفحه وارد می شه یه بار کد رو می اندازیم بیرون بلافاصله میاریمش تو که می شه ۶۴/۳.
و در کل می شه ۶۴ تا نقص برای برنامه و ۶۴/۳ نقص برای کد.
ارسال: #۳
  
RE: تستی در مورد حافظه مجازی(زیاد تکرار شده)
(۱۲ بهمن ۱۳۹۱ ۰۱:۴۸ ب.ظ)mehdi.nine نوشته شده توسط: شکلی که تو پیوست گذاشتمو ببین.
اول C وارد می شه که چون وجود نداره می شه نقص صفحه بعد ۱ وارد می شه که بازم نقص صفحس بعد ۲ وارد می شه که بازم نقص صفحس پس تا الان
C 1 2 رو داریم
حالا عدد ۳ که می خواد وارد شه باید یکی از این سه تارو بندازه بیرون طبق FIFO مقدار C که از همه زودتر وارد شده می اندازه بیرون خوب اینجا باید دقت کنی بدون کد برنامه نمی تونه اجرا شه در نتیجه C رو دوباره باید وارد کنیم در نتیجه مقدار یک رو با اردنگی می اندازیم بیرون C می شینه جاش(کلا C خیلی پر رو هستش باید همیشه باشه تا برنامه اجرا شه تا می اندازیمش بیرون زودی می دو تو ) خلاصه دقت کن C رو تا بندازیم بیرون بلافاصله باید بیاریمش تو!
با توجه به شکل برای هر یکی از ۶۴ صفحه یک بار نقص صفحه رخ می ده و هر بار که سه تا صفحه وارد می شه یه بار کد رو می اندازیم بیرون بلافاصله میاریمش تو که می شه ۶۴/۳.
و در کل می شه ۶۴ تا نقص برای برنامه و ۶۴/۳ نقص برای کد.
سلام ممنون
خیلی خوب توضیح دادید
۰
ارسال: #۴
  
تستی در مورد حافظه مجازی(زیاد تکرار شده)
ســــــلام.
ببین اندازه هر خونه آرایه یک بایته و هر سطر آرایه ۱۲۸ بایت می شه پس هر دو سطر در یک صفه قرار داره.(۲*۱۲۸ = ۲۵۶) پس کل آرایه در ۶۴ صفحه جا می شه. ولی نکته ای که باید دقت کنی کد همیشه باید موجود باشه تا برنامه اجرا بشه.من الان یک تیکه از دنباله هارو برات می نویسم
c 1 2 3 c 4 5 6 C 7 8 9 C 10
(از سمت چپ بخون)
در نتیجه برای هر سه عدد یک بار کد وارد صفحه می شه پس می شه ۶۴ + ۶۴/۳ = ۸۶
البته دقت کن باید براکت بالای ۶۴/۳ رو بگیری ها یعنی ۶۴/۳ = ۲۱/۳ ولی باید بگیریم ۲۴ دلیلیشم خیلی واضحه کافیه یه کم به مراجعات دقت کنی.
ببین اندازه هر خونه آرایه یک بایته و هر سطر آرایه ۱۲۸ بایت می شه پس هر دو سطر در یک صفه قرار داره.(۲*۱۲۸ = ۲۵۶) پس کل آرایه در ۶۴ صفحه جا می شه. ولی نکته ای که باید دقت کنی کد همیشه باید موجود باشه تا برنامه اجرا بشه.من الان یک تیکه از دنباله هارو برات می نویسم
c 1 2 3 c 4 5 6 C 7 8 9 C 10
(از سمت چپ بخون)
در نتیجه برای هر سه عدد یک بار کد وارد صفحه می شه پس می شه ۶۴ + ۶۴/۳ = ۸۶
البته دقت کن باید براکت بالای ۶۴/۳ رو بگیری ها یعنی ۶۴/۳ = ۲۱/۳ ولی باید بگیریم ۲۴ دلیلیشم خیلی واضحه کافیه یه کم به مراجعات دقت کنی.
۰
ارسال: #۵
  
تستی در مورد حافظه مجازی(زیاد تکرار شده)
۰
ارسال: #۶
  
تستی در مورد حافظه مجازی(زیاد تکرار شده)
این سوال یک مدل هم داره که کد ثابت در یک قاب حضور داره و از دو قاب دیگه برای داده استفاده میشه. البته در صورت سوال ذکر میشه که جای کد ثابته
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close