تارا فایل

تحقیق در مورد مقایسه سیستم عامل های UNIX و Windows


مقایسه سیستم عامل های UNIX و Windows
1 مقدمه
در روزهای اولیه صنعت کامپیوتر (دهه هفتاد)، بیشتر کامپیوترهایی که تولید می شد mainframe بودند و افراد خاصی از آنها استفاده می کردند. هر سازنده برای سخت افزار خود یک سیستم عامل مجزا می نوشت که فقط بر روی آن سخت افزار خاص اجرا می شد؛ یعنی سخت افزار و سیستم عامل مربوط به آن با هم بعنوان یک محصول فروخته می شدند. در آن زمان آزمایشگاه Bell که قسمتی از شرکت AT&T بود (امروزه بصورت مستقل و تحت نام Lucent Technologies فعالیت می کند) به علت مشکلات کارمندان شرکت در کار کردن با سیتمهای mainframe شروع به نوشتن سیستم عامل UNIX و زبان برنامه نویسی C برای استفاده داخلی کارمندان خود نمود.
در آن زمان AT&T اجازه فروش سخت افزار و نرم افزار بنام خود را نداشت، لذا پس از مدتی کد سیستم عامل UNIX را برای مصارف آکادمیک به دانشگاهها عرضه کرد. از آنجایی که سیستم عامل UNIX طوری طراحی شده بود که به سادگی قابل انتقال بر روی سخت افزارهای مختلف بود، مورد توجه دانشگاهها قرار گرفت. آنها با استفاده از UNIX می توانستند یک سیستم عامل واحد بر روی سخت افزارهای مختلف خود داشته باشند. Ken Thompson، یکی از پدید آورندگان UNIX، آن را به دانشگاههای California و Berkeley برد و در آنجا تغییرات عمده ای توسط دانشجویان در کد UNIX اعمال شد که منجر به پدید آمدن BSD UNIX1 گردید.
پس از مدتی که شرکت اجازه ورود به تجارت کامپیوتر را پیدا کرد استفاده رایگان UNIX ممنوع شد و همین امر باعث شد عده ای به فکر ایجاد یک نسخه رایگان UNIX بیفتند. پروژه های FreeBSD، NetBSD، OpenBSD و بعدها Linux از این جمله می باشند. از طرفی شرکتهای بزرگی مانند Sun، IBM، DEC، SCO و HP به تولید سیستم عاملهای مخصوص خود بر پایه BSD پرداختند. شرکت AT&T نیز سرگرم تولید نسخه خاص خود به نام System V بود. ورود سیستم عاملهای جدید بر پایه UNIX باعث کنار زدن سایر سیستم عاملهای انحصاری شد. تنها سیستم عاملهایی که توانستند بازار خود را حفظ کنند MVS محصول شرکت IBM و OpenVMS محصول شرکت DEC بودند (MVS به علت تعداد بالای نسخه های نصب شده و OpenVMS به علت امنیت و قابلیت اطمینان بالا).
با تولید ریزکامپیوترها و کامپیوترهای شخصی سازندگان سخت افزار دوباره شروع به ارائه سیستم عاملهای انحصاری خود نمودند؛ حتی با ارتقاء سخت افزار سیستم عاملها نیز تغییر می کردند. شرکتهای Commodore و Apple سیستم عاملهای نسبتاً گرافیکی برای کامپیوترهای PET، C64 و Apple ارائه کردند. شرکت Digital Research نیز سیستم عامل CP/M را ارائه کرد که روی عده ای از سخت افزارها قابل اجرا بود. پس از مدتی و با همه گیر شدن کامپیوترهای شخصی شرکتهای Commodore، Atari و Apple سیستم عاملهای گرافیکی خود را با نامهای Amiga، GEM و Macintosh به بازار عرضه کردند. بعدها شرکت Microsoft یک کپی از CP/M بنام MS-DOS و یک کپی از Macintosh بنام Windows را وارد بازار کرد. نقطه قوت این سیستم عاملها واسط کاربر گرافیکی آنها بود که استفاده کردن از آنها را خیلی ساده تر می کرد و همین نکته باعث شد در بین عموم طرفداران زیادی پیدا کنند.
در میان این سیستم عاملها Amiga و GEM دارای پایه های بسیار قوی بودند درحالیکه Macintosh و Windows چنین وضعیتی نداشتند. Amiga به علت مدیریت نامناسب و تصمیم گیریهای بد شرکت Commodore و GEM نیز به علت مشکلات مالی شرکت Atari از دور رقابت کنار رفتند. Microsoft با ارائه نسخه های 95، 98، NT و 2000 مرتباً سعی در بهبود دادن وضعیت سیستم عامل Windows نمود. Apple نیز سعی کرد این کار را با ارائه Copeland (که هیچوقت به بازار عرضه نشد) و Mac OS X انجام دهد. در میان سیستم عاملهای کامپیوترهای شخصی، OS/2 که توسط شرکت IBM عرضه شد تنها سیستم عاملی بود که واسط کاربر گرافیکی خوب و یک ساختار پایه ای محکم را باهم دارا بود، ولی Microsoft با تاکتیکهایی که در پیش گرفت (از جمله ائتلاف با Intel بعنوان مطرحترین سازنده قطعات کامپیوترهای شخصی) مانع از گسترش و همگانی شدن آن شد.
از زمانی که کامپیوترهای شخصی وارد بازار شدند نسخه هایی از UNIX نیز برای آنها ایجاد شد، مانند گونه های مختلف پروژه های BSD و Linux. Linux اولین سیستم عامل مبتنی بر UNIX است که در دنیای کامپیوترهای شخصی متداول شد و برای این منظور طراحی شده که بعنوان یک جایگزین برای Windows باشد. کار بر روی Linux توسط Linus Torvalds شروع شد و امروزه دهها هزار برنامه نویس داوطلب در سرتاسر دنیا روی آن کار می کنند. دو گروه KDE و GNOME بر روی واسط کاربر گرافیکی Linux کار می کنند و حاصل کار آنها این است که امروزه، صرفنظر از مشکلات موجود در نصب کردن سیستم، عده زیادی از افراد غیرمتخصص می توانند از Linux استفاده کنند. پیش بینی می شود که در آینده نزدیک Linux بعنوان یک سیستم عامل با ساختار پایه ای محکم و واسط کاربر گرافیکی مدرن بتواند جای خود را در بین کاربران کامپیوتر پیدا کند.
2 معرفی کلی برخی از سیستم عاملهای موجود
در جدول زیر لیست یک سری سیستم عاملهای متداول و نسبتاً قوی به همراه یک سری خصوصیات کلی آنها آمده است. قبل از اینکه جدول را مطالعه کنید توضیح چند نکته ضروری است:
– منظور از تعداد بیت، تعداد بیتهایی است که می توان برای دسترسی به فضای آدرس و داده استفاده کرد. تعداد بیتها حداکثر میزان دیسک و حافظه قابل مدیریت توسط سیستم را تعیین می کند.
– supercomputer ها کامپیوترهایی با قدرت محاسباتی بسیار بالا می باشند که برای انجام اعمال پیچیده ریاضی از آنها استفاده می شود.
mainframe ها از لحاظ قدرت عملیاتی بعد از supercomputer ها قرار دارند که در زمان واحد قادر به انجام حجم زیادی از عملیات می باشند. سرورهای cluster شده نیز می توانند مانند mainframe ها حجم عملیاتی بالایی را مدیریت کنند.

