پارگی (علوم رایانه): تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ویرایش به وسیلهٔ ابزار خودکار ابرابزار |
Dariyovash (بحث | مشارکتها) جز اصلاح مشکلات ویرایشی به وسیلهٔ ابزار خودکار املا |
||
خط ۱:
{{ویکی}}
'''
سه شکل متفاوت اما مرتبط از
=== مبانی ===
وقتی یک برنامه کامپیوتری بلوکهایی از حافطه را از سیستم کامپیوتر درخواست میکند، بلوکهای حافطه به صورت
یک برنامه در مدت طول عمر خود میتواند هر تعداد تکه از حافظه را درخواست و یا آزاد کند. وقتی یک برنامه شروع به کار میکند، قسمتهای آزاد حافظه طویل و پشت سر هم هستند. در طی زمان و با استفاده برنامهها، آن تکههای طویل و متوالی به تکههای کوچک و کوچک تر تقسیم میشوند. در نهایت ممکن است برای یک برنامه غیرممکن باشد که یک تکه بزرگ از حافظه را درخواست کند.{{سخ}}
=== انواع
=====
به دلیل قوانین و قواعد تخصیص حافظه، گاهی حافظه، بیشتر از مقدار مورد نیاز اختصاص مییابد. برای مثال حافظه تنها میتواند به برنامههایی اختصاص یابد که تکههایی قابل تقسیم بر ۴، ۸ یا ۱۶ داشته باشد. در نتیجه، اگر یک برنامه مثلا ۲۳ بایت درخواست کند، در واقع یک تکهٔ ۲۴ بایتی دریافت میکند.{{سخ}}
وقتی این اتفاق رخ میدهد، حافظهٔ اضافی به هدر میرود. در این سناریو، حافظهٔ غیرقابل استفاده حاوی یک ناحیه تخصیص یافته خواهد بود، بنابراین با عنوان تکه شدن داخلی نام گذاری میشود. برخلاف دیگر انواع،
=====
نتیجه این میشود که اگر چه محل
برای مثال حالتی را تصور کنید که در آن سیستم سه بلوک پیوسته از حافظه را به یک برنامه اختصاص میدهد و بلوک میانی را آزاد میکند. تخصیص دهندهٔ حافظه میتواند در آینده از این بلوک آزاد در تخصیص استفاده کند، با این وجود اگر حافظهای که قرار است در آینده در این بلوک آزاد تخصیص یابد بزرگتر از این بلوک باشد، این امکان وجود نخواهد داشت.{{سخ}}
=====
برای مثال، فایلها در سیستم فایل معمولا بوسیله واحدهایی به نام بلوک یا خوشه مدیریت میشوند. وقتی که یک فایل سیستم ایجاد میشود، فضای
وقتی یک فایل با سایز مشخص نوشته میشود در صورت وجود فضاهای خالی بزرگتر از آن فایل، سیستم عامل با قرار دادن فایل در یکی از آن فضاها از
الگوریتمهای متعددی برای انتخاب این فضاهای خالی وجود دارد. الگوریتم " بهترین جای دهی "، کوچکترین فضایی را که به اندازه کافی بزرگ است انتخاب میکند. الگوریتم "بدترین جای دهی "، بزرگترین فضای ممکن را انتخاب میکند. الگوریتم " اولین جای دهی "، اولین فضایی را که سایز کافی داشته باشد، انتخاب میکند. الگوریتم " جای دهی بعدی "، اولین مکان مناسب بعد از جای دهی قبلی را انتخاب میکند. الگوریتم " جای دهی بعدی " از "اولین جای دهی " سریع تر است که آن هم از " بهترین جای دهی " بهتر است.{{سخ}}
همانگونه که با انجام فشردگی میتوان
== منابع ==
|