تقسیمبندی داخلی در مقابل خارجی
تفاوت بین پراکندگی داخلی و خارجی موضوعی است که مورد علاقه بسیاری از کسانی است که دوست دارند دانش رایانه خود را بهبود بخشند. قبل از دانستن این تفاوت، باید ببینیم که چندپارگی چیست. تکه تکه شدن پدیده ای است که در حافظه کامپیوتر مانند حافظه با دسترسی تصادفی (RAM) یا هارد دیسک رخ می دهد که باعث هدر رفتن و استفاده ناکارآمد از فضای آزاد می شود. در حالی که استفاده کارآمد از فضای موجود مانع می شود، این باعث مشکلات عملکرد نیز می شود. تکه تکه شدن داخلی زمانی اتفاق میافتد که تخصیص حافظه بر اساس پارتیشنهایی با اندازه ثابت باشد، جایی که پس از تخصیص یک برنامه با اندازه کوچک به یک اسلات، فضای آزاد باقیمانده آن اسلات تلف میشود.تکه تکه شدن خارجی زمانی اتفاق میافتد که حافظه به صورت پویا تخصیص داده میشود، جایی که پس از بارگیری و تخلیه چندین اسلات در اینجا و آنجا فضای آزاد به جای پیوسته بودن توزیع میشود.
تجزیه داخلی چیست؟
شکل بالا را در نظر بگیرید که در آن مکانیسم تخصیص حافظه با اندازه ثابت دنبال می شود. در ابتدا، حافظه خالی است و تخصیص دهنده حافظه را به پارتیشن هایی با اندازه ثابت تقسیم کرده است. سپس سه برنامه به نامهای A، B، C در سه پارتیشن اول بارگذاری شدند، در حالی که پارتیشن چهارم هنوز رایگان است.برنامه A با اندازه پارتیشن مطابقت دارد، بنابراین هیچ اتلافی در آن پارتیشن وجود ندارد، اما برنامه B و برنامه C کوچکتر از اندازه پارتیشن هستند. بنابراین در قسمت یون 2 و پارتیشن 3 فضای خالی باقی مانده است. با این حال، این فضای آزاد غیرقابل استفاده است زیرا تخصیص دهنده حافظه فقط پارتیشن های کامل را به برنامه ها اختصاص می دهد اما هیچ قسمتی از آن را ندارد. به این اتلاف فضای آزاد، تکه تکه شدن داخلی می گویند.
در مثال بالا، پارتیشنهای ثابت با اندازه مساوی هستند، اما این میتواند حتی در شرایطی اتفاق بیفتد که پارتیشنهایی با اندازههای ثابت مختلف در دسترس هستند. معمولاً حافظه یا سخت ترین فضا به بلوک هایی تقسیم می شود که معمولاً به اندازه توان های 2 مانند 2، 4، 8، 16 بایت هستند. بنابراین یک برنامه یا یک فایل 3 بایتی به یک بلوک 4 بایتی اختصاص داده می شود اما یک بایت از آن بلوک غیرقابل استفاده می شود و باعث تکه تکه شدن داخلی می شود.
تکه تکه شدن خارجی چیست؟
شکل بالا را در نظر بگیرید که در آن تخصیص حافظه به صورت پویا انجام می شود. در تخصیص حافظه پویا، تخصیص دهنده فقط اندازه دقیق مورد نیاز آن برنامه را اختصاص می دهد. حافظه اول کاملا رایگان است. سپس برنامه های A، B، C، D و E با اندازه های مختلف یکی پس از دیگری بارگذاری می شوند و به ترتیب به طور پیوسته در حافظه قرار می گیرند. سپس بعداً برنامه A و برنامه C بسته می شوند و از حافظه تخلیه می شوند. اکنون سه فضای خالی در حافظه وجود دارد، اما مجاور نیستند. حالا یک برنامه بزرگ به نام برنامه F قرار است بارگذاری شود اما هیچ یک از بلوک های فضای آزاد برای برنامه F کافی نیست. اضافه کردن تمام فضاهای آزاد قطعا برای برنامه F کافی است، اما به دلیل عدم مجاورت آن فضا غیر قابل استفاده برای برنامه F.به این تقسیم بندی خارجی می گویند.
تفاوت بین تقسیم داخلی و خارجی چیست؟
• تکه تکه شدن داخلی زمانی رخ می دهد که از تکنیک تخصیص حافظه با اندازه ثابت استفاده شود. تکه تکه شدن خارجی زمانی رخ می دهد که از تکنیک تخصیص حافظه پویا استفاده شود.
• تکه تکه شدن داخلی زمانی اتفاق می افتد که یک پارتیشن با اندازه ثابت به برنامه/فایلی با اندازه کمتر از پارتیشن اختصاص داده شود و بقیه فضای آن پارتیشن غیرقابل استفاده باشد. تکه تکه شدن خارجی به دلیل عدم وجود فضای مجاور کافی پس از بارگذاری و تخلیه برنامه ها یا فایل ها برای مدتی است زیرا تمام فضای آزاد اینجا و آنجا توزیع می شود.
• تکه تکه شدن خارجی را می توان با فشرده سازی استخراج کرد، جایی که بلوک های اختصاص داده شده به یک طرف منتقل می شوند، به طوری که فضای پیوسته به دست می آید. با این حال، این عملیات زمان می برد و همچنین برخی از مناطق تعیین شده حیاتی برای مثال خدمات سیستم را نمی توان به طور ایمن جابجا کرد. ما میتوانیم این مرحله فشردهسازی را که روی دیسکهای سخت انجام میشود، هنگام اجرای یکپارچهسازی دیسک در ویندوز مشاهده کنیم.
• با مکانیسم هایی مانند بخش بندی و صفحه بندی می توان از تکه تکه شدن خارجی جلوگیری کرد. در اینجا یک فضای حافظه مجازی پیوسته منطقی داده میشود در حالی که در واقعیت فایلها/برنامهها به بخشهایی تقسیم میشوند و اینجا و آنجا قرار میگیرند.
• تکه تکه شدن داخلی را می توان با داشتن پارتیشن هایی با اندازه های مختلف و اختصاص یک برنامه بر اساس بهترین تناسب، از بین برد. با این حال، هنوز پراکندگی داخلی به طور کامل حذف نشده است.
خلاصه:
تقسیمبندی داخلی در مقابل خارجی
هم تکه تکه شدن داخلی و هم تکه تکه شدن خارجی پدیده هایی هستند که در آن حافظه هدر می رود. تکه تکه شدن داخلی در تخصیص حافظه با اندازه ثابت اتفاق می افتد در حالی که تکه تکه شدن خارجی در تخصیص حافظه پویا رخ می دهد. هنگامی که یک پارتیشن اختصاص داده شده توسط برنامه ای که کوچکتر از پارتیشن است اشغال می شود، فضای باقیمانده هدر می رود و باعث تکه تکه شدن داخلی می شود. هنگامی که پس از بارگذاری و تخلیه برنامه ها فضای مجاور کافی پیدا نمی شود، به دلیل اینکه فضای آزاد در اینجا و آنجا توزیع می شود، باعث تکه تکه شدن خارجی می شود.تکه تکه شدن می تواند در هر دستگاه حافظه مانند RAM، هارد دیسک و درایوهای فلش رخ دهد.