دانلود مقاله مقایسه سیستم های مدیریت حافظه BSD, Windows, Linux

Word 1 MB 17340 19
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۱۶,۰۰۰ تومان
قیمت: ۱۲,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • در این قسمت می خواهیم سیستم مدیریت حافظه یک سیستم عامل را مورد بررسی و کاوش قرار دهیم.

    ما ابتدا با یک نگاه جامع به سیستمهای مدیریت حافظه که به اختصار به آنها MM نیز میگویند میپردازیم و بعد سیستم های مدیریت حافظه را در سیستم عامل های واقعی Linux 2.4 ، Windows 2000 و BSD 4.4 با هم مقایسه می کنیم.
    در این مقاله زیر سیستم های مدیریت حافظه این سیستم عامل ها را با هم مقایسه می کنیم 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 است و یک آفست در آن صفحه است.

    حفاظت میتواند به صورت صفحه به صفحه اعمال شود.

    از آنجاییکه فضای آدرس مجازی نسبت به حافظه فیزیکی عظیم است ما باید از دیسک سخت برای ذخیره صفحات که در حافظه فیزیکی نمی توانند ذخیره شوند استفاده کنیم.

    در ارتباط با هر صفحه مجازی در جدول صفحه یک بیت وجود دارد که مشخص میکند که صفحه در حافظه فیزیکی وجود دارد یا خیر.

    اگر صفحه در حافظه فیزیکی موجود نباشد سخت افزار یک پیغام خطای صفحه تولید میکند و این حالت استثنا در نرم افزار کنترل شده و صفحه مورد نیاز را از روی هارد دیسک به حافظه فیزیکی منتقل میکند یا اگر غیر قابل قبول باشد یک پیغام خطا تولید میشود.

    کافمن و دنینگ ویژگیهای سیستمهای صفحه بندی را به سه سیاست مهم تقسیم بندی و معین کرده اند: وقتی سیستم صفحات را به حافظه اصلی بار میکند سیاست واکشی اجرا میشود.

    جایی که سیستم صفحات را در داخل حافظه قرار میدهد سیاست جایگذاری اعمال میشود.

    روشی را که به کمک آن سیستم صفحاتی را که باید از حافظه برداشته شوند انتخاب میکند وقتی که صفحات برای تقاضای جایگذاری موجود نبودند سیاست جایگذاری جابجایی اجرا میگردد.

    سیاست جایگذاری فقط برای بهینه ساختن رفتار های معینی اهمیت دارد.

    بنابراین به صورت عملی رفتار یک سیستم صفحه بندی فقط وابسته به سیا ستهای واکشی و جایگذاری دارد.

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

    در ارتباط با سیاست جایگذاری صفحه الگوریتمهای زیادی در طول سالها اخته شده اند.

    مقایسه کارکرد الگوریتم های جایگذاری صفحات در مقالات بسیاری آمده است.

    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 میگویند که کارهای وابسته به سیستم را انجام میدهد و بنابراین به بقیه هسته اجازه میدهد که به شکل مستقل از زیربنای سخت افزار کد شود.

    این شیوه، انتقال سیستم عامل را به دیگر ساختارهای سخت افزاری ممکن میسازد.

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

    بهر حال وقتیکه یک پروسس یک عمل نوشتن بر روی یک صفحه انجام میدهد یک کپی خصوصی برای آن پروسس ساخته میشود که بعدا میتواند به صورت انفرادی از آن استفاده کند.

    این کار راندمان بسیار بهتری را به دست میدهد.

    صفحه بندی سایه ای: یک شی سایه برای شی اصلی ساخته میشود به طوریکه شی سایه ای بعضی از صفحات خود را به صورت تغییر یافته از صفحات شی اصلی داراست.

    اما بقیه صفحات را با شی اصلی به اشتراک میگذارد و آنها با عمل کپی به هنگام نوشتن شکل میگیرند.

    یک شبه پشت صحنه: یک شبه پشت صحنه وجود دارد که به صورت متناوبصدا زده میشود و کارهایی را مانند خالی کردن (Flushing) و آزاد سازی حافظه بلا استفاده را انجم میدهد.

    فایلهای قرار داده شده در حافظه: یک فایل میتواند بر روی حافظه قرار داده شود که بعدا میتواند با دستورات ساده خواندن و نوشتن اسنفاده شود.

    ارتباطات بین پروسسی: فایلهای قرار داده شده بر روی حافظه بعدا اجازه داده میشوند که بین پروسسها به اشتراک گذاشته شوند که یک شیوه را برای ارتباطات بین پرو سس ها فراهم می آورد.

    در بخش زیر ما این سیستم ها را از نظر ویژگیهای خاص آنها با هم مقایسه میکنیم.

    3-1- ساختما نهای داده ای برای تشریح فضای پروسس: حال ما به مطالعه ساختمان داده هایی که سیستمها برای نگه داری و ذخیره رد حافظه مجازی استفاده میکنند میپردازیم: 3-1-1-BSD 4.4: در BSD 4.4 ساختمان داده ها در شکل 2 نشان داده شده اند.

    از آنجاییکه هر پروسس اساسا دارای فضای آدرس مجازی مسطح خود است این ساختار برای هر پروسس تکرار میشود..

    ساختار های اساسی عبارتند از : Vm_map_entry Vm_map Vm_space Vm_page Shadow object Object شکل2) ساختارهای داده ای برای مدیریت حافظه مجازی پروسس Vm_pMap یک لایه وابسته به سخت افزار است و وظیفه انجام مدیریت حافظه را در پایین ترین سطح خود به عهده دارد و عموما شیوه های مختلفی را که پروسسور های گوناگون برای برنامه نویسی حافظه مجازی دارند را پشتیبانی میکند و کد وابسته به سخت افزار را فق در یک موجول قرار میدهد و موجب میشود که بقیه کد مربوط به حافظه مجازی مستقل از سخت افزار باشد.

    این کار منجر به یک طراحی پیمانه ا ی و موجولار میشود و انتقال کد به معماریهای گوناگون را به نسبت آسانتر و سریعتر میکند.

    ساختار vm_map دارای یک اشاره گر به vm_pmap و یک زنجیره vm_pMap_entry است.

    یک vm_map_entry برای هر ناحیه همسا یگی از حافظه مجازی استفاده میشود که دارای همان حقوق حفاظت و وراثت است.

    سپس به زنجیره ای از اشیا vm_object اشاره میکند.

    آخرین چیز در لیست شی واقعی است مثل فایل و دیگری سایه شی ها هستند.

    سایه شی ها در شاخه دیگری از کار مقیسه ما بحث خواهند شد.

    شی دارای یک اشاره گر به یک لیست از اشیا vm_page است که نشان دهنده صفحات حافظه فیزیکی واقعی هستند.

    این صفحات در حافظه اصلی به عنوان حافظه نهان از دیسک سخت شناخته میشوند که یکی از مفاهیم حافظه مجازی است.

    همچنین Vm_object دارای اشاره گر هایی به توابعی است که اعمالی را بر روی آن انجام میدهند.

    3-1-2-Windows: ساختارهای دادهای که در WinodwsNT هستند در شکل 3 نشان داده شده اند.

    ساختار های داده ای Windows NT برای مدیریت حافظه مجازی پروسس به جای یک لیست پیوندی Windows NT آنرا به شکل یک درخت نگه داری میکند.

    هر نود این درخت شناسه آدرس مجازی یا Virtual address Descriptor یا VAD نامیده میشود.

    هر VAD نشانگر یک بازه از آدرسهاست که دارای پارامتر های حفاظتی یکسانی هستند و اطلاعات وضعیت را نگه داری میکنند.

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

    VAD هر نود درخت را به صورت یکی از مقادیر حالت نگه داری، آزاد یا رزرو شده علامت میزند.

    نگه دارها آنهایی هستند که مورد استفاده قرار گرفته اند.

    به عنوان مثال دیتا یا کد بر روی آنها ریخته شده است.

    آنهائیکه مارک آزاد خورده اند هنوز مورد استفاده قرار نگرفته اند و آنهاییکه رزرو خورده اند آنهایی هستند که قابل دسترس برای استفاده و نگاشتن نیستند تا زمانیکه حالت رزرو شده از روی آنها برداشته شود.

    رزرواسیون در مواقع بخصوصی مورد استفاده قرار میگیرد به عنوان مثال یک نود میتواند برای پشته یک Thread هنگام ساخته شدن آن رزرو شود.

    پیوند به ریشه درخت در PCB یا Process control Block نگهداری میشود.

    3-1-3- Linux: لینوکس ساختار داده های حافظه مجازی را به شکل مشابهی با unix پیاده سازی میکند.

    آن یک لیست پیوندی از vm_area_structs نگه داری مینماید.

    اینها ساختارهایی هستند که مناطق

  • مقدمه
    سیستم های مدیریت حافظه
    حافظه مجازی
    صفحه بندی
    مقایسه
    ساختمانهای داده ای برای تشریح فضای پروسس
    4.4 BSD
    Windows
    Linux
    توزیع فضای آدرس پروسس
    جابجایی صفحات
    4.4 BSD
    Windows
    Linux
    پیشنهادات و نتایج
