پرش به محتوا

بایگانی

دسته بندی: مقالات نرم افزاری
مقایسه

در مقام مقایسه IIS و آپاچی می‌توان گفت که هر کدام دارای مزایا و معایبی نسبت به یکدیگر هستند. IIS فقط برای اجرا در ویندوز ساخته شده ‌است به‌خصوص نسخه ششم آن فقط در ویندوز ۲۰۰۳ قابل‌اجرا می‌باشد. اگر چه بسیاری از کارشناسان، این مسئله را نوعی نقطه‌ضعف در ساختار IIS می‌دانند، برخی دیگر هماهنگی بسیار دقیق میان آن و ویندوز ۲۰۰۳ و سرویس‌های دیگر سیستم‌عامل را که باعث آسان‌تر بودن مدیریت IIS شده است، از نقاط برتری آن به حساب می‌آورند. به‌خصوص در نسخه ششم جدا شدن ماژول مخصوص دریافت درخواست‌ها(Request) از ماژول ویژه پردازش آن‌ها، سهم به‌سزایی در افزایش کارایی آن داشته است. در این روش ماژول Listener که در کرنل مستقر شده است (Http.sys)، درخواست‌های ارسالی از طرف کلاینت‌ها را دریافت‌‌‌کرده و آن‌ها را به ترتیب در داخل یک یا چند صف درخواست قرار می‌دهد. سپس IIS به این درخواست‌ها با اختصاص حداقل یک پروسه کاری (Worker Process) به هر درخواست، پاسخ می‌دهد. این ویژگی باعث می‌شود حتی زمانی که IIS به شدت مشغول پاسخ‌دهی به درخواست‌های قبلی است، ماژول جداگانه‌ای که در کرنل مستقر است، بتوانند درخواست‌های جدید را دریافت کرده و حداقل آن‌ها را در انتظار پاسخ قرار دهند. همچنین با این وضعیت، سیستم‌عامل می‌تواند کنترل بهتری را در اختصاص پروسه‌های لازم به IIS جهت پردازش درخواست‌ها انجام دهد. در آپاچی هم جریان تا حدودی مشابه همین روال است. در این جا تعدادی ماژول با قابلیت انجام چند پردازش در واحد زمان (Multi Processing module) وظیفه دریافت و پاسخ به درخواست‌ها را برعهده دارند. این ماژول‌ها که با استفاده از تکنولوژی APR یا Apache Portable Runtime برروی بسیاری از سیستم‌عامل‌هایی که از کدهای کامپایل شده زبان C پشتیبانی می‌کنند، قابل اجرا هستند، با استفاده از امکانات و قابلیت‌هایMultithreading همان سیستم‌عامل میزبان به سرعت و به صورت همزمان درخواست‌های رسیده از طرف کلاینت‌ها را دریافت و پردازش می‌کنند.

امنیت

نحوه عملکرد وب سرور