نام سیستم عامل
سخت افزار
حداکثر تعداد پردازنده
تعداد بیت
کاربرد
FreeBSD
Pentium, PowerPC, Alpha
4
32
سرورهای با بار زیاد
NetBSD
Pentium, PowerPC, SPARC, Alpha, MIPS, VAX, HP
1
32 & 64
سرورهای با بار زیاد
OpenBSD
Pentium, SPARC, Alpha, MIPS, HP
4
64
سرورهای با بار زیاد
Mac OS X
Power PC
2
64
سرورهای با بار متوسط
Linux
Pentium, PowerPC, SPARC, MIPS, Alpha, HP
4
32 & 64
سرورهای با بار زیاد
Solaris
SPARC, Pentium
64
64
سرورهای با بار زیاد، supercomputer
HP-UX
HP
128
64
سرورهای با بار زیاد، mainframe
Digital UNIX
Alpha
4
64
سرورهای با بار زیاد، mainframe
AIX
PowerPC
24
64
سرورهای با بار زیاد، mainframe
SCO UnixWare
Pentium
4
32
سرورهای با بار زیاد، mainframe
IRIX
MIPS
128
64
سرورهای با بار زیاد، supercomputer
OpenVMS
Alpha, VAX
16
32 & 64
سرورهای با بار زیاد، mainframe
MVS
IBM 360 370 390
18
64
سرورهای با بار زیاد، mainframe
OS/2
Pentium
1
32
سرورهای با بار کم
NetWare
Pentium
4
32
سرورهای با بار زیاد
Amiga
PowerPC, Pentium
2
32
سرورهای با بار کم
Windows NT
Pentium
4
32
سرورهای با بار کم
Windows 2000 Advanced Server
Pentium
8
64
سرورهای با بار کم
Windows 2000 Server
Pentium
4
32
سرورهای با بار کم
Windows 2000 Professional
Pentium
2
32
سرورهای با بار کم
Windows XP Advanced Server
Pentium
8
64
سرورهای با بار کم
Windows XP Server
Pentium
4
32
سرورهای با بار کم
Windows XP Professional
Pentium
2
32
سرورهای با بار کم