کلمات کلیدی: , Linux - BSD - Window - مدیریت حافظه

تحقیق دانش آموزی در مورد دانلود مقاله مقایسه سیستم های مدیریت حافظه BSD, Windows, Linux, مقاله دانشجویی با موضوع دانلود مقاله مقایسه سیستم های مدیریت حافظه BSD, Windows, Linux, پروژه دانشجویی درباره دانلود مقاله مقایسه سیستم های مدیریت حافظه BSD, Windows, Linux

سولایس یک محیط عملیاتی بسیار قوی می باشد که در برگیرنده سیستم عامل چند پردازنده ای چند کاربردی (sun os)sun می باشد . سولاریس یک سیستم عامل شبکه است که در سیستم های pc وابسته به اینتل و همچنین سیستم هایی با پردازنده دارای ساختار معماری ultra SPARC , SPARC اجراء می گردد . این سیستم ها می توانند دارای حداکثر CPU64 باشند که به طور همزمان در سیستم سرور E10000 در حال کار می باشند . با ...

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

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

مقدمه طبق آمار سایت Global Videogame Market سهم 7 میلیون دلاری بازی های همراه از بازار 28 میلیارد دلاری بازی های رایانه در سال 2001 ( که تقریباً معادل 025/0درصد است) به سهم 6/3میلیارد دلاری از بازار 30 میلیارد دلاری بازی های رایانه ای در سال 2006 افزایش یافته است. یعنی تنها در عرض 6 سال این بازار رشدی 500 درصدی داشته است. ارقام وقتی حیرت آورتر می شود که پیش بینی کاربران بازی های ...

