محل لوگو

Process & Memory Management for BSD, Windows, Linux


این متن شامل 16 صفحه می باشد 

 

در اين مقاله زير سيستم هاي مديريت حافظه اين سيستم عامل ها را با هم مقايسه مي كنيم 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 است و يك آفست در آن صفحه است. حفاظت ميتواند به صورت صفحه به صفحه اعمال شود.

از آنجاييكه فضاي آدرس مجازي نسبت به حافظه فيزيكي عظيم است ما بايد از ديسك سخت براي ذخيره صفحات كه در حافظه فيزيكي نمي توانند ذخيره شوند استفاده كنيم. در ارتباط با هر صفحه مجازي در جدول صفحه يك بيت وجود دارد كه مشخص ميكند كه صفحه در حافظه فيزيكي وجود دارد يا خير. اگر صفحه در حافظه فيزيكي موجود نباشد سخت افزار يك پيغام خطاي صفحه توليد ميكند و اين حالت استثنا در نرم افزار كنترل شده و صفحه مورد نياز را از روي هارد ديسك به حافظه فيزيكي منتقل ميكند يا اگر غير قابل قبول باشد يك پيغام خطا توليد ميشود.

كافمن و دنينگ ويژگيهاي سيستمهاي صفحه بندي را به سه سياست مهم تقسيم بندي و معين كرده اند:

 

  1. وقتي سيستم صفحات را به حافظه اصلي بار ميكند سياست واكشي اجرا ميشود.
  2. جايي كه سيستم صفحات را در داخل حافظه قرار ميدهد سياست جايگذاري اعمال ميشود.
  3. روشي را كه به كمك آن سيستم صفحاتي را كه بايد از حافظه برداشته شوند انتخاب ميكند وقتي كه صفحات براي تقاضاي جايگذاري موجود نبودند سياست جايگذاري جابجايي اجرا ميگردد.

 

سياست جايگذاري فقط براي بهينه ساختن رفتار هاي معيني اهميت دارد. بنابراين به صورت عملي رفتار يك سيستم صفحه بندي فقط وابسته به سيا ستهاي واكشي و جايگذاري دارد. در اكثر سيستمهاي مدرن براي سياست واكشي يك سيستم صفحه بندي خاصي استفاده ميگردد كه در آن سيستم فقط وقتي كه صفحه اي مورد نياز باشد آنرا به حافظه بار ميكند ولي به هر حال گاهي اوقات بعضي از صفحات كه انتظار ميرود مورد نياز شوند را نيز از قبل صفحه بندي و جايگذاري مي نمايد. در ارتباط با سياست جايگذاري صفحه الگوريتمهاي زيادي در طول سالها اخته شده اند. مقايسه كاركرد الگوريتم هاي جايگذاري صفحات در مقالات بسياري آمده است.

 

 

 

3- مقايسه:

حال ميخواهيم بر روي سيستم هاي مديريت حافظه در Linux 2.4 ، Windows 2000 و BSD 4.4 متمركز شويم. سيستم حافظه مجازي در BSD 4.4 مبتني بر كد حافظه مجازي Mach 2.0,2.5,3.0 است. Windows2000 جزو سري طولاني سيستم عامل ها از زمان MS-DOS ساخته شده است.

Linux 2.4 به وسيله هكرها ساخته شد كه در اصل توسط Linux Torvalds ساخته شده است.

علاوه بر منابعي كه در جاهاي گوناگون براي اين سيستم عاملها وجود دارد اطلاعات بيشتري را ميتوانيد در مورد اين موضوع از لينكهاي 18و17 و21 در انتهاي مقاله بدست آوريد.

به جاي آنكه سيستمهاي مديريت حافظه را براي تك تك اين سيستمها به صورت جزئي توضيح دهيم كه يك كار بس طولاني خواهد بود ما در اينجا بعضي از نقاط بارز آنها را با هم مقايسه ميكنيم.

هر سه سيستم داراي سيستم مديريت حافظه مدرني هستند و داراي نكات مشترك زيادي ميباشند. ساختارهاي دادهاي آنها خيلي به هم شبيه اندو خصوصيات هر يك نيز به يكديگر شباهت زيادي دارد. بعضي از شباهتهاي آنها نيز در زير آورده شده است:

لايه انتزاعي سخت افزار:تمام اين سيستم عاملها داراي لايه اي هستند كه به آن Hardware Abstraction Layer يا HAL ميگويند كه كارهاي وابسته به سيستم را انجام ميدهد و بنابراين


مبلغ قابل پرداخت 20,000 تومان

توجه: پس از خرید فایل، لینک دانلود بصورت خودکار در اختیار شما قرار می گیرد و همچنین لینک دانلود به ایمیل شما ارسال می شود. درصورت وجود مشکل می توانید از بخش تماس با ما ی همین فروشگاه اطلاع رسانی نمایید.

Captcha
پشتیبانی خرید

برای مشاهده ضمانت خرید روی آن کلیک نمایید

  انتشار : ۱ فروردین ۱۳۹۹               تعداد بازدید : 163

برچسب های مهم

دیدگاه های کاربران (0)

تمام حقوق مادی و معنوی این وب سایت متعلق به "" می باشد

فید خبر خوان    نقشه سایت    تماس با ما