یکی از مزایای، IIS ارتباط تنگاتنگ موجود بین آن و سیستم‌عامل است. این عامل سبب می‌شود تا IIS با توجه به این‌که سیستم‌عامل بسیاری از موارد امنیتی را قبل از رسیدن درخواست به وب سرور مورد بررسی قرار می‌دهد و هویت کاربران متصل را ارزیابی (Authentication) می‌کند، با اطمینان بیشتری به کار خود ادامه دهد. ضمن این‌که مدیر سیستم هم به دلیل اشتراک روشی که در تأمین امنیت بین سیستم‌عامل و وب سرور وجود دارد، مجبور به دوباره کاری نمی‌شود. به عنوان مثال اگر شما در اکتیودایرکتوری ویندوز ۲۰۰۳ دسترسی به یک یا چند فایل خاص را برای یک گروه از کاربران مجاز و برای گروهی دیگر غیرمجاز تعریف کرده باشید، این کاربران از هر روشی که بخواهند به آن فایل‌ها دسترسی پیدا کنند (حتی از طریق وب سرور) باید تابع قواعد تنظیم شده در اکتیودایرکتوری باشند و این قوانین در IIS نیز حکمفرما است.
در مورد آپاچی نسخه دوم، مسئله به این سادگی و روانی نیست و قاعدتاً مدیریت امنیت در مورد آن پیچیده‌تر و وقت‌گیرتر از IIS است. البته اکنون ماژول‌ها و آداپتورهای جدیدی در آپاچی تعبیه شده که امکان ارتباط بین آن و اکتیودایرکتوری ویندوز یا Password یونیکس را به‌وجود می‌آورد، اما باز هم می‌توان گفت که اصولاً با وجود این ارتباط هم در آپاچی، سیستم‌عامل و وب سرور هر کدام ساز خود را می‌زنند و آپاچی چندان از قواعد امنیتی تعریف شده در سیستم‌عامل تبعیت نمی‌کند. البته بسیاری از طرفداران آپاچی این مسئله را نوعی نقطه قوت آپاچی دانسته و با ذکر این نکته که اولاً هر درخواست از طرف خارج باید از دو سد محکم سیستم‌عامل و وب سرور عبور کند و ثانیاً حفره‌های امنیتی در سیستم‌عامل‌های یونیکس و آپاچی بسیار کمتر از ویندوز و IIS است، استفاده از آپاچی را از لحاظ امنیتی دارای ریسک کمتری نسبت به IIS می‌دانند.
از لحاظ پروتکل‌های امنیتی، هر دو وب سرور کلیه پروتکل‌ها از جمله SSL ،IPsec و مکانیسم‌های هویت‌سنجی Basic Digest LDAP را پشتیبانی می‌کنند.

کارایی

مقایسه کارایی آپاچی و iis همواره از مشکل‌ترین بحث‌های تکنیکی دنیای وب سرورها بوده است؛ چرا که این نوع مقایسه مستلزم به‌وجود آوردن شرایط یکسان آزمایش به صورت منصفانه‌ برای دو طرف رقابت است که دست یافتن به این شرایط، کاری آسان و صددرصد قابل انجام نمی‌باشد. شاید به تصور خیلی‌ها می‌توان زمان دریافت، پردازش و پاسخ هر دو وب سرور به یک صفحه cgi یا jsp (که مورد پشتیبانی هر است) را برروی یک سرور با مشخصات سخت‌افزاری یکسان به معرض آزمون گذاشت، اما این هم به نمی‌تواند تنهایی پاسخگوی معمای کارایی باشد. چرا که اولاً شاید هر دو وب سرور ادعای بهترین کارایی خود در تکنولوژی مشترکی مثل jsp را نداشته باشند. مثلاً شاید مایکروسافت asp.net را که فعلا در آپاچی پشتیبانی نمی‌شود، بهترین عرصه برای نمودار‌شدن کارایی iis بداند. ثانیاًٌ نباید فراموش کرد که آپاچی، یک وب سرور چند سکویی می‌باشد و این باعث می‌شود تا صورت مسئله کمی پیچیده‌تر شود و کسانی که می‌خواهند به داوری مسابقه کارایی این دو وب سرور بنشینند را با سؤالی جدیدتر روبرو کند و آن هم این است که iis ویندوز را با آپاچی کدام سیستم‌عامل مقایسه کنیم ؟ آیا اصولاً آپاچی ادعایی بر ارایه بهترین کیفیت و کارایی خود برروی سیستم‌عامل مشترک ویندوز را دارد یا این‌که کماکان به سرعت خود برروی سیستم‌عامل‌های یونیکس و لینوکس می‌بالد؟

وب سرورهای مختلف در ده سال اخیر

