انواع سیستم عامل – راهنمای جامع


سیستمهای عامل از زمان پیدایش نخستین نسل از رایانهها وجود داشتهاند و در طی زمان تکامل یافتهاند. در این نوشته برخی از انواع سیستم عامل که کاربرد بیشتری دارند را بررسی میکنیم.
سیستمهای عامل دستهای (Batch)
کاربرهای سیستمهای عامل Batch به طور مستقیم تعاملی با رایانهها ندارند. هر کاربر وظیفه خود را آماده میکند و از طریق یک ابزار آفلاین مانند کارتهای پانچ آن را در اختیار اپراتور رایانه قرار میدهد. برای تسریع پردازش، وظایف دارای نیازهای مشابه با همدیگر دستهبندی میشوند و به صورت گروهی اجرا میشوند. برنامهنویسها، برنامههایشان را در اختیار اپراتور قرار میدهند و سپس اپراتور برنامههایی که الزامات یکسان دارند در دستههایی گروهبندی میکند.
مشکلات سیستمهای عامل Batch به صورت زیر است:
- فقدان تعامل با کاربر و کار
- پردازنده در اغلب موارد بیکار است، چون سرعت دستگاههای ورودی/خروجی مکانیکی پایینتر از پردازنده است.
- دستیابی به اولویتبندی مطلوب کاری دشوار است.
سیستمهای عامل اشتراک زمانی (Time-Sharing)
اشتراک زمانی تکنیکی است که به افراد امکان میدهد پای ترمینالهای مختلفی بنشینند تا به طور همزمان از یک سیستم رایانهای استفاده کنند. اشتراک زمانی یا چندوظیفگی، بسط منطقی چندبرنامگی است. زمان پردازنده که میان چند کاربر به طور همزمان به اشتراک گذارده میشود به نام اشتراک زمانی نامیده میشود.
تفاوت اصلی بین سیستمهای دستهای چند برنامهای و سیستمهای اشتراک زمانی در این است که در سیستمهای دستهای چند برنامهای، هدف بیشینهسازی استفاده از پردازنده است؛ در حالی که در سیستمهای اشتراک زمانی هدف، کمینهسازی زمان پاسخ است.
چند وظیفه از طریق سوئیچ کردن بین آنها از سوی پردازنده اجرا میشوند، اما این سوئیچها به طور مکرر رخ میدهند. از این رو کاربر میتواند پاسخ سریعی دریافت کند. برای مثال، در یک پردازش تراکنش، پردازنده برنامه هر کاربر را در طی زمان بسیار کوتاهی محاسبه میکند. یعنی اگر n کاربر وجود داشته باشند در این صورت هر کاربر میتواند مدت کوتاهی از زمان پردازنده را داشته باشد. زمانی که کاربر دستور خود را ارسال میکند، زمان پاسخدهی حداکثر چند ثانیه خواهد بود.
سیستم عامل از زمانبندی CPU و چند برنامگی برای ارائه مدت زمان کوتاهی به هر کاربر استفاده میکند. سیستمهای رایانهای به طور عمده به صوت سیستمهای دستهای طراحی میشوند که طوری تغییر یافتهاند تا به صورت اشتراک زمانی عمل کنند.
مزیت سیستمهای عامل اشتراک زمانی به صورت زیر است:
- مزیت پاسخدهی سریع
- جلوگیری از تکرار نرمافزار
- کاهش زمان بیکاری پردازنده
معایب سیستمهای عامل اشتراک زمانی به صورت زیر هستند:
- مسئله خوانایی
- بحث امنیت و یکپارچگی برنامهها و دادههای کاربران
- مسئله ارتباط داده
سیستم عامل توزیع یافته
سیستمهای توزیع یافته از چند پردازنده مرکزی برای عرضه اپلیکیشنهای چندگانه همزمان به کاربران چندگانه استفاده میکنند. وظایف پردازش داده به تناسب در میان پردازندههای مختلف توزیع میشود.
ارتباط پردازنده با پردازندههای دیگر از طریق خطوط ارتباطی مختلف (مانند گذرگاههای پرسرعت یا خطوط تلفن) صورت میگیرد. این وضعیت به نام سیستمهای loosely coupled یا سیستمهای توزیع یافته شناخته میشود. پردازندهها در سیستم توزیع یافته ممکن است اندازهها و کارکردهای مختلفی داشته باشند. این پردازندهها به نام سایت، گره، کامپیوتر یا مواردی از این دست نامیده میشوند.
مزیتهایی سیستمهای توزیع یافته به صورت زیر هستند:
- با کاهش امکان اشتراک، یک کاربر در یک سایت میتواند از منابع موجود در گرههای دیگر استفاده کند.
- تسریع مبادله داده با افراد دیگر از طریق ایمیل
- اگر یک سایت در سیستمهای توزیع یافته دچار مشکل شود، سایتهای دیگر میتوانند به کارکرد خود ادامه دهند.
- سرویس بهتر به مشتریان
- کاهش بار روی رایانه میزبان
- کاهش تأخیر در پردازش داده
سیستم عامل شبکهای
سیستم عامل شبکهای روی یک سرور اجرا میشود و امکان مدیریت داده، کاربران، گروهها، امنیت، اپلیکیشنها و دیگر کارکردهای شبکهبندی را ارائه میدهد. مقصود اصلی سیستم عامل شبکهای ایجاد امکان اشتراک فایل و دسترسی به پرینتر در میان چندین رایانه در یک شبکه بوده است. این شبکه معمولاً یک شبکه محلی (LAN) یک شبکه خصوصی یا انواع دیگری از شبکه است.
نمونههایی از سیستمهای عامل شبکهای شامل مایکروسافت ویندوز سرور 2003، مایکروسافت ویندوز سرور 2008، یونیکس، لینوکس، مک OS X، Novell NetWare و BSD هستند.
مزیت سیستمهای عامل شبکهای به صورت زیر هستند:
- سرورهای متمرکز پایداری بسیار بالایی دارند.
- امنیت سیستم از سمت سرور مدیریت میشود.
- با ارتقا به فناوریها یا سختافزارهای جدید میتوان به سادگی آن را در سیستم ادغام نمود.
- دسترسی ریموت به سرور از مکانهای مختلف و انواع سیستمها ممکن است.
معایب سیستمهای عامل شبکهبندی به صورت زیر هستند:
- هزینه بالای خرید و اجرای یک سرور
- وابستگی به یک موقعیت مرکزی برای اغلب عملیاتها
- نیاز به نگهداری و بهروزرسانیهای مداوم وجود دارد.
سیستم عامل همزمان (Real Time Operating System)
منظور از سیستم همزمان، یک سیستم پردازش داده است که در آن بازههای زمانی مورد نیاز برای پردازش و پاسخدهی به ورودیها چنان کوچک است که میتواند محیط را کنترل کند. زمان مورد نیاز از سوی سیستم برای پاسخدهی به یک ورودی و نمایش اطلاعات بهروز شده مورد نیاز به نام زمان پاسخدهی (response time) نامیده میشود. بنابراین در این روش زمان پاسخدهی در قیاس با پردازش آنلاین بسیار پایین است.
سیستمهای همزمان زمانی مورد استفاده قرار میگیرند که الزامات زمانی خاصی در مورد عملیات پردازنده و گردش داده وجود دارند. سیستمهای همزمان میتوانند به عنوان ابزار کنترلی در یک کاربرد خاص مورد استفاده قرار گیرند. یک سیستم عامل همزمان میبایست محدودیتهای کاملاً تعریف شده و ثابت زمانی داشته باشد، چون در غیر این صورت سیستم از کار میافتد. برای نمونه آزمایشهای علمی، سیستمهای تصویربرداری پزشکی، سیستمهای کنترل صنعتی، سیستمهای سلاح، روباتها، سیستمهای کنترل ترافیک هوایی و غیره چنین الزاماتی را دارند.
دو نوع از سیستمهای عامل همزمان وجود دارند: سیستمهای عامل سخت و نرم.
سیستمهای عامل همزمان سخت
سیستمهای همزمان سخت تضمین میکنند که وظایف حیاتی در طی زمان معینی پایان مییابند. در سیستمهای همزمان سخت، درایوهای ذخیرهسازی ثانویه محدود هستند یا کلاً وجود ندارند و دادهها در ROM ذخیره میشوند. در چنین سیستمهایی، حافظه مجازی تقریباً هرگز مشاهده نمیشود.
سیستمهای عامل همزمان نرم
سیستمهای همزمان نرم محدودیتهای کمتری دارند. در این سیستمها یک وظیفه همزمان حیاتی نسبت به وظایف دیگر اولویت مییابد و این اولویت را تا زمانی که به پایان نرسیده است حفظ میکند. سیستمهای همزمان نرم کاربر کمتری نسبت به سیستمهای همزمان سخت دارند. برای نمونه پروژههای چندرسانهای، واقعیت مجازی و پروژههای علمی پیشرفته مانند کاوش زیردریا و روباتهای کاوشگر فضایی مواردی از کاربردهای این سیستمها هستند.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای مهندسی نرمافزار
- مجموعه آموزشهای دروس مهندسی کامپیوتر
- آموزش سیستم های عامل
- آموزش مدیریت دیسک در سیستم عامل (مرور اجمالی و تست کنکور)
- آموزش نسخههای مختلف ویندوز
- آموزش Ubuntu (اوبونتو) – ۱۰ گام پس از نصب
- مجموعه آموزشهای لینوکس (Linux)
==