امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

تفاوت Fragmentation و Defragmentation در چیست؟

Fragmentation در لغت به معنای تکه تکه شدن است.Fragmentation میتواند در هارد دیسک ، حافظه رم سیستم ، و سایر دستگاه های ذخیره سازی اتفاق بیفتد به این علت که داده های مربوط به یک فایل نمیتوانند در روی هارد دیسک از لحاظ موقعیت فیزیکی نزدیک به هم قرار بگیرند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

داده های fragment شده مربوط به یک فایل به تکه هایی از هر جا هارد دیسک پخش میشوند که در این صورت میگوییم Fragmentation اتفاق افتاده است.حال Defragmentation یا همان یکپارچه سازی عکس عمل Fragmentation است که به جمع آوری تکه هایی از داده های یک فایل که در سراسر یک هارد دیسک پخش شده است اطلاق میشود.عمل Defragmentation ما را در جهت دسترسی پیدا کردن سریع به یک فایل کمک میکند.

منظور از Fragmentation و Defragmentation در هارد دیسک چیست ؟

File Fragments به چه معناست؟

همانطور که در بالا ذکر کردیم ، Fragments به تکه هایی از یک فایل میگویند که پشت سر هم در هارد درایو ما قرار نگرفته است.برای مثال وقتی شما یک فایل ورد ایجاد میکنید شما ملاحظه میکنید که کل فایل ورد شما در یک مکان قرار گرفته است نظیر پوشه Desktop ، پوشه Documents و غیره.شما میتوانید آن فایل را باز کنید ، ویرایش کنید ، نامش را تغییر دهید ، و از این قبیل کارها.از منظر شما شما کل داده های درون فایل در یک جا ذخیره شده و قرار گرفته اند در حالیکه این گونه نیست اگر از دید فنی به این موضوع نگاه کنید در می یابید که داده های فایل شما ممکن است در روی هارد دیسک در مکان های مختلفی قرار گرفته باشند.

در عوض ، هارد درایو شما ممکن است بخش هایی از یک فایل را در یک مکان از هارد دیسک ذخیره کند در حالیکه بخش های باقی مانده دیگر ممکن است در مکان هایی از دور از تکه های فایل جمع شده در یک بخش قرار گرفته باشند.وقتی شما فایلی را باز میکنید هارد دیسک تان به سرعت داده های پخش شده در مکان های مختلف هارد درایو را جمع آوری میکند تا توسط ما قابل استفاده باشد.وقتی هارد دیسک میخواهد تکه هایی از یک فایل را که بر روی هارد دیسک نوشته شده اند بخواند این سرعت خواندن به سرعتی که داده های یک فایل در یکجا جمع آوری شده اند نمیرسد.

به زبان ساده فرض کنید که به شما میگویند پنج عدد کتاب را که هر کدام در یک اتاق قرار گرفته اند جمع آوری کن خب در این حین اگر آن پنج کتاب در یک مکان قرار گرفته باشد سرعت عمل تان در جمع آوری کتاب ها بیشتر خواهد بود.ساده ترین مثالی که از Fragmentation و Defragmentation میتوان زد همین بود.

چرا Fragmentation اتفاق می افتد؟

به زبان فنی، Fragment شدن زمانی اتفاق می افتد که فایل سیستم به ما اجازه گسترش دادن حجم فایل را میدهد پس تا زمانی که فایلی را برای دفعات مکرر باز کرده و از حجمش کم یا زیاد نکرده باشیم عمل Fragment شدن داده ها اتفاق نمی افتد.پس عامل اصلی Fragment شدن داده ها همان فایل سیستم است.اما چرا ؟

اغلب اوقات Fragment شدن به این علت اتفاق می افتد که فایل سیستم فضای زیادی را برای یک فایل در زمان ایجاد شدن آن به آن اختصاص میدهد.از این رو فضای خالی در اطراف آن باقی میماند.دلیل دیگر Fragment شدن داده ها حذف کردن فایل های اخیر از روی هارد دیسک است.وقتی یک فایل حذف میشود در واقع یک فضای خالی در سرتاسر هارد دیسک(نه در همه موارد) برای ذخیره شدن داده های فایل های دیگر از خود باقی میگذارد.