در IIS 6 وجود مدل‌های متعدد پردازشی که ویژه کار در محیط‌های چند پردازنده‌ای در نظر گرفته شده‌اند، سرعت اجرای برنامه‌های ASP و یا ISAPI را تا حد بسیار مطلوبی بالا برده‌اند. همچنین درایور HTTP.sys در این نسخه قادر است به صورت مستقیم به اطلاعات موجود در cache (چه هارددیسک و چه حافظه اصلی) دسترسی پیدا کند بدون آن‌که نیازمند وجود واسطه‌ای مثل پروسه‌های کاری برای انجام این کار باشد. IIS همچنین قادر است صفحاتی را که توسط عناصر دینامیک وب به صورت RunTime ساخته می‌شوند را در cache ذخیره کند تا در صورتی که کلاینت‌ بعدی هم بخواهد همین صفحه را تولید کند، به جای ساختن دوباره آن، از محل cache اطلاعات را بدون پردازش خاصی به سمت کلاینت مذکور بفرستد.
در آپاچی نیز اوضاع به همین گونه است. ماژول‌های modperl وmodphp با استفاده از همان مکانیسم cache سرعت تولید صفحات دینامیک را همانند صفحات استاتیک به حداکثر خود می‌رسانند. همچنین دقیقاً مشابه فیلترهای ASP و ISAPI در IIS، در این جا هم ماژول‌های Perl و PHP مستقیماً درخواست‌های کلاینت‌ها را مورد بررسی قرار داده و پاسخ لازم را ارسال می‌کنند و بدین وسیله از ارجاع درخواست‌ها به محیط خارج آپاچی و کند شدن روند پاسخ جلوگیری می‌کنند.

مدیریت

در مورد مدیریت وب سرور، اختلافاتی بین دو وب سرور مذکور وجود دارد. آپاچی در نسخه‌های اولیه خود، وب سروری کاملا TextBased به نظر می‌‌رسید که صرفاً با دستکاری مستقیم در فایل‌های پیکربندی، تنظیم وب سرور و یا با استفاده از دستورات خط فرمان مدیریت آن امکان‌پذیر بود. اما اکنون بسیاری از واسط کاربرهای گرافیکی مثل Comanche قادرند یک محیط گرافیکی کاربرپسند و در واقع یک لایه بیرونی برای کار با آپاچی فراهم کنند. در این زمینه لیستی از واسط کاربرهای گرافیکی تهیه شده در سایت آپاچی به نشانی [برای مشاهده لینک ها شما باید عضو سایت باشید برای ثبت نام روی این نوشته کلیک بکنید] موجود و قابل داونلود است. البته بسیاری از کاربران وجود مدیریت و تنظیمات Text Based را برای آپاچی یک مزیت عنوان می‌کنند. به عقیده این افراد، با این نوع پیکربندی آپاچی می‌توان به سادگی و صرفاً با کپی کردن چند فایل از کامپیوتری به کامپیوتر دیگر همه تنظیمات یک سرور آپاچی را به سرور دیگر منتقل و از صرف وقت برای تنظیم دستی آن خلا‌ص شد. این مسئله برای وب سروری مثل IIS که تنظیمات خود را در قالب فایل‌های باینری نگهداری می‌کند، قابل انجام نیست. البته در IIS 6 تنظیمات وب سرور در قالب فایل‌های XML قابل دسترسی است. و بدین‌وسیله و با روش Import و Export می‌توان تنظیمات یک وب‌‌سرور را به دیگری منتقل کرد. همچنین اینکه علاوه بر این کار، IIS 6 امکان مدیریت راه‌دور را از طریق دستورات خط فرمان و اجرای آن با پروتکل Telnet را مشابه آپاچی به کاربران خود داده است. در ضمن هر دو وب سرور، امکان مدیریت از طریق وب را به کاربران داده‌اند. IIS از طریق Web Based Administration و آپاچی با استفاده از ابزاری به نام Webmin این تسهیلات را مهیا کرده‌اند.

قابلیت اطمینان

