Table of Contents
مدیریت حافظه یک جزء حیاتی از سیستم عامل است، اطمینان از استفاده کارآمد از رم و عملکرد سیستم بهینه، استراتژی های مختلف برای اختصاص، سازماندهی و منابع حافظه آزاد بر اساس نیازهای سیستم و ویژگی های کاری، این مقاله نمونه های واقعی از استراتژی های مدیریت حافظه مورد استفاده در سیستم عامل های محبوب را بررسی می کند.
Paging در ویندوز
مایکروسافت ویندوز از یک سیستم مدیریت حافظه استفاده می کند، حافظه فیزیکی را به بلوک های ثابت اندازه به نام صفحات تقسیم می کند، زمانی که برنامه ها نیاز به حافظه دارند، سیستم عامل صفحات و آدرس های مجازی را به آدرس های فیزیکی اختصاص می دهد.این روش به ویندوز اجازه می دهد تا به طور موثر برنامه های بزرگ را مدیریت کند و با مبادله صفحات بین رم و ذخیره سازی دیسک، که به عنوان فایل صفحه شناخته می شود، چندین کار کند.
بخش بندی در لینوکس
لینوکس تقسیم بندی را به عنوان بخشی از مدیریت حافظه خود به کار می برد.این حافظه را به بخش هایی از جمله کد، داده ها و بخش های پشته تقسیم می کند.هر فرآیند دارای بخش های جداگانه خود است، محافظت و انزوا را فعال می کند. Linux همچنین از ذخیره سازی در بخش هایی برای بهینه سازی استفاده از حافظه و تسهیل مدیریت حافظه مجازی استفاده می کند.
حافظه مجازی در macOS
macOS از مدیریت حافظه مجازی استفاده می کند که تکنیک های همگام سازی و مبادله را ترکیب می کند.این اجازه می دهد تا برنامه ها از حافظه بیشتری نسبت به طور موقت انتقال داده ها به دیسک استفاده کنند. macOS این فرایند را به صورت یکپارچه مدیریت می کند و فضای آدرس بزرگ و جلوگیری از برنامه های از سقوط به دلیل کمبود حافظه را فراهم می کند.
استراتژی های حافظه Allocation
- اولویت اول: اولین بلوک حافظه را به اندازه کافی بزرگ برای درخواست انتخاب کنید.
- بهترین سود: پیدا کردن کوچکترین بلوک موجود است که متناسب با درخواست.
- سیستم رای: حافظه را به پارتیشن هایی تقسیم می کند که قدرت دو، ادغام و تقسیم را به عنوان مورد نیاز دارند.
- تخصیص کار: برای تخصیص حافظه برای اشیاء با اندازه یکسان، رایج در مدیریت حافظه کرنل استفاده می شود.