3 مقایسه Windows و UNIX
در این قسمت نگاهی اجمالی می اندازیم به تفاوتهای موجود در سیستم عاملهای Windows و UNIX. این تفاوتها از چند نظر مورد بررسی قرار می گیرند، از جمله:
– قابلیت اطمینان
– مدیریت
– هزینه
– امنیت
– سرعت
3-1 قابلیت اطمینان
سیستمهای مبتنی بر UNIX معمولا از قابلیت اطمینان بالایی نسبت به سیستمهای Windows برخوردارند. پدیده هایی مانند hang و crash در سیستمهای Windows بیشتر اتفاق می افتد. اغلب کاربران سیستمهای Windows با آن صفحه آبی معروف به Blue Screen of Death آشنا هستند2. علاوه بر این در سیستمهای 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 می باشد.
3-2 مدیریت
سیستمهای Windows نیاز به مدیریت و مراقبت بیشتری نسبت به سیستمهای UNIX دارند. از آنجا که سیستمهای Windows امکانات زیادی جهت مدیریت اتوماتیک ندارند به همین علت لزوم مدیریت مستقیم و حضور فیزیکی مدیر سیستم بیشتر می شود که همین باعث صرف وقت و هزینه زیادی می شود. یکی از ابزارهایی که مدیریت یک سیستم را ساده تر می کند اجرای اتوماتیک دستورات و برنامه ها می باشد. Windows طوری طراحی نشده است که امکانات زیادی برای اجرای اتوماتیک دستورها داشته باشد. در Windows می توان اجرای دستورات را زمان بندی کرد ولی از آنجا که اکثر کارها در Windows نیازمند مداخله کاربر می باشد و اغلب با ماوس انجام می شود اتوماتیک کردن این کارها دشوار است. در بسیاری از مواقع با نصب برخی ابزارها مانند perl می توان انجام این کار را ساده تر کرد ولی مدیران سیستمهای Windows با این قبیل ابزارها کمتر آشنا هستند.
در مقابل در سیستمهای UNIX از دستور at و سرویس cron برای اجرای برنامه ها و دستورات در سر زمانهای خاص استفاده می شود که با استفاده از آنها تقریباً تمام کارهای لازم را می توان بر روی سیستم انجام داد. یکی از ضعفهای دیگر سیستمهای Windows مربوط به سرویس telnet می باشد. در سیستمهای Windows با استفاده از telnet فقط می توان یک سری اعمال محدود را انجام داد، یعنی فقط همانهایی که از طریق اعلان DOS امکانپذیرند. در مقابل در سیتمهای UNIX کاربر هنگام استفاده از سرویس telnet از اکثر امکانات سیستم بصورت متنی (بدون گرافیک) می تواند استفاده کند. تفاوت Windows و UNIX در این است که در UNIX تمام قابلیتهای سیستم از طریق اعلان دستور قابل دسترسی است و نیازی به استفاده از محیط گرافیکی نمی باشد. امروزه با گسترش سیستمهای UNIX (بخصوص Linux) در بازار تعداد کسانی که به دنبال مدیریت این نوع سیستمها می روند بیشتر شده و از این میان بیشتر آنها ترجیح می دهند واسط گرافیکی و کار کردن با کاربردهای موجود را یاد بگیرند تا اصول کار و کار کردن با محیط متنی و دستورات که همین امر تاثیرات سوئی را در آینده به دنبال خواهد داشت.
3-3 هزینه
هزینه ای که بابت خرید سخت افزار و سیستم عامل صرف می شود معمولاً قسمت کوچکی از کل هزینه های یک سرور را شامل می شود. هزینه های دیگر و حتی مهمتری نیز هستند که اغلب نادیده گرفته می شوند که منجر به اتخاذ تصمیم اشتباه هنگام خرید سیستم می گردد. هزینه هایی که می توان برای یک سرور در نظر گرفت شامل موارد زیر می باشد:
– هزینه خرید سخت افزار
– هزینه خرید سیستم عامل و نرم افزارهای دیگر
– هزینه پشتیبانی فنی
– هزینه ارتقاء سخت افزار
– هزینه ارتقاء سیستم عامل و نرم افزارها
– هزینه ها و ضررات ناشی از در دسترس نبودن سرویس
– هزینه بازیابی اطلاعات ناشی از بروز اشکالات در سخت افزار یا سیستم عامل
– هزینه پرسنل جهت نگهداری و مدیریت سیستم
اگر در خرید سخت افزار و سیستم عامل دقت کافی صورت نگیرد سایر هزینه ها که هزینه های پنهان نامیده می شوند به شدت افزایش خواهند یافت. برای مثال ممکن است خرید یک سیستم Intel Pentium به همراه Windows 2000 Advanced Server چیزی کمتر از 000,4 دلار هزینه داشته باشد ولی در عوض هزینه خرید یک سیستم Sun UltraSparc به همراه Solaris بیش از 000,40 دلار خواهد بود. در صورت خرید یک سیستم Windows-Intel صرفه جویی زیادی در هزینه خرید انجام می شود ولی در مقابل هزینه های پنهانی که این سیستم به مرور زمان اعمال می کند جبران صرفه جویی در هزینه اولیه را خواهد کرد.
3-4 امنیت
سیستمهای مبتنی بر UNIX از امنیت بالایی نسبت به سیستمهای Windows برخوردارند. سیستم عامل UNIX چیزی فراتر از 30 سال عمر دارد و در این مدت عده زیادی برنامه نویس داوطلب بدون هیچگونه چشمداشتی بر روی آن کار کرده اند. کوچکترین bug یا اشکال امنیتی فوراً بر روی اینترنت اعلام می شود و عده زیادی در جهت حل آن دست بکار می شوند، به همین علت تعداد سایتها و گروههای خبری مربوط به UNIX خیلی بیشتر از تعداد سایتهای مربوط به Windows می باشد. در مقابل Windows یک سیستم عامل نسبتاً جدید است که بیش از 13 سال سابقه ندارد. کد این سیستم عامل در انحصار شرکت Microsoft است و بنابراین تنها مرجع رفع مشکلات بوجود آمده خود شرکت می باشد. بدیهی است که مدت زمان رفع مشکلات و bug های Windows بسیار طولانیتر از همین زمان برای سیستم عامل UNIX خواهد بود. همین می تواند مهمترین دلیل برای این باشد که سیستمهای Windows بیشتر در معرض حملات مهاجمین یا ویروسها قرار می گیرند.
موسسه امریکایی NSA3 در سال 1983 استانداردی بنام TCSEC4 یا Orange Book تدوین کرده که در سال 1990 یک استاندارد اروپایی بنام ITSEC5 نیز از روی آن تهیه شده است. این استانداردها بعنوان یک ابزار برای سنجش میزان امنیت سیستمها بکار می روند. چهار طبقه 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 قرار دارد). همین نکته تفاوت این دو نوع سیستم عامل را از نظر امنیتی روشن می کند. این طبقه بندیها بر اساس حداکثر امکانات موجود در سیستم عامل صورت می گیرد ولی میزان بهره برداری از سیستم بستگی به مدیر سیستم دارد که بتواند به نحو مقتضی از این امکانات استفاده نماید.
3-5 سرعت
سرعت یک سیستم هم به مشخصات سخت افزار بستگی دارد و هم به سیستم عامل. میزان فضای حافظه، نوع پردازنده (RISC یا CISC بودن معماری پردازنده)، سرعت کار پردازنده و سایر قطعات (از جمله برد اصلی، دیسک، کارت شبکه، …) از جمله فاکتورهای سخت افزاری تعیین کننده سرعت می باشند. نحوه عملکرد سیستم عامل نقش مهمی در سرعت سیستم دارد. سرعت سیستمهای UNIX به مراتب بهتر از سیستمهای Windows می باشند. Windows مشکلات زیادی در مدیریت حافظه دارد ولی UNIX از حافظه استفاده بهینه می کند و فضای حافظه را هدر نمی دهد بطوریکه حتی قسمتهایی از خود سیستم عامل نیز بصورت module می باشند که فقط در صورت نیاز در حافظه قرار می گیرند. یکی از مشکلات Windows در زمینه سرعت مربوط به استفاده از registry می باشد. همانطور که قبلاً توضیح داده شد اطلاعات پیکربندی و تنظیمات سیستم عامل و کاربردها همگی در registry ذخیره می شوند. سیستم عامل و کاربردها قبل از اجرا شدن این پایگاه داده را بطور کامل خوانده و آن را بررسی می کنند. به همین علت نصب چند نرم افزار باعث می شود سرعت کل سیستم پایین بیاید حتی اگر نرم افزارهای نصب شده هرگز مورد استفاده قرار نگیرند. یک سیستم Windows در روزهای اول نصب شدن با حداکثر سرعت خود کار می کند و به مرور زمان با اضافه کردن نرم افزارهای مختلف از سرعت آن کاسته می شود.
1 Berkeley Standard Distribution form of UNIX
2 هنگام بروز مشکل در مدیریت حافظه لیست هگزادسیمال آدرسهای حافظه و نام module ها با رنگ سفید بر روی پشت زمینه آبی نمایش داده می شود و تنها راه حل مشکل در این شرایط reboot کردن سیستم می باشد.
3 National Security Agency
4 Trusted Computer System Evaluation Criteria
5 Information Technology Security Evaluation Criteria
??

??

??

??

2


تعداد صفحات : 11 | فرمت فایل : WORD

بلافاصله بعد از پرداخت لینک دانلود فعال می شود