IIS 6 با جدا کردن حافظه و محل اجرای برنامه‌های وب از یکدیگر، باعث شده است در صورت بروز یک مشکل در هر یک از برنامه‌های در حال اجرا، این مشکل به سایر برنامه‌ها و پردازش‌های در حال اجرا سرایت نکند. در آپاچی نسخه دوم این عمل تا حدودی قابل انجام است. بدین‌معنی که اصولاً آپاچی با مکانیسم‌های تشخیص و ترمیم خطا، از سرایت مشکل به قسمت‌ها و پردازش‌های دیگر جلوگیری می‌کند، اما به طور کلی نمی‌تواند همانند IIS عمل جداسازی برنامه‌ها از یکدیگر را انجام دهد و در برخی موارد، بروز یک مشکل در یکی از پردازش‌ها، مدیر وب را ناچار به راه‌اندازی مجدد (Restart) وب سرور می‌کند.
نکته دوم در این مقایسه هم به نفع IIS تمام می‌شود. بدین صورت که در نسخه ششم آن امکان پیکربندی مجدد سیستم حتی در زمان اجرای پردازش‌ها و بدون‌نیاز به راه‌اندازی مجدد وب‌سرور امکان‌پذیر است. این امکان که به آن Live Configuration گفته می‌شود، سبب می‌شود مدیر سیستم بتواند بدون آن‌که وب سرور و در نتیجه بسیاری از پردازش‌های در حال اجرا و درخواست‌های در حال پاسخگیری را متوقف کند، تنظیمات IIS را تغییر دهد و وب‌ سرور را Refresh کند. در صورتی که در آپاچی نسخه دوم، این عمل بدون بوت کردن مجدد وب سرور میسر نیست.

Apache 2.1 Alpha

در نسخه ۱/۲ آپاچی که نسخه ابتدایی آلفای آن اکنون قابل دریافت و نصب است، وعده‌های بسیاری برای افزایش کارایی یا پوشاندن نقاط ضعف نسخه‌های قبلی داده شده‌است. بسیاری از ماژول‌های مربوط به chaching Authn/Authz مورد بازبینی قرار گرفته و نسبت به نسخه‌های سابقشان از کارایی بهتری برخوردارند. پروتکل http در این نسخه قادر است فایل‌ها یا درخواست‌های با بیش از دو گیگابایت را دریافت و پردازش کند. مکانیسم smart Filtering در آپاچی ۱/۲ از یک شیوه جدید فیلترگذاری پویا برخوردار است که باعث می‌شود تا هر فیلتر براساس نوع درخواست یا پاسخی که قرار است کنترل شود، فعال یا غیرفعال عمل کند. همچنین در این نسخه ماژول جدیدی برای ثبت کردن خطاهایی که در ارتباط با کلاینت‌ها رخ می‌دهد، تعبیه شده است. مدیریت حافظه stack برای پردازش‌های در حال اجرا تغییریافته و اکنون آپاچی قادر است براساس سکویی که برروی آن در حال اجرا است، میزان این حافظه را افزایش دهد. از لحاظ امنیتی به غیر از تغییرات ایجاد شده در ماژول‌های مربوط به هویت‌سنجی که بیشتر باعث افزایش سرعت فرآیندهای مربوط به آن‌ها شده است، ماژول modssl نیز اکنون با پشتیبانی از RFC7182، قادر‌است به جای برقراری ارتباط به روش متنی (chear text)، از روش کدگذاری TLS برای این کار استفاده کند.



