صفحه 3
صفحه 2
صفحه 1
مقايسه ويندوز و لينوكس
در اين قسمت نگاهي اجمالي مياندازيم به تفاوتهاي
موجود در سيستم عاملهاي Windows
و UNIX. اين تفاوتها از
چند نظر مورد بررسي قرار ميگيرند، از جمله:
-
قابليت اطمينان
-
مديريت
-
هزينه
-
امنيت
-
سرعت
قابليت امنيت
سيستمهاي مبتني بر UNIX معمولا از قابليت اطمينان بالايي
نسبت به سيستمهاي Windows
برخوردارند. پديدههايي مانند hang و crash
در سيستمهاي Windows
بيشتر اتفاق ميافتد. اغلب كاربران سيستمهاي Windows با آن صفحه آبي معروف به Blue
Screen of Death آشنا هستند.
علاوه بر اين در سيستمهاي
Windows براي ايجاد تغييرات كوچك يا حتي نصب يك نرم افزار سيستم بايد reboot شود. معمولاً براي ارائه سرويسهايي
كه قرار است 24 ساعته در دسترس باشند (مانند وب) از سيستمهاي Windows استفاده نميكنند چون reboot شدن سيستمي كه چنين سرويسي را ارائه
ميكند اصلاً جنبه خوشايندي ندارد، مخصوصاً اگر سرويس ارائه شده تجاري باشد در
دسترس نبودن سرويس ممكن است زيانهاي اقتصادي فراواني به همراه داشته باشد. در
مقابل براي ارائه سرويس چاپ ميتوان از Windows استفاده كرد چون براي مثال يك بار در هفته reboot شدن يك سرور چاپ براي كسي اهميت
چنداني ندارد.
سيستم عاملهاي Windows در اصل يك مشكل بزرگ دارند و آن در
مورد استفاده از registry
ميباشد. سيستم عاملهاي مبتني بر UNIX از دايركتوري /etc براي نگهداري اطلاعات پيكربندي و
تنظيمات خود سيستم عامل و كاربردهاي نصب شده بر روي آن استفاده ميكنند ولي سيستم
عامل Windows از يك پايگاه
داده براي نگهداري اين اطلاعات استفاده ميكند. اين ايده ممكن است از لحاظ منطقي
خيلي بهتر از روش UNIX
و نگهداري فايلهاي پيكربندي بصورت پراكنده در دايركتوريهاي مختلف باشد، ولي عمل
ثابت كرده كه اينگونه نيست. كل registry در يك فايل باينري نگهداري ميشود كه سيستم عامل و تمام كاربردها
قبل از اجرا محتويات آن فايل را تماماً بررسي ميكنند. از اينجا اين نكته روشن ميشود
كه registry يك فايل بزرگ است
كه مدام نيز در حال تغيير است و در نتيجه امكان صدمه ديدن آن نيز بسيار زياد است و
در صورت صدمه ديدن registry
نه سيستم عامل و نه هيچ كاربرد ديگر نميتواند به درستي بر روي سيستم اجرا شود.
سيستمهاي UNIX
فايلهاي پيكربندي و تنظيمات مربوط به سيستم عامل و كاربردها را در فايلهاي متني
جداگانه در دايركتوري /etc نگهداري ميكنند. گذشته از پراكندگي
فايلها كه يك عيب براي اين روش محسوب ميشود مزاياي قابل توجهي از آن حاصل ميشود.
هر نرم افزار براي اجرا شدن فقط فايلهاي مربوط به خودش را ميخواند و در صورت معيوب
بودن يكي از فايلها فقط در نرم افزار مربوطه تاثير ميگذارد نه در كل سيستم،
بعلاوه اينكه تصحيح فايلهاي متني خيلي سادهتر از تصحيح فايل باينري registry ميباشد.
يك شاهد بر اين مدعا راه اندازي سايت MSN ميباشد. موقع راه اندازي اين سايت
مهندسان شركت Microsoft
سعي در استفاده از Windows NT
براي سرورهاي شبكه داشتند ولي پس از دو هفته تلاش موفق به اين كار نشدند و
بالاجبار از سيستمهاي UNIX
استفاده كردند. استفاده از UNIX براي آنها متضمن پرداخت هزينه اضافي بود در صورتيكه براي استفاده
از Windows هيچ هزينهاي
متحمل نميشدند، از طرف ديگر مهندسان شركت كار ديگري مهمتر از يافتن و رفع مشكلات Windows نداشتند؛ يعني اگر مشكل قابل رفع شدن
بود مسلماً آنها اين كار را انجام ميدادند و هزينه اضافي صرف خريد سيستمهاي UNIX نميكردند. تنها نتيجه معقولي كه
حاصل ميشود اين است كه سيستمهاي Windows داراي مشكلات اساسي بودند كه استفاده از آنها را بعنوان سرورهاي
عملياتي غيرممكن ميساخت، مشكلاتي در پايه كه رفع آنها به معناي دور ريختن تمامي
كدهاي نوشته شده بود. مهمترين اين مشكلات استفاده از registry ميباشد كه همچنان به قوت خود
باقيست. هم اكنون نيز بخش عظيمي از سرورهاي شبكه MSN را سيستمهاي UNIX تشكيل ميدهد، هرچند ادعاي خود Microsoft اين است كه فقط قسمت كوچكي از شبكه
از سيستمهاي UNIX
استفاده ميكند و شركت در حال تبديل اين قسمت به سيستمهاي Windows ميباشد.
مديريت
سيستمهاي Windows نياز به مديريت و مراقبت بيشتري نسبت به سيستمهاي UNIX دارند. از آنجا كه سيستمهاي Windows امكانات زيادي جهت مديريت اتوماتيك
ندارند به همين علت لزوم مديريت مستقيم و حضور فيزيكي مدير سيستم بيشتر ميشود كه
همين باعث صرف وقت و هزينه زيادي ميشود. يكي از ابزارهايي كه مديريت يك سيستم را
سادهتر ميكند اجراي اتوماتيك دستورات و برنامهها ميباشد. Windows طوري طراحي نشده است كه امكانات
زيادي براي اجراي اتوماتيك دستورها داشته باشد. در Windows ميتوان اجراي دستورات را زمان بندي
كرد ولي از آنجا كه اكثر كارها در Windows نيازمند مداخله كاربر ميباشد و اغلب با ماوس انجام ميشود
اتوماتيك كردن اين كارها دشوار است. در بسياري از مواقع با نصب برخي ابزارها مانند
perl ميتوان انجام
اين كار را سادهتر كرد ولي مديران سيستمهاي Windows با اين قبيل ابزارها كمتر آشنا
هستند.
در مقابل در سيستمهاي UNIX از دستور at و سرويس cron براي اجراي برنامهها و دستورات در
سر زمانهاي خاص استفاده ميشود كه با استفاده از آنها تقريباً تمام كارهاي لازم را
ميتوان بر روي سيستم انجام داد. يكي از ضعفهاي ديگر سيستمهاي Windows مربوط به سرويس telnet ميباشد. در سيستمهاي Windows با استفاده از telnet فقط ميتوان يك سري اعمال محدود را
انجام داد، يعني فقط همانهايي كه از طريق اعلان DOS امكانپذيرند. در مقابل در سيتمهاي UNIX كاربر هنگام استفاده از سرويس telnet از اكثر امكانات سيستم بصورت متني
(بدون گرافيك) ميتواند استفاده كند. تفاوت Windows و UNIX در اين است كه در UNIX تمام قابليتهاي سيستم از طريق اعلان
دستور قابل دسترسي است و نيازي به استفاده از محيط گرافيكي نميباشد. امروزه با
گسترش سيستمهاي UNIX
(بخصوص Linux)
در بازار تعداد كساني كه به دنبال مديريت اين نوع سيستمها ميروند بيشتر شده و از
اين ميان بيشتر آنها ترجيح ميدهند واسط گرافيكي و كار كردن با كاربردهاي موجود را
ياد بگيرند تا اصول كار و كار كردن با محيط متني و دستورات كه همين امر تاثيرات
سوئي را در آينده به دنبال خواهد داشت.
هزينه
هزينهاي كه بابت خريد سخت افزار و سيستم عامل صرف
ميشود معمولاً قسمت كوچكي از كل هزينههاي يك سرور را شامل ميشود. هزينههاي
ديگر و حتي مهمتري نيز هستند كه اغلب ناديده گرفته ميشوند كه منجر به اتخاذ تصميم
اشتباه هنگام خريد سيستم ميگردد. هزينههايي كه ميتوان براي يك سرور در نظر گرفت
شامل موارد زير ميباشد:
-
هزينه خريد سخت افزار
-
هزينه خريد سيستم عامل و نرم افزارهاي ديگر
-
هزينه پشتيباني فني
-
هزينه ارتقاء سخت افزار
-
هزينه ارتقاء سيستم عامل و نرم افزارها
-
هزينهها و ضررات ناشي از در دسترس نبودن سرويس
-
هزينه بازيابي اطلاعات ناشي از بروز اشكالات در سخت
افزار يا سيستم عامل
-
هزينه پرسنل جهت نگهداري و مديريت سيستم
اگر در خريد سخت افزار و سيستم عامل دقت كافي صورت
نگيرد ساير هزينهها كه هزينههاي پنهان ناميده ميشوند به شدت افزايش خواهند
يافت. براي مثال ممكن است خريد يك سيستم Intel Pentium
به همراه Windows 2000 Advanced Server چيزي كمتر از 000,4 دلار هزينه داشته باشد ولي در عوض
هزينه خريد يك سيستم Sun UltraSparc به همراه Solaris بيش از 000,40 دلار خواهد بود. در صورت خريد يك
سيستم Windows-Intel
صرفه جويي زيادي در هزينه خريد انجام ميشود ولي در مقابل هزينههاي پنهاني كه اين
سيستم به مرور زمان اعمال ميكند جبران صرفه جويي در هزينه اوليه را خواهد كرد.
امنيت
سيستمهاي مبتني بر UNIX از امنيت بالايي نسبت به سيستمهاي Windows برخوردارند. سيستم عامل UNIX چيزي فراتر از 30 سال عمر دارد و در
اين مدت عده زيادي برنامهنويس داوطلب بدون هيچگونه چشمداشتي بر روي آن كار كردهاند.
كوچكترين bug
يا اشكال امنيتي فوراً بر روي اينترنت اعلام ميشود و عده زيادي در جهت حل آن دست
بكار ميشوند، به همين علت تعداد سايتها و گروههاي خبري مربوط به UNIX خيلي بيشتر از تعداد سايتهاي مربوط
به Windows ميباشد. در مقابل
Windows يك سيستم عامل
نسبتاً جديد است كه بيش از 13 سال سابقه ندارد. كد اين سيستم عامل در انحصار شركت Microsoft است و بنابراين تنها مرجع رفع مشكلات
بوجود آمده خود شركت ميباشد. بديهي است كه مدت زمان رفع مشكلات و bug هاي Windows بسيار طولانيتر از همين زمان براي
سيستم عامل UNIX
خواهد بود. همين ميتواند مهمترين دليل براي اين باشد كه سيستمهاي Windows بيشتر در معرض حملات مهاجمين يا
ويروسها قرار ميگيرند.
موسسه امريكايي NSA در سال
1983 استانداردي بنام TCSEC يا Orange
Book تدوين كرده كه در
سال 1990 يك استاندارد اروپايي بنام ITSEC نيز از
روي آن تهيه شده است. اين استانداردها بعنوان يك ابزار براي سنجش ميزان امنيت
سيستمها بكار ميروند. چهار طبقه D تا A
در اين استانداردها وجود دارد كه D نشانگر كمترين امنيت و A نشانگر بيشترين امنيت ميباشد. جدول زير مشخصات دقيقتر اين طبقه
بنديها را نشان ميدهد:
|
Category
|
Description
|
|
D
|
Minimal
Protection
|
|
C
|
Discretionary
Protection
|
|
C1
|
Discretionary
Security Protection
|
|
C2
|
Controlled
Access Protection
|
|
B
|
Mandatory
Protection
|
|
B1
|
Labelled
Security Protection
|
|
B2
|
Structured
Protection
|
|
B3
|
Security
Domains
|
|
A
|
Verified
Protection
|
تمام سيستم عاملهاي Windows كه بر پايه تكنولوژي NT ساخته شده اند در طبقه بندي C2 ميباشند. اين در حالي است كه بسياري
از سيستمهاي UNIX
از جمله Solaris،
HP-UX، Ultrix و IRIX در طبقه بندي B قرار دارند (براي مثال Solaris در طبقه بندي B1 قرار دارد). همين نكته تفاوت اين دو
نوع سيستم عامل را از نظر امنيتي روشن ميكند. اين طبقه بنديها بر اساس حداكثر
امكانات موجود در سيستم عامل صورت ميگيرد ولي ميزان بهره برداري از سيستم بستگي
به مدير سيستم دارد كه بتواند به نحو مقتضي از اين امكانات استفاده نمايد.
سرعت
سرعت يك سيستم هم به مشخصات سخت افزار بستگي دارد و
هم به سيستم عامل. ميزان فضاي حافظه، نوع پردازنده (RISC يا CISC بودن معماري پردازنده)، سرعت كار
پردازنده و ساير قطعات (از جمله برد اصلي، ديسك، كارت شبكه، ...) از جمله
فاكتورهاي سخت افزاري تعيين كننده سرعت ميباشند. نحوه عملكرد سيستم عامل نقش مهمي
در سرعت سيستم دارد. سرعت سيستمهاي UNIX به مراتب بهتر از سيستمهاي Windows ميباشند. Windows مشكلات زيادي در مديريت حافظه دارد
ولي UNIX از حافظه استفاده
بهينه ميكند و فضاي حافظه را هدر نميدهد بطوريكه حتي قسمتهايي از خود سيستم عامل
نيز بصورت module
ميباشند كه فقط در صورت نياز در حافظه قرار ميگيرند. يكي از مشكلات Windows در زمينه سرعت مربوط به استفاده از registry ميباشد. همانطور كه قبلاً توضيح
داده شد اطلاعات پيكربندي و تنظيمات سيستم عامل و كاربردها همگي در registry ذخيره ميشوند. سيستم عامل و
كاربردها قبل از اجرا شدن اين پايگاه داده را بطور كامل خوانده و آن را بررسي ميكنند.
به همين علت نصب چند نرم افزار باعث ميشود سرعت كل سيستم پايين بيايد حتي اگر نرم
افزارهاي نصب شده هرگز مورد استفاده قرار نگيرند. يك سيستم Windows در روزهاي اول نصب شدن با حداكثر
سرعت خود كار ميكند و به مرور زمان با اضافه كردن نرم افزارهاي مختلف از سرعت آن
كاسته ميشود.