Table of Contents
الگوریتم های مدیریت حافظه برای استفاده کارآمد از حافظه کامپیوتر ضروری هستند، آنها تعیین می کنند که چگونه حافظه اختصاص داده شده، پیکربندی شده و سازمان یافته برای بهینه سازی عملکرد و جلوگیری از موضوعاتی مانند تکه تکه تکه شدن و نشت حافظه است.این مقاله الگوریتم های مشترک را مقایسه می کند و نمونه های عملی استفاده از آنها را فراهم می کند.
اولین الگوریتم های محتوا و بهترین الگوریتم های محتوا
اول-Fit اولین بلوک موجود حافظه را که به اندازه کافی بزرگ برای درخواست است اختصاص می دهد، ساده و سریع است، اما می تواند به تجزیه و تحلیل در طول زمان منجر شود. بهترین-Fit کل لیست بلوک های آزاد را جستجو می کند تا کوچکترین چیزی را پیدا کند که متناسب با درخواست است، کاهش زباله، اما افزایش زمان جستجو.
به عنوان مثال، در سیستم با بلوک های آزاد با اندازه های 10، 20 و 30 واحد، درخواست 15 واحد به صورت زیر اختصاص داده می شود:
- ابتدا، این بلوک 20 واحد را اختصاص می دهد.
- بهترین حالت، بلوک 30 واحد را تخصیص می دهد اگر کوچکترین بلوکی باشد که متناسب با درخواست باشد.
سیستم های بعدی و پنج و دوستانه
Next-Fit یک تنوع از اول است که از آخرین موقعیت اختصاص یافته، که می تواند عملکرد را در سناریوهای خاص بهبود بخشد، استفاده می کند.سیستم Buddy حافظه را به بلوک های اندازه تقسیم می کند که قدرت دو هستند، اجازه می دهد تقسیم سریع و ادغام بلوک ها.
در سیستم موج، هنگامی که یک بلوک آزاد می شود، با دوست خود ادغام می شود اگر هر دو آزاد باشند، این روش برای سیستم هایی با الگوهای تخصیص حافظه قابل پیش بینی کارآمد است.
نمونه عملی سیستم Buddy
فرض کنید یک سیستم دارای حافظه 128 واحدی است که به تعداد 64 و 64 تقسیم شده است. درخواست 50 واحد ساخته شده است و سیستم یک بلوک 64 واحد را به دو جوانه 32 واحد تقسیم می کند.