به نام خدا شرکت رهنمون فناوری اطلاعات در سال 1381 با مالکیت خصوصی به شماره ثبت 196417 در تهران با هدف ارایه راهکارهای جامع اتوماسیون مالی و اداری تاسیس گردید.  این هدف با پوشش جنبه‌های مختلف فناوری اطلاعات شامل بررسی و امکان سنجی پیاده سازی سیستم‌های اتوماسیون ،‌مشاوره در زمینه تهیه تجهیزات و نرم افزار ، پیاده سازی پروتکلهای بهینه گردش کاری ، ارایه سخت افزار رایانه ،‌تولید ...

شامل : بخش اول : سیستم عامل چیست و چه وظایفی دارد ؟ بخش دوم : نصب Linux بخش سوم : آشنایی با محیط، تعدادی از دستورات پرکاربرد ونحوه نصب نرم افزار درLinux : بخش اول سیستم عامل چیست و چه وظایفی دارد ؟ سیستم عامل برنامه ای است که مدیریت سخت افزار و نرم افزار کامپیوتر را به عهده می گیرد . در ابتدا سیستم عامل ها به منظور انجام یک سری عملیات که باید بوسیله سخت افزار مرتباً تکرار می شد ...

توزیع کننده های مختلف لینوکس : لینوکس توزیع های مختلفی دارد که ما چند نمونه از آن را شرح می دهیم. RedHat این نسخه به این دلیل که دارای انعطاف زیادی بوده جزء مشهورترین نسخه های لینوکس بوده و دارای طرفداران زیادی می باشد. این نسخه می تواند هم به عنوان ایستگاه کاری و هم به عنوان سرور استفاده شود.و نصب آن بسیار آسان است. Mandrake این نسخه ازلینوکس در سال 1998 بر اساس ردهت ساخته شده ...

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

مقدمه لینوکس یک سیستم عامل قدرتمند ,پایدار و رایگان است و هم اکنون توسط شرکت ها و سازمان های متعددی از سراسر جهان پشتیبانی و حمایت می شود.این سیستم عامل به صورت متن باز ارائه می شود و بدین ترتیب برنامه نویسان و دانشجویان به راحتی می توانند کد های آن را تغییر دهند. هم اکنون انواع مختلفی از سیستم عامل لینوکس همانند SuSe , Mandrake و Red Hat وجود دارد و در کشور ما نیز لینوکس رد هت ...

درمورد علل شکل گیری Visual Studio.NET بطور خلاصه می توان گفت با اینکه مایکروسافت می دانست با ابزارهای قبلی شرکت می توان برنامه های اینترنتی نوشت ولی برای قبضه کردن بازار احتیاج به تکنولوژی جدیدی داشت . مایکروسافت از سال 1998 که ویژوال استودیو 6 را به بازار وارد کرد در پی حل این مشکلات بود تا در سال 2000 ، NET. را در کنفرانس برنامه نویسان حرفه ای PDC به جهان معرفی کرد. از آن روز ...

ثبت سفارش