مقایسه سیستم عامل های UNIX و Windows
مقدمه
در روزهای اولیه صنعت کامپیوتر (دهه هفتاد )، بیشتر کامپیوترهایی که تولید می شد mainframe بودند و افراد خاصی از آنها استفاده می کردند .
هر سازنده برای سخت افزار خود یک سیستم عامل مجزا می نوشت که فقط بر روی آن سخت افزا ر خاص اجرا می شد؛ یعنی سخت افزار و سیستم عامل مربوط به آن با هم بعنوان یک محصول فروخته می شدند . در آن زمان آزمایشگاه Bell که قسمتی از شرکت AT&T بود (امروزه بصورت مستقل و تحت نام Lucent Technologies فعالیت می کند ) به علت مشکلات کارمندان شرکت در کار کردن با سیتمهای mainframe شروع به نوشتن سیستم عامل UNIX و زبان برنامه نویسی C برای استفاده داخلی کارمندان خود نمود.
در آن زمان AT&T اجازه فروش سخت افزار و نرم افزار بنام خود را نداشت، لذا پس از مدتی کد سیستم عامل UNIX را برای مصارف آکادمیک به دانشگاهها عرضه کرد. از آنجایی که سیستم عامل طوری طراحی شده بود که به سادگی قابل انتقال بر روی سخت افزارهای مختلف بود، مورد توجه دانشگاهها قرار گرفت. آنها با استفاده از می توانستند یک سیستم عامل واحد بر روی سخت افزارهای مختلف خود داشته باشند Ken Thompson یکی از پدید آورندگان ، UNIX آن را به ، دانشگاههای California و Berkeley برد و در آنجا تغییرات عمده ای توسط دانشجویان در کد UNIX اعمال شد که منجر به پدید آمدن UNIX 1 گردید.
پس از مدتی که شرکت اجازه ورود به تجارت کامپیوتر را پیدا کرد استفاده رایگان UNIX ممنوع شد و همین امر باعث شد عده ای به فکر ایجاد یک نسخه رایگان UNIX بیفتند. پروژه های FreeBSD ، NetBSD ، و بعدها Linux از این جمله می باشند. از طرفی شرکتهای بزرگی مانند Sun ، IBM ، DEC ، SCO و HP به تولید سیستم عاملهای مخصوص خود Berkeley Standard Distribution form of UNIX 1 بر پایه BSD پرداختند. شرکت AT&T نیز سرگرم تولید نسخه خاص خود به نام System V بود. ورود سیستم عاملهای جدید بر پایه UNIX باعث کنار زدن سایر سیستم عاملهای انحصاری شد. تنها سیستم عاملهایی که توانستند بازار خود را حفظ کنند MVS محصول شرکت IBM و OpenVMS محصول شرکت DEC بودند MVS) به علت تعداد بالای نسخه های نصب شده و OpenVMS به علت امنیت و قابلیت اطمینان بالا).
با تولید ریزکامپیوترها و کامپیوترهای شخصی سازندگان سخت افزار دوباره شروع به ارائه سیستم عاملهای انحصاری خود نمودند؛ حتی با ارتقاء سخت افزار سیستم عاملها نیز تغییر می کردند. شرکتهای Commodore و Apple سیستم عاملهای نسبتًا گرافیکی برای کامپیوترهای PET 64 ، C و Apple ارائه کردند. شرکت Digital Research نیز سیستم عامل CP/M را ارائه کرد که روی عده ای از سخت افزارها قابل اجرا بود. پس از مدتی و با همه گیر شدن کامپیوترهای شخصی شرکتهای Commodore ، Atari و Apple سیستم عاملهای گرافیکی خود را با نامهای Amiga ، GEM و Macintosh به بازار عرضه کردند. بعدها شرکت Microsoft یک کپی از M / CP بنام MS-DOS و یک کپی از Macintosh بنام Windows را وارد بازار کرد. نقطه قوت این سیستم عاملها واسط کاربر گرافیکی آنها بود که استفاده کردن از آنها را خیلی ساده تر می کرد و همین نکته باعث شد در بین عموم طرفداران زیادی پیدا کنند.
در میان این سیستم عاملها Amiga و GEM دارای پایه های بسیار قوی بودند درحالیکه Macintosh و Windows . چنین وضعیتی نداشتند به علت مدیریت نامناسب و تصمیم گیریهای بد شرکت Commodore و GEM نیز به علت مشکلات مالی شرکت Atari از دور رقابت کنار رفتند.
Microsoft ، با ارائه نسخه های ۹۵ ،۹۸ NT و ۲۰۰۰ مرتبًا سعی در بهبود دادن وضعیت سیستم عامل Windows . نمود Apple نیز سعی کرد این کار را با ارائه Copeland که (هیچوقت به بازار عرضه نشد) و Mac OS X انجام دهد. در میان سیستم عاملهای کامپیوترهای شخصی، ۲ / OS که توسط شرکت IBM عرضه شد تنها سیستم عاملی بود که واسط کاربر گرافیکی خوب و یک ساختار پایه ای محکم را باهم دارا بود، ولی Microsoft با تاکتیکهایی که در پیش گرفت (از جمله ائتلاف با Intel بعنوان مطرحترین سازنده قطعات کامپیوترهای شخصی) مانع از گسترش و همگانی شدن آن شد. از زمانی که کامپیوترهای شخصی وارد بازار شدند نسخه هایی از نیز برای آنها ایجاد شد، مانند گونه های مختلف پروژه های BSD و Linux . Linux اولین سیستم عامل مبتنی بر UNIX است که در دنیای کامپیوترهای شخصی متداول شد و برای این منظور طراحی شده که بعنوان یک جایگزین برای Windows باشد. کار بر روی Linux توسط Torvalds شروع شد و امروزه دهها هزار برنامه نویس داوطلب در سرتاسر دنیا روی آن کار می کنند. دو گروه KDE و GNOME بر روی واسط کاربر گرافیکی Linux کار می کنند و حاصل کار آنها این است که امروزه، صرفنظر از مشکلات موجود در نصب کردن سیستم، عده زیادی از افراد غیرمتخصص می توانند از Linux استفاده کنند. پیش بینی می شود که در آینده نزدیک Linux بعنوان یک سیستم عامل با ساختار پایه ای محکم و واسط کاربر گرافیکی مدرن بتواند جای خود را در بین کاربران کامپیوتر پیدا کند.
در این قسمت نگاهی اجمالی می اندازیم به تفاوتهای موجود در سیستم عاملهای Windows و UNIX این تفاوتها از چند نظر مورد بررسی قرار می گیرند، از جمله:
قابلیت اطمینان
مدیریت
هزینه
امنیت
سرعت
قابلیت اطمینان
سیستمهای مبتنی بر UNIX معمولا از قابلیت اطمینان بالایی نسبت به سیستمهای Windows برخوردارند. پدیده هایی مانند hang و crash در سیستمهای Windows بیشتر اتفاق می افتد. اغلب کاربران سیستمهای Windows با آن صفحه آبی معروف به Blue Screen of Death آشنا هستند ۲٫ علاوه بر این در سیستمهای Windows برای ایجاد تغییرات کوچک یا حتی نصب یک نرم افزار سیستم باید reboot شود. معمولا برای ارائه سرویسهایی که قرار است ۲۴ ساعته در دسترس باشند (مانند وب) از سیستمهای Windows استفاده نمی کنند چون reboot شدن سیستمی که چنین سرویسی را ارائه می کند اصلا جنبه خوشایندی ندارد، مخصوصًا اگر سرویس ارائه شده تجاری باشد در دسترس نبودن سرویس ممکن است زیانهای اقتصادی فراوانی به همراه داشته باشد. در مقابل برای ارائه سرویس چاپ می توان از Windows استفاده کرد چون برای مثال یک بار در هفته reboot شدن یک سرور چاپ برای کسی اهمیت چندانی ندارد. سیستم عاملهای Windows در اصل یک مشکل بزرگ دارند و آن در مورد استفاده از registry می باشد. سیستم عاملهای مبتنی بر UNIX از دایرکتوری etc برای نگهداری اطلاعات پیکربندی و تنظیمات خود سیستم عامل و کاربردهای نصب شده بر روی آن استفاده می کنند ولی سیستم عامل Windows از یک پایگاه داده برای نگهداری این اطلاعات استفاده می کند. این ایده ممکن است از لحاظ منطقی خیلی بهتر از روش UNIX و نگهداری فایلهای پیکربندی بصورت پراکنده در دایرکتوریهای مختلف باشد، ولی عمل ثابت کرده که اینگونه نیست. کل registry در یک فایل باینری نگهداری می شود که سیستم عامل و تمام کاربردها قبل از اجرا محتویات آن فایل را تمامًا بررسی می کنند. از اینجا این نکته روشن می شود که یک فایل بزرگ است که مدام نیز در حال تغییر است و در نتیجه امکان صدمه دیدن آن نیز بسیار زیاد است و در صورت صدمه دیدن
نه سیستم عامل و نه هیچ کاربرد دیگر نمی تواند به درستی بر روی سیستم اجرا شود. سیستمهای UNIX فایلهای پیکربندی و تنظیمات مربوط به سیستم عامل و کاربردها را در فایلهای متنی جداگانه در دایرکتوری etc / نگهداری می کنند. گذشته از پراکندگی فایلها که یک عیب برای این روش محسوب می شود مزایای قابل توجهی از آن حاصل می شود. هر نرم افزار برای اجرا شدن فقط فایلهای مربوط به خودش را می خواند و در صورت معیوب بودن یکی از فایلها فقط در نرم افزار مربوطه تاثیر می گذارد نه در کل سیستم، بعلاوه اینکه تصحیح فایلهای متنی خیلی ساده تر از تصحیح فایل باینری registry می باشد.
یک شاهد بر این مدعا راه اندازی سایت MSN می باشد. موقع راه اندازی این سایت مهندسان شرکت Microsoft سعی در استفاده از NT برای سرورهای شبکه داشتند ولی پس از دو هفته تلاش موفق به این کار نشدند و بالاجبار از سیستمهای UNIX استفاده کردند. استفاده از UNIX برای آنها متضمن پرداخت هزینه اضافی بود در صورتیکه برای استفاده از Windows هیچ هزینه ای متحمل نمی شدند، از طرف دیگر مهندسان شرکت کار دیگری مهمتر از یافتن و رفع مشکلات نداشتند؛ یعنی اگر مشکل قابل رفع شدن بود مسلمًا آنها این کار را انجام می دادند و هزینه اضافی صرف خرید سیستمهای UNIX نمی کردند. تنها نتیجه معقولی که حاصل می شود این است که سیستمهای Windows دارای مشکلات اساسی بودند که استفاده از آنها را بعنوان سرورهای عملیاتی غیرممکن می ساخت، مشکلاتی در پایه که رفع آنها به معنای دور ریختن تمامی کدهای نوشته شده بود. مهمترین این مشکلات استفاده از registry می باشد که همچنان به قوت خود باقیست. هم اکنون نیز بخش عظیمی از سرورهای شبکه MSN را سیستمهای UNIX تشکیل می دهد، هرچند ادعای خود Microsoft این است که فقط قسمت کوچکی از شبکه از سیستمهای UNIX استفاده می کند و شرکت در حال تبدیل این قسمت به سیستمهای Windows می باشد.
مدیریت
سیستمهای Windows نیاز به مدیریت و مراقبت بیشتری نسبت به سیستمهای UNIX دارند. از آنجا که سیستمهای Windows امکانات زیادی جهت مدیریت اتوماتیک ندارند به همین علت لزوم مدیریت مستقیم و حضور فیزیکی مدیر سیستم بیشتر می شود که همین باعث صرف وقت و هزینه زیادی می شود. یکی از ابزارهایی که مدیریت یک سیستم را ساده تر می کند اجرای اتوماتیک دستورات و برنامه ها می باشد Windows طوری طراحی نشده است که امکانات زیادی برای اجرای اتوماتیک دستورها داشته باشد. در Windows می توان اجرای دستورات را زمان بندی کرد ولی از آنجا که اکثر کارها در Windows نیازمند مداخله کاربر می باشد و اغلب با ماوس انجام می شود اتوماتیک کردن این کارها دشوار است. در بسیاری از مواقع با نصب برخی ابزارها مانند perl می توان انجام این کار را ساده تر کرد ولی مدیران سیستمهای Windows با این قبیل ابزارها کمتر آشنا هستند.
در مقابل در سیستمهای UNIX از دستور at و سرویس cron برای اجرای برنامه ها و دستورات در سر زمانهای خاص استفاده می شود که با استفاده از آنها تقریبًا تمام کارهای لازم را می توان بر روی سیستم انجام داد. یکی از ضعفهای دیگر سیستمهای Windows مربوط به سرویس telnet می باشد. در سیستمهای Windows با استفاده از telnet فقط می توان یک سری اعمال محدود را انجام داد، یعنی فقط همانهایی که از طریق اعلان امکانپذیرند. در مقابل در سیتمهای UNIX کاربر هنگام استفاده از سرویس telnet از اکثر امکانات سیستم بصورت متنی (بدون گرافیک) می تواند استفاده کند. تفاوت Windows و UNIX در این است که در UNIX تمام قابلیتهای سیستم از طریق اعلان دستور قابل دسترسی است و نیازی به استفاده از محیط گرافیکی نمی باشد. امروزه با گسترش سیستمهای (بخصوص (Linux در بازار تعداد کسانی که به دنبال مدیریت این نوع سیستمها می روند بیشتر شده و از این میان بیشتر آنها ترجیح می دهند واسط گرافیکی و کار کردن با کاربردهای موجود را یاد بگیرند تا اصول کار و کار کردن با محیط متنی و دستورات که همین امر تاثیرات سوئی را در آینده به دنبال خواهد داشت.
هزینه
هزینه ای که بابت خرید سخت افزار و سیستم عامل صرف می شود معمولا قسمت کوچکی از کل هزینه های یک سرور را شامل می شود. هزینه های دیگر و حتی مهمتری نیز هستند که اغلب نادیده گرفته می شوند که منجر به اتخاذ تصمیم اشتباه هنگام خرید سیستم می گردد. هزینه هایی که می توان برای یک سرور در نظر گرفت شامل موارد زیر می باشد:
هزینه خرید سخت افزار
هزینه خرید سیستم عامل و نرم افزارهای دیگر
هزینه پشتیبانی فنی
هزینه ارتقاء سخت افزار
هزینه ارتقاء سیستم عامل و نرم افزارها
هزینه ها و ضررات ناشی از در دسترس نبودن سرویس
هزینه بازیابی اطلاعات ناشی از بروز اشکالات در سخت افزار یا سیستم عامل
هزینه پرسنل جهت نگهداری و مدیریت سیستم
اگر در خرید سخت افزار و سیستم عامل دقت کافی صورت نگیرد سایر هزینه ها که هزینه های پنهان نامیده می شوند به شدت افزایش خواهند یافت. برای مثال ممکن است خرید یک سیستم Intel Pentium به همراه Advanced Server 2000 Windows … ، ـ , چیزی کمتر از ?,??? دلار هزینه داشته باشد ولی در عوض هزینه خرید یک سیستم Sun UltraSparc به همراه Solaris …ـ بیش از ??,??? دلار خواهد بود. در صورت خرید یک سیستم Windows-Intel, صرفه جویی زیادی در هزینه خرید انجام می شود ولی در مقابل هزینه های پنهانی که این سیستم به مرور زمان اعمال می کند جبران صرفه جویی در هزینه اولیه را خواهد کرد.
امنیت
سیستمهای مبتنی بر UNIX از امنیت بالایی نسبت به سیستمهای Windows برخوردارند. سیستم عامل UNIX چیزی فراتر از ?? سال عمر دارد و در این مدت عده زیادی برنامه نویس داوطلب بدون هیچگونه چشمداشتی بر روی آن کار کرده اند. کوچکترین bug یا اشکال امنیتی فورًا بر روی اینترنت اعلام می شود و عده زیادی در جهت حل آن دست بکار می شوند، به همین علت تعداد سایتها و گروههای خبری مربوط به UNIX خیلی بیشتر از تعداد سایتهای مربوط به Windows می باشد. در مقابل Windows یک سیستم عامل نسبتًا جدید است که بیش از ?? سال سابقه ندارد. کد این سیستم عامل در انحصار شرکت Microsoft است و بنابراین تنها مرجع رفع مشکلات بوجود آمده خود شرکت می باشد. بدیهی است که مدت زمان رفع مشکلات و bug های Windows بسیار طولانیتر از همین زمان برای سیستم عامل UNIX خواهد بود. همین می تواند مهمترین دلیل برای این باشد که سیستمهای Windows بیشتر در معرض حملات مهاجمین یا ویروسها قرار می گیرند.
موسسه امریکایی NSA 3 در سال ۱۹۸۳ استانداردی بنام TCSEC 4 یا Orange Book تدوین کرده که در سال ???? یک استاندارد اروپایی بنام ITSEC 5 نیز از روی آن تهیه شده است. این استانداردها بعنوان یک ابزار برای سنجش میزان امنیت سیستمها بکار می روند. چهار طبقه D تا A در این استانداردها وجود دارد که D نشانگر کمترین امنیت و A نشانگر بیشترین امنیت می باشد.
تمام سیستم عاملهای Windows که بر پایه تکنولوژی NT ساخته شده اند در طبقه بندی C2 می باشند. این در حالی است که بسیاری از سیستمهای UNIX از جمله Solaris ، HP-UX ، Ultrix و IRIX در طبقه بندی B قرار دارند (برای مثال Solaris در طبقه بندی B1 قرار دارد). همین نکته تفاوت این دو نوع سیستم عامل را از نظر امنیتی روشن می کند. این طبقه بندیها بر اساس حداکثر امکانات موجود در سیستم عامل صورت می گیرد ولی میزان بهره برداری از سیستم بستگی به مدیر سیستم دارد که بتواند به نحو مقتضی از این امکانات استفاده نماید.
سرعت
سرعت یک سیستم هم به مشخصات سخت افزار بستگی دارد و هم به سیستم عامل. میزان فضای حافظه، نوع پردازنده RISC) یا CISC بودن معماری پردازنده)، سرعت کار پردازنده و سایر قطعات (از جمله برد اصلی، دیسک، کارت شبکه، …) از جمله فاکتورهای سخت افزاری تعیین کننده سرعت می باشند. نحوه عملکرد سیستم عامل نقش مهمی در سرعت سیستم دارد. سرعت سیستمهای UNIX به مراتب بهتر از سیستمهای Windows . می باشند Windows مشکلات زیادی در مدیریت حافظه دارد ولی UNIX از حافظه استفاده بهینه می کند و فضای حافظه را هدر نمی دهد بطوریکه حتی قسمتهایی از خود سیستم عامل نیز بصورت module می باشند که فقط در صورت نیاز در حافظه قرار می گیرند. یکی از مشکلات Windows در زمینه سرعت مربوط به استفاده از registry می باشد. همانطور که قبلا توضیح داده شد اطلاعات پیکربندی و تنظیمات سیستم عامل و کاربردها همگی در registry ذخیره می شوند. سیستم عامل و کاربردها قبل از اجرا شدن این پایگاه داده را بطور کامل خوانده و آن را بررسی می کنند. به همین علت نصب چند نرم افزار باعث می شود سرعت کل سیستم پایین بیاید حتی اگر نرم افزارهای نصب شده هرگز مورد استفاده قرار نگیرند. یک سیستم Windows در روزهای اول نصب شدن با حداکثر سرعت خود کار می کند و به مرور زمان با اضافه کردن نرم افزارهای مختلف از سرعت آن کاسته می شود.
منبع : www.parsibook.4t.com
برای دانلود کلیک کنید

برچسب ها:
UNIX,
سيستم,
عامل,
مقايسه,
هاي
نوشته: admin
تاریخ: ۲۵ آبان ۱۳۹۰