و اما قرار بود یک آموزش و مطلب تخصصی در زمینه شبکه در لینوکس بنویسم ولی بعد منصرف شدم و ترجیح دادم مقاله‌ای بدون پیچیدگی در زمینه امنیت شبکه برای این پست در نظر بگیرم تا به این طریق جواب بعضی سوالات اساسی کاربران هم داده بشه.امیدوارم تا انتهای پست با ما باشید (:

چکیده:
همانطور که کاربران سیستم عامل محبوب،‌ قدرتمند و بازمتن لینوکس می دانند،یکی از قویترین سیستم عامل ها برای سرورها و شبکه‌ها و حتی یوزرهای معمولی توزیع های مختلف سیستم عامل لینوکس است.در این پست قصد دارم تا لینوکس رو از نظر امنیت بالای اون به زبان ساده بررسی کنم تا ببینیم چرا گفته میشه که لینوکس از امنیت بالایی برخورداره؟

میریم سراغ اصل مطلب:
ممکنه برای بعضی کاربران این سوال پیش اومده باشه که خوب لینوکس چه تفاوتی باویندوز داره؟چرا گفته میشه که امنیت لینوکس از ویندوز بالاتره؟ و سوالاتی از این قبیل.پس با هم یک مرور اجمالی بر این موضوع داریم:

از نظر فنی، لینوکس نمونه بازمتن و آزاد سیستم عامل های خانواده یونیکس‌ محسوب میشه.چون بر اساس استاندارد POSIX پیاده سازی شده و کاملا با اون سازگار‌ه. بنابراین لینوکس،‌نواده سیستم عامل پرسابقه و مستحکم یونیکس‌ه که ویژگی‌های خوب اون رو به ارث برده.

اینجا را بخوانید

حالا تفاوت های اصلی لینوکس و ویندوز رو فقط از نقطه نظر امنیت و کارایی در زمینه شبکه بررسی میکنیم و بررسی از ابعاد دیگه رو می‌سپاریم به فرصتی دیگر:

۱-سرعت،‌قدرت،‌پایداری :

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

حالا بحث سرورها به کنار; در ویندوز، شما اگر خیلی شانس داشته باشید،حتماً هفته ای ۳-۲ مشکل را که منجر به راه اندازی مجدد سیستم میشود خواهید داشت و برعکس ویندوز مجبور نیستید تا آن را هر چندماه یکبار مجددا نصب کنید.حتی بعضاً گفته میشه که بعضی توزیع‌های لینوکس به “نصب،‌یکبار برای تمامی عمر” مشهورند.

۲- امنیت، امنیت، امنیت:

امروزه در دنیایی زندگی میکنیم که به نوعی متکی به فناوری اطلاعات‌ه و امکان به خطر افتادن لحظه به لحظه جریان اطلاعات منجر به بروز خسارت‌های سنگین که گاهی جبران ناپذیر هستند میشه.پس وقتی بحث امنیت شبکه به میان میاد لزوم توجه به این مسئله توسط هر سازمان،ارگان و حتی شرکت‌های کوچک و نوپا احساس میشه تا به دنبال یک سکوی امن‌تر برای برنامه‌ها و سرویس‌های خودشان باشند.لینوکس حرف های زیادی در زمینه امنیت برای گفتن داره (:
بسیاری از قابلیت های امنیتی یا در ویندوز وجود ندارند و یا فقط با اضافه کردن نرم افزارهای اضافی قابل دسترسی‌اند ولی در لینوکس این قابلیت‌ها بصورت درونی طراحی و پیاده سازی شده.

۳-نیازهای سخت افزاری / هزینه :

برای بکارگیری سیستم های ویندوزی به عنوان سرویس دهنده و حتی استفاده شخصی از نسخه‌های دسکتاپ ویندوز به حافظه و پردازنده های قویتری نیاز دارید و این یعنی هزینه هزینه هزینه! آیا برای شما صرف دارد که هر چند سال مبلغ زیادی را برای ارتقاء سیستم‌ها یا سرورهای خود برای بروز رسانی به نسخه جدید ویندوز سرور پرداخت کنید و در عوض امنیتی بسیار پایین رو تحویل بگیرید؟اگر جواب بله هست پس شما هرگز مدیر موفقی در این زمینه نخواهید شد!

۴-عدم نیاز به راه اندازی مجدد بعد از ارتقاء به نسخه جدید لینوکس / آپ تایم بالا

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

۵-ساختاری متفاوت :

لینوکس از ابتدا برای محیط های شبکه ای و چند کاربره طراحی شده و همین باعث رعایت مسائل امنیتی از ابتدای ایجاد اون شده.درحالی که ویندوز اینطور نیست و درحال حاضر از نظر امنیتی دارای نقاط ضعف فراوانی‌ه. مثلا یک برنامه مخرب وارد سیستم ویندوزی میشه و با استفاده از همین ضعف‌های امنیتی می تونه کل سیستم عامل را نابود کنه ولی در صورتی که مورد مشابهی در لینوکس وجود داشته باشه حداکثر به دایرکتوری خانگی (home) کاربر آسیب میرسه نه اینکه باعث فروپاشی کل سیستم عامل بشه!

۶-حفره‌های امنیتی:

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

۷-باز متن بودن در مقابل متن بسته /‌ دست به کار شدن برای رفع نواقص در مقابل نشستن و انتظار کشیدن برای رفع نقص از طرف مایکروسافت:

اگر گفته میشه لینوکس از امنیت بالایی برخورداره اینطور نیست که لینوکس فاقد هر گونه اشکال امنیتی‌ه،‌خیر. ولی باز بودن کد منبع اون باعث می شه تا بسیاری از اشکالات امنیتی پیش از ایجاد خسارت و در مراحل توسعه و برنامه نویسی بر ملا شده و رفع بشه.در صورتی که اشکالی نیز در برنامه های منتشر شده یافت بشه به دلیل موجود بودن کد منبع سریعا برطرف میشه.در صورتی که در سیستم عامل ویندوز شما باید منتظر مایکروسافت بمانید و انتظار بکشید که فکری به حال این مشکل بکنه!

۸-عدم کارایی ابزارهای مخرب در لینوکس:

می توان ادعا کرد که تقریبا هیچ ویروسی برای لینوکس وجود نداره و ویروس برای کاربران لینوکس واژه قریبی‌ه. ها ها (: این درحالی‌ه که سالیانه بیش ۱۰۰۰ ویروس و کرم مختلف برای سیستم عامل ویندوز ایجاد می شه.هیچیک از ویروس هایی که برای ویندوز نوشته شده اند بر روی لینوکس کار نمی کنند.

۹-تاثیر مقوله عدم محدودیت در استفاده از نرم‌افزارها در امنیت لینوکس :

وجود حفره های امنیتی متعدد ویندوز و سیاست انحصارگرایی مایکروسافت همیشه گریبان گیر این شرکت انحصار طلب بوده.همیشه سیاست‌های مایکروسافت و رفتارش به طرزی‌ه که مشتریان خودش رو تنها به محصولات خودش عادت بده.دقیقا مثل فروشنده مواد مخدری که مشتریانش رو به جنس‌های خودش عادت بده و از این طریق پول در بیاره و تجارت کنه.سیاست کثیفیه.مگه نه؟مثال میزنم:

بسیاری از کاربران ویندوز از اینترنت اکسپلورر برای مرور وب استفاده میکنند.شاید هم از آتلوک یا ام‌اس آتلوک برای مدیریت ایمیل‌هاشون.ها ها.پس کار چقدر آسون شد.حالا من به عنوان یک ویروس نویس می دونم که اگر ویروسی را برای کاربران ویندوز بنویسم بر روی کامپیوترهای ۹۰ درصد آنها اثر خواهد کرد.چون اکثرا از اینترنت اکسپلورر و آتلوک استفاده می کنند. ولی در لینوکس چطور؟در لینوکس طیف وسیعی از انتخاب‌ها و عدم اجبار وجود داره.علاوه بر مشترک نبودن پلتفرم‌ها به دلیل متنوع بودن توزیع‌ها من از مرورگر موزیلا استفاده میکنم. دوستم که Konqueror استفاده میکنه و یکی گوگل کروم رو ترجیح می دهه و مرورگرهای متعدد دیگه‌ای که وجود داره.برای مدیریت ایمیل‌ها هم من از Kmail استفاده می کنم.یکی از Evolution یا Mutt و Pine و Mozila و موارد دیگه.من فقط می توانم برای یکی از اینها ویروس بنویسم چون روی بقیه کار نمیکنه.

شاید گفته بشه خوب من هم در ویندوز میتونم فلان مرورگر رو داشته باشم.ولی همون آمار استفاده از مرورگر زوری ویندوز یعنی اینترنت اکسپلورر خصوصا نسخه ۶ اون در دنیا جواب این سوال رو میده.مرورگر وبی که علاوه بر مشکلات زیادی که از لحاظ امنیتی برای کاربر پیش میاره,بخاطر استاندارد نبودنش مشکلات بسیار بزرگی رو برای توسعه دهندگان و طراحان وب به وجود میاره که به شدت اعصاب خرد کن هست! مرورگری که به زور به کاربران خورونده میشه!

۱۰-تعدد در سکوهای اجرایی :

لینوکس برخلاف ویندوز روی تعداد زیادی از پلتفرم‌های مختلف سخت افزاری اجرا می شود و شما می‌توانید اون رو برای کار بر روی پلتفرم مورد نظر خودتان تغییر دهید. هسته ۲.۶ لینوکس این امکان را فراهم میکنه تا لینوکس رو روی دستگاه های بسیار کوچک و یا ابر رایانه های بسیار بزرگ اجرا کنید.اصلاً ویندوز مال این حرف‌ها هست؟

۱۱- گسترده ترین تنوع در کاربرد :

میشه از لینوکس در جاهای مختلف و برای اهداف مختلف استفاده کرد.از دستگاه چک کردن اتصالات شبکه گرفته تا دیواره آتش(Firewall)،مسیریاب‌های (Router) شبکه،سرورهای مختلف مانند وب،بانک‌های اطلاعاتی،فایل پرینت و کامپیوترهای رومیزی،‌ایستگاه های کاری(Workstations) و غیره.سیستم عامل لینوکس حتی این امکان را داره که از اون به صورت یک سیستم زنده و پرتابل بشه استفاده کرد.

۱۲- تنوع در انتخاب در مقابل انتخاب زوری :

توزیع های مختلف لینوکس همگی در یک چیز مشترکند و اون اینکه همگی لینوکس هستند ولی هرکدام معمولا برای یک یا چند امر خاص مثل سرویس دهنده، دیوار آتش، میزکار و. . . طراحی شدن و هرکدام قابلیت ها و بهینه سازی ها خاص خودشون رو به کاربران ارائه می کنند. کاربران در این میان آزادی انتخاب زیادی داشته و می توانند چیزی که کاملا نیازشان را برطرف می کند انتخاب کنند.چیزی که در ویندوز نمی توان مفهومی برایش پیدا کرد.

۱۳- سیستم عاملی حرفه ای/خط فرمانی قدرتمند :

باید گفت که لینوکس یک سیستم عامل حرفه ای است.یعنی ممکنه یک کاربر غیر فنی برای مدیریت اون و انجام برخی از تنظیمات سخت افزاری دچار مشکل بشه و نتونه به راحتی این کار را انجام بده. البته برخی توزیع های لینوکس کار رو برای کاربر بسیار راحت،‌حتی راحت تر از ویندوز کردند ولی با این حال به طور کلی لینوکس یک سیستم عامل حرفه ای است که در عین سادگی از پیچیدگی های فنی زیادی برخورداره که نیاز نیست یک کاربر معمولی همه اینها را بدونه.هر کسی بنا به نیاز خودش از اون بهره میگیره.برخلاف ویندوز نکات بسیار زیادی برای یادگیری در لینوکس وجود دارد.شما در لینوکس دائم در حال یادگیری یک مطلب جدید هستید.

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

۱۴- یک جعبه ابزار کامل :

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

و در آخر:

لینوکس یکی از زیباترین دستاوردهای همکاری جمعی بشری در سراسر دنیاست (: لینوکس در سایه همکاری و تبادلات علمی افزاد زیادی در سرتاسر جهان ایجاد شده و توسعه پیدا کرده و میکنه.در جامعه لینوکس یک فرهنگ بزرگ حاکم‌ه: “فرهنگ کمک به اشتراک اطلاعات و تلاش برای بهبود هرچه بیشتر محصولات و انجام هرکاری که از دستت برمی آید”

و اما یک توصیه به تمام کسانی که میخواهند وارد این دنیای زیبا شوند:

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

لینوکس نوید دهنده آزادی است.ممنون که تا آخر مطلب با ما بودید
www.roozbehonline.com

نمی‌دونم چرا هی بند کردم به این کرنل! شاید چون فک می کنم خیلی راحته و خیلیا از رفتن به سمت و سوش ترس دارن!

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 ) به صورت رسمی منتشر شده! اما همچنان فک نکنم بشه رو کرنل ۲.۶.۳۳ نصبش کرد و باید منتظر پچ اصلاحیش باشیم:)

ilinux.wordpress.com