انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

صفحه‌بندي
به منظور برخورد با مشكل قطعه قطعه شدن خارجي حافظه و همچنين دستيابي به فضاي آدرس‌دهي از فضاي حافظه فيزيكي، مي‌توان از صفحه‌بندي استفاده نمود. در اين روش، حافظه در بخش‌هايي به نام قاب صفحه درنظر گرفته مي‌شود و هر برنامه نيز از نظر منطقي به بخش‌هايي با همان اندازه موسوم به صفحه تقسيم مي‌شود. در چنين وضعيتي، هر صفحه از يك برنامه مي‌تواند در هر قاب آزاد حافظه قرار گيرد. در نتيجه اين تخصيص از نوع همجوار مي‌باشد و بنابراين براي هر برنامه جدولي به نام جدول صفحه وجود دارد كه نگاشت صفحات منطقي را به قاب‌هاي فيزيكي حافظه انجام دهد.
نكته: صفحه‌بندي به صورت گفته شده، موجب ايجاد فضاي آدرس‌دهي مجازي بزرگتر از مجموع اندازه برنامه‌ها نمي‌شود (بايد اندازه حافظه به اندازه برنامه‌ها باشد)، از اين رو طول آدرس فيزيكي حافظه بزرگتر يا برابر آدرس منطقي برنامه‌ها است.
صفحه‌بندي مشكل قطعه قطعه شدن خارجي را از بين مي‌برد، ولي خود موجب قطعه قطعه شدن داخلي مي‌شود، چون اندازه قاب‌ها (صفحات) مستقل از اندازه برنامه‌ها تعيين شده و غالباً فضايي به اندازه حداكثر يك قاب در اختيار صفحه آخر هر برنامه بلااستفاده باقي مي‌ماند.
نكته: اگر اندازه قاب‌ها به منظور كاهش قطعه قطعه شدن داخلي كوچك درنظر گرفته شود، تعداد صفحات زياد شده و اندازه جداول صفحه و زمان تبديل آدرس افزايش مي‌يابد.
در صفحه‌بندي، هر آدرس برنامه به دو بخش شماره صفحه و اختلاف مكان در صفحه تقسيم مي‌شود و در هنگام اجرا، سخت‌افزار سيستم، عمل نگاشت شماره صفحه به شماره قاب را با استفاده از جدول صفحه انجام مي‌دهد.

 
شكل 1، صفحه‌بندي
با توجه به اينكه در مكانيزم تبديل آدرس، براي اجراي هر دستور يك مراجعه به جدول و يك مراجعه به حافظه لازم است، محل قرار گرفتن جدول صفحه مهم مي‌باشد. جدول صفحه مي‌تواند در ثبات‌هاي خاص و يا در حافظه‌هاي سريع و موسوم به حافظه تناظري قرار گيرد. به دليل محدود بودن بودن اندازه TBL همواره بخشي از جدول صفحه هر برنامه در داخل TLB قرار مي‌گيرد و در هنگام تبديل آدرس، اگر سطر حاوي شماره صفحه و شماره قاب در TLB موجود باشد، وضعيت برخورد (hit) رخ مي‌دهد و اگر اين سطر موجود نباشد، وضعيت عدم برخورد (miss) پيش مي‌آيد كه نسبت اين دو به نام نسبت برخورد از رابطه زير محاسبه مي‌شود:
hit ratio = hit/hit + miss
اشتراك و حفاظت در صفحه‌بندي
اشتراك در صفحه‌بندي به مفهوم استفاده چند برنامه از صفحات مشترك و در نتيجه، استفاده بهتر از حافظه است. با توجه به اينكه تقسيم برنامه‌ها به صفحات، صرفاً با معيار اندازه قاب‌ها و نه بر اساس معيار منطقي نظير ريزبرنامه‌ها و روال‌ها انجام مي‌شود، امكان اينكه يك صفحه از برنامه‌اي براي برنامه ديگر قابل استفاده باشد، معمولاً پيش نمي‌آيد.
در مواردي نظير استفاده چندين كاربر از يك ويرايشگر، در صورتي كه بخش كد برنامه از قسمت داده‌ها جدا شده و در صفحات مجزايي قرار گيرد، امكان اشتراك وجود  دارد، ولي به طور كلي، صفحه‌بندي از نظر اشتراك ضعيف است. حفاظت در صفحه‌بندي به مفهوم جلوگيري از دسترسي يك برنامه به صفحات برنامه‌هاي ديگر و نيز جلوگيري از تغيير بي‌مورد بخش كد يك برنامه مي‌باشد. براي پياده‌سازي حفاظت، مي‌توان از چندين بيت در كنار هر سطر جدول صفحه استفاده كرد. اين بيت‌ها قابل خواندن، نوشتن و قابل اجرا بودن محتويات صفحه را مشخص مي‌كنند. همچنين با داشتن يك ثبات به نام PTLR‌ مي‌توان محدوده جدول صفحه يك برنامه را در حافظه مشخص نمود.