همچنین اگر فضای خالی باقی مانده ناشی از حذف شدن فایل به اندازه ای بزرگ نباشد که فایل جایگزین جایش را پر کند مجبور خواهد بود تا در مکان های دیگر از هارد دیسک داده های خود را ذخیره کند.ما خواه ناخواه به Fragmentation داده ها دچار میشویم میتوان گفت که اگر Fragmentation نبود انعطاف پذیری در امر گسترش ، حذف و سازمان دهی فایل ها هم نبود زیرا فایل سیستم اگر به ما این اجازه را نمیداد که فایل مان را برای مثال حذف کنیم یا به حجمش اضافه کنیم میتوانست تبدیل به یکی از بزرگترین نقاط ضعف فایل سیستم ها شود.اگر چه در مقابل Fragmentation میتوان Defragmentation انجام داد و فایل ها را بهینه تر در هارد دیسک ذخیره نمود.

Defragmentation به چه صورت انجام میگیرد؟

از بحث هایی که تاکنون در بالا کردیم فایل هایی که در دستگاه های ذخیره سازی ذخیره میشوند میتوانند به سرعت مورد دسترسی قرار گیرند.با گذشت زمان ، fragmentation بیشتر و بیشتر رخ میدهد.که این به نوبه خود قابل اندازه گیری و کنترل است حتی اگر به میزان قابل توجهی سرعت دسترسی هارد دیسک را به داده ها کاهش دهد.شاید شما تجربه کند شدن کامپیوتر خود را داشته باشید خب فرض کنید که Fragmentation بیش از حد معمول در هارد دیسک تان اتفاق افتاده است دلیل این کندی این است که هارد دیسک تان مقداری زمان میخواهد تا داده های فایل تان را که در سراسر و یا بخش های مختلفی از هار دیسک تقسیم شده است را جمع آوری کند و در اختیار شما قرار دهد.

از این رو defragmentation یا عمل معکوس Fragmentation ، تکه هایی از داده های فایل را از بخش های مختلف هارد دیسک جمع آوری میکند و در کنار هم قرار میدهد که یک عمل هوشمندانه و گاها به عنوان تعمیر یا fix کردن هارد دیسک هم از Defragmentation یاد میشود.شما با استفاده از ابزار های درون سیستم عامل ویندوز مانند Disk Defragmenter میتوانید وضعیت Fragment تک تک پارتیشن هایتان را مشاهده کنید و در صورت لزوم آنها را defragging کنید.

هر چند که با استفاده از نرم افزار های 3rd Party رایگان نظیر : Defraggler ، Smart Defrag ، Auslogics Disk Defrag و سایر نرم افزار های دیگر اقدام به defragging هارد دیسک خود کنید.پیشنهاد میشود از ابزار های درون سیستم عامل ویندوز مثل Disk Defragmenter برای defragging هارد دیسک استفاده نکنید بهتر است از نرم افزار های اختصاصی این کار که خدمتتان عرض شد بهره ببرید.

زمانی که برای Defrag کردن پارتیشن طول میکشد بیشتر به سایز پارتیشن و سطح fragmentation پارتیشن تان بستگی دارد هر چند که بعد از این فاکتورها به سرعت خواندن و نوشتن هارد دیسک تان نیز بستگی دارد.منظور از سطح fragmentation پارتیشن این است که مثلا یک پارتیشن سطح fragmentation اش 10 درصد است خب در این حین یک پارتیشن دیگر را در نظر بگیرید که سطح fragmentation اش 3 درصد است در این صورت بدیهی است که پارتیشنی که درصد کمی از fragmentation را به خود اختصاص داده سریعتر از پارتیشنی که درصد زیادی از fragmentation را به خود اختصاص داده است defragging میشود.

آیا باید دیسک SSD مان را هم Defrag کنیم؟

خیر،،شما نبایستی بر روی دیسک SSD تان عملیات defragging انجام دهید چون نه تنها این کار یک اتلاف وقت به شمار می آید بلکه از طول عمر دیسک SSD تان هم میکاهد.زیرا دیسک های SSD عملیات نوشتن محدودی را تقبل میکنند.دیسک SSD یا Solid State Drive یک نوع دستگاه ذخیره سازی است که هیچ اجزای مکانیکی یا متحرکی ندارد

.SSD ها در واقع یک ورژن پیشرفته و رشد کرده از دستگاه هایی مثل فلش مموری است.همان گونه که گفتیم SSD ها هیچ اجزای متحرکی درونشان ندارند پس Fragmentation و Defragmentation در این گونه ذخیره ساز ها بی معنی است چون که مثلا فرض کنید فایلی در دیسک SSD به تکه های مختلفی در سراسر دیسک پخش شده است از آنجا که ما فقط یک دیسک داریم و هد متحرکی وجود ندارد که عملیات خواندن را انجام دهد پس داده ها در همان زمان میتوانند به سرعت قابل دسترسی باشند.


امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص شبکه ، تخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس و... ، سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات