ورود

View Full Version : مقاله: چرا در لینوکس نیازی به Defragment وجود ندارد؟



محسن شامحمدی
چهارشنبه 06 آذر 1392, 00:02 صبح
سلام دوستان
این مطلب رو من خیلی وقت پیش شنیده بودم ولی نمی دونستم که صحت داره یا نه.و اینکه اگه صحت داره.چرا؟
تا اینکه این سایت رو دیدم (http://www.whylinuxisbetter.net/)
و در مورد بحث دفرگمنت هم توضیح داده بود که دوست داشتم ترجمه شو برای عزیزانی که با خوندن متن اصلی مشکل دارن بنویسم تا انشالله بتونن استفاده کنند.

http://www.whylinuxisbetter.net/items/defragment/Images/defragment.png
------
فرض کنید که هارد دیسک شما یک قفسه بزرگ برای ذخیره فایل هاست.که شامل میلیون ها کشوئه. و هر کشو فقط مقدار خاصی از اطلاعات رو می تونی ذخیره کنه.بنابراین فایل هایی که حجمشون بزرگ تر از اندازه ی یک کشو باشه باید شکسته بشن.
بعضی فایل ها اونقدر بزرگن که نیاز به هزاران کشو داره.و البته دسترسی به این فایل ها وقتی توی کشوهای پشت سرهم ذخیره شده باشه آسون و راحته.
حالا فرض کنید که شما صاحب این قفسه هستید ولی فرصت مراقبت از اونو ندارید.و می خواید یکی رو برای این کار استخدام کنید.دو نفر برای استخدام میان پیش شما.یه آقا و یه خانم.
روش آقاهه به این شکله:
هر موقع فایلی حذف می شه کشو رو خالی می کنه.فایل های جدید رو به بخش های کوچک (به اندازه ی کشو)می شکنه و بصورت تصادفی هر تیکه رو توی اولین کشوی خالی پیدا شده قرار می ده.حالا موقع برگوندن فایل باید کلی نیروی جدید استخدام کنید تا فایل ها رو از کشوهای مختلف پیدا کنن و سرهم وصلش کنن(مترجم: جابجایی های متوالی هد)
خانمه روش متفاوتی داره:
آمار همه کشو خالی ها رو داره(روی برگه یادداشت می کنه).وقتی فایل جدیدی قراره نوشته بشه می گرده دنبال به یک سری کشوی خالی پشت سرهم به اندازه فایله.و فایل رو اونجا می نویسه.توی این روش قفسه فایل های ما همیشه مرتبه و به همین خاطره که خوندنش ش هم سریعه.

بدون شک شما باید خانومه رو استخدام کنید.(البته مشخصه که خانم ها با سلیقه ترن:)) )
بله.ویندوز از روش آقاهه استفاده می کنه.و لینوکس از روش خانومه
هر چی بیشتر با ویندوز فایل بریزید.خوندن فایل جدیدها کندتر می شه.
هر چی با لینوکس فایل بریزید.سرعت خوندن فایل جدیدا مثه اولین فایل زیاده.
انتخاب با شماست.
مبع (http://www.whylinuxisbetter.net/items/defragment/index.php?lang=)
--------
امیدوارم لذت برده باشید.
شب بخیر

شهرام فرخنده
چهارشنبه 06 آذر 1392, 14:20 عصر
مرسی عالی بود تشکر

بهزاد علی محمدزاده
چهارشنبه 06 آذر 1392, 14:35 عصر
سلام . همچین چیزی نیست ... یه مدت هم مطالبی منتشر میشد که مقایسه C#‎ و ++C بود . میگفتن کدهای سی شارپ در نهایت به همون سی پلاس پلاس تبدیل میشه !!! پس بهتره با همون سی پلاس برنامه بنویسید ... این مطالب مال یه دهه گذشته بود ...

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

یه بار سر یه کلاس مدرسی دو تا الگوریتم و بهمون نشون داد و طرز کارشون و توضیح داد . بعد سوال کرد حالا کدام یک از این دو روش خوبه ؟ یه عده گفتیم روش شماره 1 و یه عده هم گفتیم 2 خوبه . اون هم در پاسخ گفت در علوم کامپیوتر اینقدر قطعی نگید که چه چیزی خوبه و چه چیزی بد . بلکه بگید هر کدام مزایایی داره و معایبی .

یه الگوریتم سرعتش بالاست اما حافظه بیشتری مصرف می کنه و یه الگوریتم حافظه خیلی کمی مصرف می کنه اما سرعتش پایین تره ...

محسن شامحمدی
چهارشنبه 06 آذر 1392, 17:24 عصر
سلام . همچین چیزی نیست
می شه بیشتر راهنمایی کنید؟
اگه اینطور نیست بیشتر توضیح بدید لطفا


یه مدت هم مطالبی منتشر میشد که مقایسه C#‎‎ و ++C بود . میگفتن کدهای سی شارپ در نهایت به همون سی پلاس پلاس تبدیل میشه !!! پس بهتره با همون سی پلاس برنامه بنویسید
:متعجب:

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


اون هم در پاسخ گفت در علوم کامپیوتر اینقدر قطعی نگید که چه چیزی خوبه و چه چیزی بد . بلکه بگید هر کدام مزایایی داره و معایبی .


انتخاب با شماست

بهزاد علی محمدزاده
چهارشنبه 06 آذر 1392, 20:35 عصر
.توی این روش قفسه فایل های ما همیشه مرتبه و به همین خاطره که خوندنش ش هم سریعه.

ذخیره و بازیابی در ویندوز سریع تره . در لینوکس کند تر ولی مشکل پراکندگی رو تا یه حدی نداره . حجم که بالا بره هر دو باید Defragment بشن . و بعد از این کار ویندوز سریع تره . اما نه این ویندوز الان نسخه 95 هست و نه اون لینوکس در نسخه های قدیمی . بلکه هر دو پیشرفته هستند و این مسائل اصلا مطرح نیست . یعنی با این حرف کسی سراغ لینوکس نمیره !!! کار کردن با هر دوی اینها بستگی به نیاز شما داره . این دسته از مقالات دورانش تمام شده . با تشکر از اینکه بالاخره این مطلب رو گذاشتی و کمی با هم گفتگو کردیم .

Megabyte
جمعه 15 فروردین 1393, 10:31 صبح
ذخیره و بازیابی در ویندوز سریع تره . در لینوکس کند تر ولی مشکل پراکندگی رو تا یه حدی نداره . حجم که بالا بره هر دو باید Defragment بشن . و بعد از این کار ویندوز سریع تره . اما نه این ویندوز الان نسخه 95 هست و نه اون لینوکس در نسخه های قدیمی . بلکه هر دو پیشرفته هستند و این مسائل اصلا مطرح نیست . یعنی با این حرف کسی سراغ لینوکس نمیره !!! کار کردن با هر دوی اینها بستگی به نیاز شما داره . این دسته از مقالات دورانش تمام شده . با تشکر از اینکه بالاخره این مطلب رو گذاشتی و کمی با هم گفتگو کردیم .

ببینید،خود لینوکس هم اگه با یه فایل سیستم ویندوزی سروکار داشته باشه،همون طور کند میشه.در بعضی از فایل سیستم های لینوکس مثل ext3,ext4 و... یه قسمتی هست به اسم ژورنال که همون یادداشته است.اگه تو لینوکس یه پارتیشن بزرگ (مثلا 40 GB ) رو چک دیسک کنید میفهمید که سرعتش مثل اینه که یه فایل سیستم 4GB ویندوزو چک دیسک کنید.در کل باید شما سراغ بررسی فایل سیستم ها برید نه سیستم عامل.NTFS یا FAT تو هر سیستم عاملی نیاز به defragment داره.درضمن لینوکس با هر فایل سیستمی از ویندوز سریع تره.

محسن شامحمدی
سه شنبه 21 مرداد 1393, 23:23 عصر
ببینید،خود لینوکس هم اگه با یه فایل سیستم ویندوزی سروکار داشته باشه،همون طور کند میشه.در بعضی از فایل سیستم های لینوکس مثل ext3,ext4 و... یه قسمتی هست به اسم ژورنال که همون یادداشته است.اگه تو لینوکس یه پارتیشن بزرگ (مثلا 40 GB ) رو چک دیسک کنید میفهمید که سرعتش مثل اینه که یه فایل سیستم 4GB ویندوزو چک دیسک کنید.در کل باید شما سراغ بررسی فایل سیستم ها برید نه سیستم عامل.NTFS یا FAT تو هر سیستم عاملی نیاز به defragment داره.درضمن لینوکس با هر فایل سیستمی از ویندوز سریع تره.
خیلی قضیه جالب شد
پس نکته توی نحوه ی ذخیره سازی اطلاعاته!
مگر سرعت دفرگمنت بستگی به سرعت Read/Write هارد نداره؟
فایل سیستم ها مگر تا چه حد می تونن متفاوت باشن تا چنین تفاوت فاحشی رو ایجاد کنن؟