OS-HW4.pdf

‫به نام خدا‬
‫تمرین سری چهارم درس سیستم های عامل‬
‫دانشگاه صنعتی شریف – دانشکده مهندسی کامپیوتر‬
‫ترم دوم سال تحصیلی ‪39-39‬‬
‫‪‬‬
‫مهلت ارسال تمرین ساعت ‪ 29:53‬روز ‪ 23‬خرداد می باشد‪.‬‬
‫‪‬‬
‫این تمرین به صورت نمره اضافه میباشد‪.‬‬
‫‪‬‬
‫ارسال پاسخها پس از زمان معین نمره در بر نخواهد داشت‪.‬‬
‫‪‬‬
‫به هیچ وجه تمدید صورت نخواهد گرفت‪ .‬لذا دوستانی که امکان ارسال در بازه معین را ندارند میتوانند این تمرین را‬
‫ارسال ننمایند و در کل نیز نمره ای را از دست نمی دهند‪.‬‬
‫‪‬‬
‫پاسخ تمرینات خود را به آدرس ‪ [email protected]‬ارسال نمایید‪ .‬دقت کنید که پاسخ ها تنها در قالب یک‬
‫فایل ‪ PDF‬بوده و نام و عنوان ایمیل ارسالی با فرمت ‪) StudentID-HW4‬مثال ‪ )88101111-HW4‬ارسال گردد‪.‬‬
‫( پاسخهایی که با این فرمت ارسال نشوند در هنگاه تصحیح با مشکل موجه خواهند شد( ‪.‬‬
‫‪‬‬
‫در صورت شباهت تمرینات ارسالی و احراز رونوشت بودن آنها برای هر دو نفر نمره صفر در نظر گرفته میشود‪( .‬به‬
‫علت ماهیت امتیازی بودن این تمرین در زمینه تقلب سخت گیری بیشتری خواهد شد و افراد متقلب نمره ی کل‬
‫تمرینات خود را از دست خواهند داد‪).‬‬
‫‪‬‬
‫کپی برداری محض از سایتهای اینترنتی نمره ای نخواهد داشت‪.‬‬
‫‪‬‬
‫هرگونه سوال یا ابهام خود را به ایمیل ‪ [email protected]‬ارسال کنید‬
‫‪ -1‬تفاوت روشهای تخصیص پیوسته‪ ،1‬قطعهبندی‪ 2‬و صفحهبندی‪ 9‬را ازنظر موارد زیر بررسی کنید ‪:‬‬
‫‪-‬‬
‫تکهتکه شدن‬
‫داخلی‪9‬‬
‫‪-‬‬
‫تکهتکه شدن‬
‫خارجی‪5‬‬
‫‪-‬‬
‫امکان اشتراک کد بین پردازههای متفاوت‬
‫‪-‬‬
‫تعداد ارجاع به حافظه برای پیدا کردن آدرس فیزیکی از آدرس منطقی‬
‫‪ -2‬یک سیستم صفحهبندی را در نظر بگیرید که جدول صفحهی‪ 6‬آن در حافظه ذخیرهشده باشد‪.‬‬
‫الف‪ -‬اگر هر ارجاع به حافظه ‪ 222‬نانوثانیه زمان ببرد‪ ،‬یک ارجاع به حافظهی صفحهبندی شده چه مقدار زمان میبرد؟‬
‫‪1‬‬
‫‪Contiguous memory allocation‬‬
‫‪segmentation‬‬
‫‪9‬‬
‫‪paging‬‬
‫‪9‬‬
‫‪Internal fragmentation‬‬
‫‪5‬‬
‫‪External fragmentation‬‬
‫‪6‬‬
‫‪Page table‬‬
‫‪2‬‬
‫ب‪ -‬اگر به این سیستم ‪ TLB‬اضافه کنیم و بدانیم که ‪ 02‬درصد از همهی ارجاعات به جدول صفحه در ‪ TLB‬یافت‬
‫میشود‪ ،‬زمان مؤثر ارجاع به حافظه چه مقدار میباشد؟ (فرض کنید جستجو در ‪ TLB‬درصورتیکه سطری که دنبال آن‬
‫میگردیم در ‪ TLB‬وجود داشته باشد‪ ،‬صفر است)‬
‫‪ -9‬هدف از صفحهبندی جدول صفحه چیست؟‬
‫‪ -9‬اگر از صفحهبندی با جداول صفحهی سه سطحی استفاده کنیم و اندازهی هر صفحه ‪ 4KB‬فرض شود و همه جداول‬
‫صفحه (در هر سه سطح) دارای مدخل‪ 0‬های ‪ 8‬بایتی باشند‪ ،‬کل فضای آدرس مجازی هر پردازه چند گیگابایت است؟‬
‫‪ -5‬چرا برای مدیریت حافظه برمبنای صفحهبندی تقاضامندانه‪ 8‬نیاز به پشتیبانی سختافزاری داریم؟‬
‫‪ -6‬الگوریتمهایی که برای جایگزینی صفحه استفاده میشوند و در زیر آمدهاند را در نظر بگیرید‪ ،‬آنها را به ترتیب نرخ‬
‫‪ page-fault‬رتبهبندی کنید‪ .‬آیا همه ی این الگوریتم ها قابل پیاده سازی هستند؟‬
‫ ‪LRU replacement‬‬‫ ‪FIFO replacement‬‬‫ ‪Optimal replacement‬‬‫‪ -0‬الگوریتم ‪ second chance‬ارتقا یافته را توضیح دهید ‪ .‬و ترتیب انتخاب صفحه ی قربانی بین چهار حالتی که این‬
‫الگوریتم صفحات را به آن حاالت تقسیم میکند بیان کنید ‪.‬‬
‫‪ -8‬فرآیندی به ترتیب زیر (چپ به راست) به صفحات حافظه مجازیاش مراجعه میکند‪.‬‬
‫‪1, 2, 3, 4, 1, 4, 3, 2, 1, 3‬‬
‫اگر این فرآیند ‪ 9‬قاب در اختیار داشته باشد و هیچیک از صفحات آن در شروع کار در حافظه موجود نباشند و برای‬
‫جایگزینی از سیاست بهینه (‪ )optimal‬استفاده شود‪ ،‬تعداد ‪ page-fault‬ها چقدر خواهد بود؟‬
‫‪ COW3 -3‬و مزایای آن را توضیح دهید‪.‬‬
‫‪ -12‬درستی یا نادرستی عبارات زیر را با ذکر دلیل تعیین کنید‪.‬‬
‫‪-‬‬
‫یک ‪ I/O‬ی ‪ m‬صفحهای (یک درخواست ‪ I/O‬که در آن ‪ m‬صفحه خواستهشده باشد) از ‪ I/O،m‬ی یکصفحهای‬
‫گرانتر است‪.‬‬
‫‪-‬‬
‫‪ Page fault‬یک وقفهی نرمافزاری است که وقتی رخ دهد ‪ cpu‬به پردازهی دیگری داده نمیشود‪.‬‬
‫‪-‬‬
‫سعی میکنیم بالکهای مربوط به یک پردازه در دیسک پشت سر هم قرار گیرند‪.‬‬
‫‪-‬‬
‫ممکن نیست پردازهای شروع به کار کند درصورتیکه هیچ صفحهای از آن در حافظه نباشد‪.‬‬
‫موفق باشید‬
‫‪0‬‬
‫‪entry‬‬
‫‪Demand paging‬‬
‫‪3‬‬
‫‪Copy on write‬‬
‫‪8‬‬