نمیدونم چرا هی بند کردم به این کرنل! شاید چون فک می کنم خیلی راحته و خیلیا از رفتن به سمت و سوش ترس دارن!
uname -a میگیرم تا مشخصات کرنل رو بهتون نشون بدم.
Linux linux-19gz 2.6.33-ck1 #1 SMP PREEMPT Mon Mar 1 16:21:28 IRST 2010 x86_64 x86_64 x86_64 GNU/Linux
این یه خط چند تا نکته داره بهمون میگه. یکی اینکه پردازشگر ۶۴ بیتی هست و همینطور کرنل. دیگه اینکه شماره کرنل ۲.۶.۳۳ هست. اون ck1 پسوندی هست که نشون میده با یه کرنل کامپایل شده از رو سورس سر و کار نداریم. بلکه ۱۳ تا وصله برای بالا بردن راندمان کرنل بهش اعمال کردیم. دیگه اینکه در تنظیمات کرنل، SMP و PREEMPT فعال هستند.
حالا ببینیم با این کرنل دستی کامپایل شده، لینوکس چه جایگاهی بین سیستم عاملای دیگه داره.
شرایط سختافزاری در هر سه سیستم عامل برابر و یکسان بوده و هر سه سیستم عاملها ۶۴ بیتی هستند. فرکانس کاری پردازشگر هم سه گیگاهرتز بوده (توجهی به فرکانسی که برای آیمک ثبت شده نکنید!) . و اما بر اساس امتیازی که گیگ بنچ داده، اسنو لئوپارد اپل قوی ترین سیستم عامل و ویندوز سون ۶۴ بیتی با اختلاف کمی از لینوکس رتبه سوم رو به خودش اختصاص داده. لینوکس با کرنل سفارشی و دست ساز هم تونسته رتبه دوم رو به خودش اختصاص بده. اما باید ریز بشیم و ببینیم لینوکس کجاها داره نسبت به مک و یا احتمالا نسبت به ویندوز میلنگه.
برنامه گیگ بنج ۴ دسته امتیاز کلی رو برای همه سیستم عاملها در نظر می گیره. هر دسته شامل تعدادی تست می شه.
این ۴ دسته عبارتند از integer، Floating point، memory، stream . جالب اینجاست که هر کدام از سیستم عاملها در یک دسته اول شدهاند. به جز اسنو اپل که در دو دسته مقام اول رو کسب کرده است.
برنده قسمت integer سون، برنده floating point و stream اسنو و دسته memory نیز لینوکس اول شده است.
یکی از قسمتایی که لینوکس عقب افتاده مربوط به تستای فشرده سازی نوشتهها و عکس (همینطور عمل عکسش) هست. حالا این ینی چی؟ببینید شما با چی نوشته ها رو فشرده می کنید؟جواب bzip2 است. من نگاه کردم دیدم آخرین نسخه این برنامه رو سوزه داره و بنابراین مشکل نسخه قدیمی برنامه نیست. پس مشکل کار کجاست؟
من تنها جایی که مشکل رو می بینم زمان خواندن و نوشتن اطلاعات بر روی پارتیشن هست! دوستان ببینید پارتیشنهای من از نوع LVM هست و نوع آن هم ext4 هست. نمی دونم! اما یه جورایی احساس می کنم عملکرد پایین خیلی از نتایج در لینوکس همین موضوع میتونه باشه:)
شاید به همین دلیل است که لینوکس در دسته حافظه اول شده. چون دراین بخش، فایل سیستم معنایی ندارد پس بهترین راندمان را لینوکس در همین نقطه از خود نشان میدهد. اما در بقیه قسمتها که به نوعی درگیر با هارد دیسک و فایل سیستم هستیم، عملکرد نسبت به اسنو اپل پایین تر است.
نکته مهم اینکه از ۲۱ تست، لینوکس فقط در ۴ تست Blowfish، mandlebrot، Read sequential و stdlib copy اول شده و اختلاف پیروزی در stdlib copy با ویندوز و مک به حدی بالاست که میشه گفت لینوکس داره تو خیلی از قسمتا ( رو سخت افزار من) ضعیف عمل می کنه وفقط به دلیل خوب کار کردن در یک بخش، ضعف در بقیه قسمتا رو به نوعی جبران می کنه:)
به نتایج که نگاه میکنیم، میبینیم، ویندوز تو خیلی از تستا اول هست ( ده تست از ۲۱) ! فقط چون تو چند تا تست مث blur image یا sharpen image سوتی های بدی داده، نتیجه رو حتی به لینوکس هم واگذار کرده:)
باز میگم، احتمال بالا خیلی از نتایج مربوط به این آزمایش، به خصوص آنهایی که با واحد گیگابایت در ثانیه اندازه گیری شدهاند، با عوض شدن فایل سیستم میتونه بهبود پیدا کنه.
و اما سه نکته برای کامپایل کرنل ۲.۶.۳۳ .
اول اینکه شما میتونید ۱۳ پچ اقای کولیواس را یک جا به کرنل پچ کنید. یکی از این پچها BFS است. یکی دیگه از پچهای خیلی مهم مربوط به Timer frequency از زیر مجموعه Processor type and features هست. که بعد از پچ کردن کرنل، میشه مقدارش رو از هزار هرتز هم بالاتر برد. مقدار نهایی ده هزار هست!! این فرکانس از نقاط اختلاف بر انگیز بین علما هست. یک سری میگن این عدد هر چی بالاتر باشه بهتره. یه سری میگن اگه این عدد بالا باشه، برق بیشتری مصرف می شه. پس تو لبتابا باید این عدد رو کمتر از هزار هرتز انتخاب کرد. یه سری هم میگن خیلی بزرگ انتخاب کردن این عدد میتونه منجر به ناپایداری سیستم شه:)) یکی از وصلهها باعث میشه پسوند ck به انتهای شماره کرنل اضافه شه :-D . یکی هم باعث بهبود در عملکرد preempt لینوکس خواهد شد.
برای اعمال پچ هم کافیه، پچ و سورس کرنل در یک دایرکتوری قرار داشته باشن(بعد از خارج شدن از حالت فشرده) . با اعمال دستور زیر هر ۱۳ تا پچ به کرنل وصله خواهند شد.
patch < patch-2.6.33-ck1 -p1
بعد هم به صورت عادی میشه کرنل رو کانفیگ و کامپایل کرد(اضافه کردن زمانبندی فرکانس یادتون نره) .
اما نکته مهمتر در مورد کرنل ۲.۶.۳۳ اینکه شما همه کارا رو درست انجام دادید. کار تموم شده. نوبت میرسه به نصب درایور کارت گرافیکی انویدیا.
جالبه بدونید درایور رسمی انویدیا موقع نصب به شما پیغام خطا خواهد داد. برای حل این مشکل شما باید از یک پچ استفاده کنید. این پچ رو اینبار به درایور انویدیا وصله پینه میکنیم:)) و ربطی به کرنل نداره:دی
برای اینکار بسته به درایور انویدیایی که دارید یکی از دو پچ زیر را دانلود کنید.
nvidia-190.53-2.6.33.patch.txt
nvidia-195-2.6.33.patch.txt
بعد از اینکه مطمئن شدید که پچ و درایور رسمی انویدیا در یک دایرکتوری قرار دارند، با یکی از دو دستور زیر (بسته به نسخه درایور) پچ رو اعمال کنید. توجه کنید درایور رسمی انویدیا باید مجوز اجرا شدن را نیز داشته باشد(chmod 777 NVidia.run)
./NVIDIA-Linux-x86-190.53-pkg1.run –apply-patch nvidia-190.53-2.6.33.patch.txt
./NVIDIA-Linux-x86-195.30-pkg1.run –apply-patch nvidia-195-2.6.33.patch.txt
با اعمال دستور بالا درایور پچ شده انویدیا به صورت زیر در دایرکتوری جاری ساخته خواهند شد.
./NVIDIA-Linux-x86-190.53-pkg1-custom.run
./NVIDIA-Linux-x86-195.30-pkg1-custom.run
که از این به بعد میشه با این درایور به صورت معمول کار کرد(sudo ./NVIDIA-Linux-x86_64-195.30-pkg2-custom.run).
و اما نکته آخر اینکه آخرین نسخه از درایور رسمی انویدیا ( NVIDIA-Linux-x86_64-195.36.08-pkg2.run ) به صورت رسمی منتشر شده! اما همچنان فک نکنم بشه رو کرنل ۲.۶.۳۳ نصبش کرد و باید منتظر پچ اصلاحیش باشیم:)