موضوع مقاله: پارگی (علوم رایانه) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پارگی (علوم رایانه) | مقدمه: تکه‌تکه شدن در ذخیره‌سازی رایانه‌ای پدیده‌ای است که در آن فضای ذخیره‌سازی به‌طور ناکارآمد استفاده می‌شود و منجر به کاهش ظرفیت واقعی ذخیره‌سازی می‌شود. | ## بخش 1: پارگی (علوم رایانه) | سه شکل متفاوت اما مرتبط از تکه‌تکه شدن وجود دارد: تکه‌تکه شدن خارجی، تکه‌تکه شدن داخلی و تکه‌تکه شدن داده؛ که می‌توانند به تنهایی یا درارتباط با هم بررسی شوند. مبانی وقتی یک برنامه رایانه‌ای بلوک‌هایی از حافظه را از سیستم رایانه درخواست می‌کند، بلوک‌های حافظه به صورت تکه‌تکه تخصیص می‌یابند. وقتی کار برنامه رایانه‌ای با یک تکه از حافظه تمام می‌شود می‌تواند آن تکه را آزاد کند و به رایانه برگرداند. یک برنامه در مدت طول عمر خود می‌تواند هر تعداد تکه از حافظه را درخواست یا آزاد کند. در طی زمان و با استفاده برنامه‌ها، آن تکه‌های طویل و متوالی به تکه‌های کوچک و کوچک‌تر تقسیم می‌شوند. در نهایت ممکن است برای یک برنامه غیرممکن باشد که یک تکه بزرگ از حافظه را درخواست کند. انواع تکه‌تکه شدن تکه‌تکه شدن داخلی به دلیل قوانین و قواعد تخصیص حافظه، گاهی حافظه، بیشتر از مقدار مورد نیاز اختصاص می‌یابد. برای مثال حافظه تنها می‌تواند به برنامه‌هایی اختصاص یابد که تکه‌هایی قابل تقسیم بر ۴، ۸ یا ۱۶ داشته باشد. در نتیجه، اگر یک برنامه مثلاً ۲۳ بایت درخواست کند، در واقع یک تکهٔ ۲۴ بایتی دریافت می‌کند. در این سناریو، حافظهٔ غیرقابل استفاده حاوی یک ناحیه تخصیص یافته خواهد بود، بنابراین با عنوان تکه شدن داخلی نام‌گذاری می‌شود. برخلاف دیگر انواع، تکه‌تکه شدن داخلی به سختی احیا می‌شود و به حالت اولیه بازمی‌گردد، معمولاً بهترین راه برای حذف آن، تغییر طراحی است. | ## بخش 2: پارگی (علوم رایانه) | تکه‌تکه شدن خارجی تکه‌تکه شدن خارجی زمانی مطرح می‌شود که حافظهٔ آزاد به بلوک‌های کوچکی تقسیم شود و توسط حافظهٔ تخصیص یافته پراکنده گردد. این اتفاق ضعف برخی الگوریتم‌های تخصیص محل ذخیره‌سازی است که نمی‌توانند به‌طور کارآمد به حافظهٔ مورد استفادهٔ برنامه‌ها دستور دهند. نتیجه این می‌شود که اگر چه محل ذخیره‌سازی آزاد وجود دارد، اما غیرقابل استفاده می‌ماند چرا که به قسمت‌هایی تقسیم شده‌است که هر کدام زیادی کوچک هستند و نمی‌توانند درخواست‌های کاربردی را برآورده سازند. واژهٔ خارجی به این منظور بکار برده شده‌است که در اینجا محل ذخیره‌سازی غیرقابل استفاده بیرون نواحی تخصیص یافته قرار دارد. برای مثال حالتی را تصور کنید که در آن سیستم سه بلوک پیوسته از حافظه را به یک برنامه اختصاص می‌دهد و بلوک میانی را آزاد می‌کند. تخصیص دهندهٔ حافظه می‌تواند در آینده از این بلوک آزاد در تخصیص استفاده کند، با این وجود اگر حافظه‌ای که قرار است در آینده در این بلوک آزاد تخصیص یابد بزرگتر از این بلوک باشد، این امکان وجود نخواهد داشت. تکه‌تکه شدن خارجی، در سیستم‌های فایل هم اتفاق می‌افتد که در آن‌ها فایل‌هایی با سایزهای مختلف ساخته می‌شوند، تغییر سایز می‌دهند یا پاک می‌شوند. این تأثیر حتی در شرایطی که یک فایل که به تکه‌های بسیار کوچکی تقسیم شده‌است پاک می‌شود، مخرب تر هم ظاهر می‌شود، چرا که این کار نواحی کوچک مشابه از فضای خالی را بر جای می‌گذارد. تکه‌تکه شدن داده تکه‌تکه شدن داده زمانی اتفاق می‌افتد که مجموعه‌ای از داده‌ها در حافظه به بخش‌هایی که چندان به هم مرتبط نیستند تقسیم می‌شوند. این مسئله به‌طور معمول نتیجه تلاش برای درج شیئ ای بزرگ در فضای ذخیره‌سازی است که خود تحت تأثیر تکه‌تکه شدن خارجی قرار گرفته‌است. برای مثال، فایل‌ها در سیستم فایل معمولاً به وسیلهٔ واحدهایی به نام بلوک یا خوشه مدیریت می‌شوند. | ## بخش 3: پارگی (علوم رایانه) | وقتی که یک فایل سیستم ایجاد می‌شود، فضای ذخیره‌سازی آزاد برای ذخیره کردن بلوک‌ها به صورت پشت سرهم به وجود می‌آید؛ که این خواندن و نوشتن سریع و پی در پی فایل‌ها را امکان‌پذیر می‌سازد. با این وجود با اضافه شدن، حذف شدن یا تغییر در حجم فایل‌ها فضای خالی به صورت خارجی تکه‌تکه می‌شود و فقط فضاهای کوچکی برای جای دادن داده‌های جدید باقی می‌گذارد. وقتی فایل جدیدی نوشته می‌شود یا یکی از فایل‌های موجود گسترش می‌یابد، سیستم عامل آن را در بلوک‌های غیر متوالی موجود قرار می‌دهد. بلوک‌های داده‌ای جدید پراکنده می‌شوند و به همین دلیل زمان دسترسی به آن‌ها افزایش می‌یابد. وقتی یک فایل با سایز مشخص نوشته می‌شود در صورت وجود فضاهای خالی بزرگتر از آن فایل، سیستم عامل با قرار دادن فایل در یکی از آن فضاها از تکه‌تکه شدن داده جلوگیری می‌کند. الگوریتم " بهترین جای دهی "، کوچکترین فضایی را که به اندازه کافی بزرگ است انتخاب می‌کند. الگوریتم " اولین جای دهی "، اولین فضایی را که سایز کافی داشته باشد، انتخاب می‌کند. الگوریتم " جای دهی بعدی "، اولین مکان مناسب بعد از جای دهی قبلی را انتخاب می‌کند. الگوریتم " جای دهی بعدی " از "اولین جای دهی " سریع تر است که آن هم از " بهترین جای دهی " بهتر است. همانگونه که با انجام فشردگی می‌توان تکه‌تکه شدن خارجی را برطرف کرد، تکه‌تکه شدن داده‌ها را نیز می‌توان با باز آرایی فضای ذخیره‌سازی برطرف کرد. تکه‌تکه شدن حافظه یکی از سخت‌ترین مشکلاتی است که مدیران سیستم‌ها با آن مواجه هستند. | ## جمع‌بندی | این مسئله در طول زمان منجر به کاهش قابلیت اجرای سیستم می‌شود و در نهایت ممکن است به از دست رفتن همهٔ فضای آزاد حافظه شود.