حافظه مجازي
حافظه مجازي به مفهوم متفاوت بودن فضاي آدرس‌دهي كاربر (آدرس‌هاي منطقي) از فضاي آدرس حافظه (آدرس‌هاي فيزيكي) مي‌باشد، ولي عموماً به مفهوم بزرگتر بودن فضاي آدرس منطقي از فضاي آدرس‌ فيزيكي درنظر گرفته مي‌شود. بدين منظور با اجراي روش صفحه‌بندي به صورت مناسب مي‌توان به اين هدف دست يافت.

صفحه‌بندي بر حسب نياز
اگر در روش صفحه‌بندي به جاي بار كردن يك برنامه، فقط بخشي از كد و داده آن كه فعلاً مورد رجوع قرار دارد، به حافظه بار شود، مي‌توان با درنظر گرفتن حداقل يك قاب براي هر برنامه، اجراي آن را شروع نمود. براي اعمال اين تغيير بايد با داشتن اطلاعات اضافي در جدول صفحه‌ هر برنامه، صفحات موجود آن در حافظه اصلي نيست با بروز يك وقفه فقدان صفحه از حافظه جانبي به حافظه اصلي منتقل شود. در سيستمي از صفحه‌بندي بر حسبت نياز استفاده مي‌كند، مراحل زير براي هر دسترسي به حافظه توسط مدير حافظه انجام مي‌شود:
1.    با دريافت يك دستور، مراجعه به صفحه‌اي با رجوع به جدول صفحه وجود يا عدم وجود آن صفحه در حافظه بررسي مي‌شود و اين بررسي با استفاده از بيت موجود بودن يا نبودن هر سطر جدول صفحه انجام مي‌شود.
2.    اگر صفحه مورد رجوع در حافظه نيست يا بروز وقفه فقدان صفحه از نوع Trap كنترل به مدير حافظه سيستم عامل منتقل مي‌شود تا سرويس‌دهي اين وقفه انجام شود.
3.    يك قاب آزاد براي بار كردن صفحه مورد تقاضا به حافظه جستجو مي‌شود. در صورتي كه هيچ قاب آزادي موجود نباشد، بر اساس آلگوريتم‌هايي كه در ادامه ذكر مي‌شود، يكي از قاب‌هاي پر انتخاب مي‌شود.
4.    با ارسال دستوري به بخش ديسك، ديسك‌گردان جهت خواندن صفحه مورد نياز به قاب تعيين شده و با مقداردهي اوليه راه‌اندازي مي‌شود.
5.    با اتمام خواندن آن صفحه به حافظه، اصلاحات لازم در جدول صفحه انجام مي‌شود (بيت موجود بودن صفحه اصلاح مي‌شود).
6.    دستور مراجعه به حافظه مجدداً اجرا مي‌شود و اكنون صفحه مورد تقاضا در حافظه قرار دارد.
نكته: چون سرويس‌دهي به وقفه فقدان صفحه زمان زيادي را تلف مي‌كند، تعداد صفحات تخصيص يافته، اندازه صفحات و نحوه كدنويسي برنامه‌ها تاثير زيادي براي تعداد وقفه‌هاي رخ داده و در نتيجه عملكرد سيستم دارد. كاهش تعداد صفحات تخصيص يافته به برنامه‌ها، موجب افزايش درجه چندبرنامه‌گي مي‌شود و براي حافظه كارايي در حد مطلوب، نمي‌توان تعداد صفحات را كمتر از حد معيني انتخاب نمود.

