سیستمعامل ( Operating System) نرمافزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم میسازد که نرمافزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستمعامل جزء ضروریترین نرمافزارهای یک سیستم کامپیوتری است. سیستمعامل خدماتی به برنامههای کاربردی و کاربر ارائه میدهد. برنامههای کاربردی یا از طریق واسطهای برنامه نویسی کاربردی (به انگلیسی: Application User Interface-APIs) و یا از طرق فراخوانیهای سیستم به این خدمات دسترسی دارند. با فراخوانی این واسطها، برنامههای کاربردی میتوانند سرویسی را از سیستمعامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرمافزار مثل واسط خط فرمان یا یک واسط گرافیکی کاربر با سیستمعامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستمعامل در نظر گرفته میشود. در سیستمهای بزرگ و چند کاربره مثل یونیکس و سیستمهای شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستمعامل اجرا میشود پیادهسازی میشود. نمونههایی از محبوبترین سیستمعاملهای نوین شامل: اندروید، بیاسدی، آیاواس، لینوکس، اواس ده، کیواناکس، مایکروسافت ویندوز، ویندوز فون و زد/اواس میباشند.
انواع سیستمعامل
سیستمهای بیدرنگ
سیستمهای بیدرنگ یا زمان واقعی یک سیستم عامل چند وظیفهای است که معمولا بعنوان یک کنترل کننده در یک کاربرد خاص استفاده میشوند. سیستم در این حالت میبایست در زمانی مشخص و معین حتما جواب مورد نظر را بدهد. سیستمهای کنترل آزمایشهای علمی، تصویربرداری پزشکی، کنترل صنعتی و برخی از سیستمهای نمایش از این دستهاند. هدف اصلی استفاده از سیستمهای بیدرنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی میباشد. در سیستمهای بیدرنگ معمولا وسایل ذخیرهسازی ثانویه وجود ندارد و به جای آن از حافظههای ROM استفاده میشود. سیستمعاملهای پیشرفته نیز در این سیستمها وجود ندارند چرا که سیستمعامل کاربر را از سختافزار جدا میکند و این جداسازی باعث عدم قطعیت در زمان پاسخگویی میشود. سیستمهایی که در آن مهلت زمانی( Deadline) باید پاسخ داده شود را بیدرنگ سخت و سیستمهایی که مهلت زمانی را پشتیبانی نمیکنند بیدرنگ نرم مینامند. از کاربرد سیستمهای بیدرنگ سخت میتوان به کنترل موتور یک خودرو (پاسخ با تاخیر میتواند نتایج فاجعهباری را به همراه داشته باشد) و در سیستمهای بیدرنگ نرم میتوان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخدهی باید سریع باشد اما به حادّی سیستمهای سخت نمیباشد) اشاره کرد.
سیستمهای چند کاربره
سیستمهای چند کاربره اجازه میدهند تا کاربران متعدد بصورت همزمان به یک سیستم کامپیوتری دسترسی داشته باشند. سیستمهای اشتراک زمانی و کارساز وب را میتوان بعنوان سیستمهای چند کاربره طبقهبندی کرد. در سیستمهای اشتراک زمانی تنها یک پردازنده قرار دارد که توسط مکانیزمهای زمانبندی بین برنامههای مختلف کاربرها با سرعت زیاد سوئیچ میشود و بنابراین هر کاربر تصور میکند کل رایانه در اختیار اوست.
سیستمعامل تک پردازنده
این نوع سیستمعاملها، سیستمعاملهای نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا میشوند. از قبیل XP,Vista,۹۸,Me که بیشتر محصول شرکت مایکرو سافت میباشند.
سیستمعامل شبکهای
سیستم عاملهایی مثل ناول نت که بیشترین استفاده و ا مکانات این سیستم عامل برای شبکه میباشد
سیستمعامل توزیع شده
این سیستمعاملها خود را مانند سیستمعاملهای تک پردازنده به کاربر معرفی میکنند، اما در عمل از چندین پردازنده استفاده میکنند. این نوع سیستمعامل در یک محیط شبکهای اجرا میشود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر بر میگردد سرعت پردازش در این نوع سیستم بسیار بالاست.
وظایف سیستمعامل
سیستمعامل دو کار عمده انجام میدهد:
- در نگرش پایین به بالا، منابع منطقی (مانند فایلها) و منابع فیزیکی (مانند دستگاههای سختافزاری) رایانه را مدیریت و کنترل میکند.
- در نگرش بالا به پایین، وظیفه سیستمعامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی را به کاربران ارائه کند تا آنها بتوانند آسانتر برنامهنویسی نمایند و درگیر پیچیدگیهای سختافزاری رایانه نشوند.
به طور کلی، وظایف سیستمعامل شامل موارد زیر است:
- استفاده بهینهتر از منابع و جلوگیری از به هدر رفتن آنها
- تخصیص و آزاد سازی منابع
- اداره صفها و زمانبندی استفاده از منابع
- حسابداری میزان استفاده از منابع
- ایجاد امنیت
- ایجاد، حذف و اداره فرایندها
- ایجاد مکانیسمهای ارتباط بین فرایندها و همگامسازی آنها
- مدیریت فایلها و پوشهها
- مدیریت حافظههای اصلی و جانبی
- برقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایندها
- به اشتراک گذاری منابع (Resource Sharing)
- تعیین راهکارهایی برای اداره بنبست (Deadlock)
- جلوگیری از وضعیت رقابتی (Race Condition) و تداخل یا در هم قفل شدن (Interlock) فرایندها
- جلوگیری از گرسنگی (Starvation)
سیستمعاملهای فعلی
در سالهای اخیر رقابت بیشتر بین سیستمعاملهای مایکروسافت ویندوز، اپل مک اواس و لینوکس جریان دارد که آماری که در ماه ژوییه ۲۰۱۱ توسط وبگاه W3Schools به ثبت رسیده حاکی از آن است که هم اکنون بیش از ۸۰ درصد کاربران اینترنت از سیستمعامل ویندوز استفاده میکنند.
آمار موجود که مربوط به اوت ۲۰۱۰ میباشد به شرح زیر است:
- ویندوز ۷: ۳۷٫۸٪
- ویندوز ویستا: ۶٫۷٪
- ویندوز اکس پی: ۳۹٫۷٪
- ویندوز ۲۰۰۳: ۰٫۹٪
- مک اواس: ۸٫۱٪
- توزیعهای گنو/لینوکس: ۵٫۲٪
از سیستمعاملهای مشهور کامپیوترهای شخصی میتوان به اسامی زیر اشاره کرد:
- یونیکس
- گنو/لینوکس
- مک اواس
- ویندوز اکسپی
- ویندوز ویستا
- ویندوز انتی
- ویندوز ۷
- ویندوز ۸
- ویندوز سیای
- سولاریس
- بی اس دی
- داس
- ام وی اس
- ویلز
- پالم
همچنین از سیستمعاملهای موجود روی گوشیهای تلفن همراه نسل جدید میتوان به اسامی زیر اشاره کرد: