
چكيده:
در اين قسمت مي خواهيم سيستم مديريت حافظه يك سيستم عامل را مورد بررسي و كاوش قرار دهيم. ما ابتدا با يك نگاه جامع به سيستمهاي مديريت حافظه كه به اختصار به آنها MM نيز ميگويند ميپردازيم و بعد سيستم هاي مديريت حافظه را در سيستم عامل هاي واقعي Linux 2.4 ، Windows 2000 و BSD 4.4 با هم مقايسه مي كنيم.
فهرست عناوين
|
مقدمه |
4 |
|||
|
سيستم های مديريت حافظه |
4 |
|||
|
حافظه مجازی |
5 |
|||
|
صفحه بندی |
5 |
|||
|
مقايسه |
7 |
|||
|
ساختمانهای داده ای برای تشريح فضای پروسس |
9 |
|||
|
4.4 BSD |
9 |
|||
|
Windows |
11 |
|||
|
Linux |
12 |
|||
|
توزيع فضای آدرس پروسس |
12 |
|||
|
جابجايی صفحات |
13 |
|||
|
4.4 BSD |
13 |
|||
|
Windows |
15 |
|||
|
Linux |
18 |
|||
|
پيشنهادات و نتايج |
19 |
|||
1- مقدمه:
در اين مقاله زير سيستم هاي مديريت حافظه اين سيستم عامل ها را با هم مقايسه مي كنيم Linux 2.4 ، Windows 2000 و BSD 4.4 . BSD 4.4 به اين دليل انتخاب شد كه نماينده نسخه هاي مختلف Unix است كه بسياري از اصول و پايه هاي مهم طراحي يك سيستم عامل را داراست و امروزه بسياري از سيستم هاي عامل مانند: FreeBSD، NetBSD و OpenBSD بر مبناي آن ساخته شده اند. از همه مهمتر، Unix به صورت عالي مستند شده است و كتاب هاي بسياري در مورد آن نوشته شده اند. Windows 2000 انتخاب شده است، چون يك سيستم عامل عامه پسند است و براي كامپيوتر هاي شخصي و افراد مبتدي، بسيار كارا است و حالا هم به شكل يك سيستم عامل كاملا بالغ در آمده است.
Linux 2.4 را به اين دليل انتخاب كرديم كه هر روز هوا داران بيشتري پيدا مي كند و به نظر مي رسد كه جايگاه مهمي را در آينده پيدا خواهد كرد. ما خيلي مايل به خصوصيات و كارآيي هاي اين سيستم عامل عا نيستيم و در عوض مي خواهيم در اين مقاله به نحوه طراحي و معماري داخلي اين سيستم عامل ها نگاهي بياندازيم:
2- سيستم هاي مديريت حافظه:
ما سيستم هاي مديريت حافظه را به اختصار، MM مي گوييم. MM ها بخش خيلي مهمي از هسته سيستم عامل خستند. كار اصلي آنها مديريت سلسله مراتب حافظه اصلي يا RAM و ديسك هاي سخت موجود بر روي ماشين مي باشد.
كار هاي مهم آن شامل: تخصيص حافظه و ازاد سازي آن براي پروسس هايي است كه از راهكار ها و پياده سازي حافظه مجازي (يا Virtual Memory) استفاده مي كنندكه با استفاده از ديسك سخت به عنوان حافظه اصلي اضافه كار مي كند.
سيستم حافظه بايد تا آنجايي كه امكان دارد بهينه شود، زيرا كه كارآيي آن به شكل فزاينده اي به كارآيي كل سيستم و سرعت آن بستگي دارد.
2-1-حافظه مجازي:
ايده مهم در رابطه با سيستم هاي MM ، حافظه مجازي است. در گذشته در روز هاي اوليه كامپيوتر، محققان نياز روزافزون به حافظه را براي برنامه كاربردي احساس مي كردند. بنا بر اين ايده حافظه مجازي به وقوع پيوست. ايده اين است كه به يك برنامه به دروغ بگوييم كه مقادير زيادي حافظه براي استفاده آن موجود است. هسته يك چنين راهكاري را با استفاده از حافظه ثانويه ديسك سخت به وجود مي آورد تا احتياج به فضاي اضافي حافظه را پاسخ گويد. براي اينكه سيستم مديريت حافظه مجازي كار كند، ما احتياج به يك سري توابع نگاشتي داريم كه عمل ترجمه آدرس ها را به عهده مي گيرد و آدرس مجازي را به آدرس فيزيكي واقعي تبديل مي كند. آدرس مجازي آن آدرسي است كه برنامه از آن استفاده مي كند تا به يك نقطه از حافظه اشاره كند و آدرس فيزيكي، دقيقا آدرس همان نقطه اي از حافظه است كه براي باس محلي حافظه قرار داده مي شود. اين تابع عموما يكي از توابع صفحه بندي يا سگمنت بندي يا هر دوي آنها است كه وابسته به هسته سيستم عامل، معماري پردازنده و حالت هاي آن دارد.
2-2- صفحه بندي:
در صفحه بندي، فضاي آدرس (چه به شكل مجازي و چه واقعي) به صفحات ثابتي كه البته مي تواند داراي چندين سايز مختلف باشد، تقسيم بندي مي شود. صفحات به صورت جداگانه مي توانند به دست گرفته شوند و در مكان هاي مختلفي در حافظه اصلي يا ديسك سخت قرار داده شوند.
ترجمه آدرس عملا توسط بخش مديريت حافظه يا MMU انجام ميگيرد. با استفاده از يك جدول صفحه در شكل 1 نشان داده شده است. جداول صفحه ارتباط بين صفحات مجازي و صفحات فيزيكي را مشخص ميكنند. به عنوان مثال كدام صفحه مجازي هم اكنون كدام صفحه فيزيكي را اشغال كرده است.
MMU آدرس حافظه مجازي را به آدرس حافظه فيزيكي تبديل ميكند كه شامل شماره Page Frame است و يك آفست در آن صفحه است. حفاظت ميتواند به صورت صفحه به صفحه اعمال شود.
از آنجاييكه فضاي آدرس مجازي نسبت به حافظه فيزيكي عظيم است ما بايد از ديسك سخت براي ذخيره صفحات كه در حافظه فيزيكي نمي توانند ذخيره شوند استفاده كنيم. در ارتباط با هر صفحه مجازي در جدول صفحه يك بيت وجود دارد كه مشخص ميكند كه صفحه در حافظه فيزيكي وجود دارد يا خير. اگر صفحه در حافظه فيزيكي موجود نباشد سخت افزار يك پيغام خطاي صفحه توليد ميكند و اين حالت استثنا در نرم افزار كنترل شده و صفحه مورد نياز را از روي هارد ديسك به حافظه فيزيكي منتقل ميكند يا اگر غير قابل قبول باشد يك پيغام خطا توليد ميشود.
كافمن و دنينگ ويژگيهاي سيستمهاي صفحه بندي را به سه سياست مهم تقسيم بندي و معين كرده اند:
سياست جايگذاري فقط براي بهينه ساختن رفتار هاي معيني اهميت دارد. بنابراين به صورت عملي رفتار يك سيستم صفحه بندي فقط وابسته به سيا ستهاي واكشي و جايگذاري دارد. در اكثر سيستمهاي مدرن براي سياست واكشي يك سيستم صفحه بندي خاصي استفاده ميگردد كه در آن سيستم فقط وقتي كه صفحه اي مورد نياز باشد آنرا به حافظه بار ميكند ولي به هر حال گاهي اوقات بعضي از صفحات كه انتظار ميرود مورد نياز شوند را نيز از قبل صفحه بندي و جايگذاري مي نمايد. در ارتباط با سياست جايگذاري صفحه الگوريتمهاي زيادي در طول سالها اخته شده اند. مقايسه كاركرد الگوريتم هاي جايگذاري صفحات در مقالات بسياري آمده است.
برچسب های مهم
اگر به یک وب سایت یا فروشگاه رایگان با فضای نامحدود و امکانات فراوان نیاز دارید بی درنگ دکمه زیر را کلیک نمایید.
ایجاد وب سایت یا