جايگزيني صفحات
به منظور افزايش درجه چندبرنامه‌گي، تعداد قاب‌هاي در اختيار، برنامه كاهش مي‌يابد و تمام قاب‌هاي حافظه در ابتدا در اختيار برنامه‌ها قرار مي‌گيرد. در چنين وضعيتي، اگر وقفه فقدان صفحات بروز كند، بايد يكي از قاب‌ها پر مورد استفاده قرار گيرد. اگر اين قاب قبلاً اصلاح شده باشد، قبل از بار كردن صفحه مورد نياز به آن، بايد بر روي ديسك بازنويسي شود و در اين صورت در يك وقفه، زمان دو برابر تلف خواهد شد(يك بار نوشتن قاب و يك بار خواندن صفحه مورد نياز). پس بهتر است با داشتن يك بيت به نام modify‌ لزوم بازنويسي يك قاب مشخص شود و حتي‌الامكان از قاب‌هاي استفاده ود كه محتويات آنها در حافظه تغيير نكرده است. مساله جايگزيني صفحات، پايه ايجاد صفحه‌بندي بر اساس نياز است و براي پياده‌سازي اين نوع صفحه‌بندي بايد الگوريتمي مشخص شود. در الگوريتم‌هاي مختلف‌، جايگزيني با توجه به ثابت بودت اندازه صفحات كه توسط سيستم مشخص مي‌شود، دو پارامتر تعداد قاب‌هاي تخصيص يافته و نرخ بروز وقفه فقدان صفحه مورد توجه هستند.
اين الگوريتم‌ها با توجه به رابطه اين دو پارامتر كه مطابق شكل زير مي‌باشد، سعي در بهبود عملكرد سيستم با تعداد قاب و تعداد وقفه كمتر دارند.
 
شكل 2، رابطه تعداد قاب‌ها و تعداد وقفه‌ها فقدان
براي بررسي بهتر اين الگوريتم‌ها، دنباله صفحات موردنياز يك برنامه مي‌توان به صورت تصادفي يا بر اساس كد يك برنامه، توليد شده و به عنوان ورودي الگوريتم استفاده گردد. مهمترين اين الگوريتم‌ها عبارتند از:
1.    الگوريتم FIFO: بر طبق اين الگوريتم، قابي براي تخليه انتخاب مي‌شود كه زودتر از بقيه وارد حافظه شده است. براي پياده‌سازي اين الگوريتم، براي هر قاب زمان ورود را ثبت نموده و يا شماره قاب‌ها را در يك صف FIFO نگهداري نمود. اين الگوريتم به راحتي قابل پياده‌سازي است، ولي داراي مشكلي به نام Belady Anomaly‌ است. الگوريتم‌هاي داراي اين مشكل بر طبق نمودار شكل 2 عمل نمي‌كنند و در بعضي شرايط با افزايش تعداد قاب‌هايي كه در اختيار دارند، تعداد وقفه صفحه آنها نيز افزايش مي‌يابد.
2.    الگوريتم Optimal: در اين الگوريتم، فرض مي‌شود دنباله صفحات مورد نياز از ابتدا در اختيار مدير حافظه قرار دارد. بنابراين با توجه به توالي صفحات مورد رجوع، در لحظه بروز وقفه، قابي براي تخليه انتخاب مي‌شود كه به طور كلي در تمام برنامه‌ها كمتر مورد رجوع قرار مي‌گيرد. اين الگوريتم بهترين كارايي را از خود نشان مي‌دهد، ولي قابل پياده‌سازي نيست، بنابراين صرفاً به عنوان معيار مقايسه مورد استفاده قرار مي‌گيرد. در اين الگوريتم مشكل Baleady Anomaly بروز نمي‌كن.








انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 

انجام پایان نامه | دانلود مقاله

سفارش پایان نامه

نقشه