سیستم عامل یا سامانه عامل نرم افزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می سازد که نرم افزار کاربردی اجرا شده و از خدمات آن استفاده کنند.
سیستم عامل خدماتی به برنامه های کاربردی و کاربر ارائه می دهد. برنامه های کاربردی یا از طریق واسط های برنامه نویسی کاربردی (Application User Interface-APIs) و یا از طرق فراخوانی های سیستم (system call) به این خدمات دسترسی دارند. با فراخوانی این واسط ها، برنامه های کاربردی می توانند سرویسی را از سیستم عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند.
ممکن است کاربران با بعضی انواع واسط کاربری نرم افزار مثل واسط خط فرمان (Command Line Interface CLI) یا یک واسط گرافیکی کاربر (Graphical User Interface-GUI) با سیستم عامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستم عامل در نظر گرفته می شود. در سیستم های بزرگ و چند کاربره مثل یونیکس و سیستم های شبیه یونیکس، واسط کاربری معمولا به عنوان یک برنامه کاربردی که خارج از سیستم عامل اجرا می شود پیاده سازی می شود.
دلایل ایجاد سیستم عامل
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسک ها، چاپگرها، صفحه کلید، صفحه نمایش، واسط های شبکه ای و دیگر دستگاه های ورودی و خروجی تشکیل شده است. اگر سیستم یکپارچه ای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستم عامل یک لایه نرم افزاری فراهم می کند که وظیفه مدیریت منابع سیستم را از دوش برنامه های کاربردی رهانیده و کار برنامه نویسی را ساده تر می کند. که با توجه به نسخه های جدید سیستم عامل ها که به دلیل بهره مندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نموده است. در حقیقت سیستم عامل واسط بین سخت افزار رایانه و کاربر است.
وظایف سیستم عامل
سیستم عامل دو کار عمده انجام می دهد: در نگرش پایین به بالا، منابع منطقی (مانند فایل ها) و منابع فیزیکی (مانند دستگاه های سخت افزاری) رایانه را مدیریت و کنترل می کند. وظیفه سیستم عامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی (Virtual Machine) را به کاربران ارائه کند تا آن ها بتوانند آسان تر برنامه نویسی کنند و درگیر پیچیدگی های سخت افزاری رایانه نشوند.
به طور کلی، وظایف سیستم عامل شامل موارد زیر است:
– استفاده بهینه تر از منابع و جلوگیری از به هدر رفتن آن ها
– تخصیص و آزاد سازی منابع
– اداره صف ها و زمان بندی استفاده از منابع
– حساب داری میزان استفاده از منابع
– ایجاد امنیت
– ایجاد، حذف و اداره فرایند ها
– ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آن ها
– مدیریت فایل ها و پوشه ها
– مدیریت حافظه های اصلی و جانبی
– برقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایند ها
– به اشتراک گذاری منابع (Resource Sharing)
– تعیین راهکارهایی برای اداره بن بست (deadlock)ها
– جلوگیری از شرایط رقابتی (Race Condition) و تداخل یا در هم قفل شدن (Interlock) فرایند ها
– جلوگیری از گرسنگی (Starvation)
سیستم عامل های فعلی
در سال های اخیر رقابت بیشتر بین سیستم عامل های مایکروسافت ویندوز، اپل مک او اس و لینوکس جریان دارد که آماری که در ماه اوت 2010 توسط وب گاه W3Schools به ثبت رسیده حاکی از آن است که هم اکنون 87.6 درصد کاربران رایانه های شخصی از سیستم عامل ویندوز استفاده می کنند.
آمار موجود که مربوط به اوت 2010 می باشد به شرح زیر است:
– ویندوز 7: 22.3٪
– ویندوز ویستا: 10.5٪
– ویندوز اکس پی: 53.1٪
– ویندوز سرور 2003: 1.3٪
– ویندوز 2000: 0.4٪
– مک اواس: 6.7٪
– لینوکس: 4.9٪
از سیستم عامل های مشهور کامپیوترهای شخصی می توان به اسامی زیر اشاره کرد:
– یونیکس
– لینوکس
– مک اواس
– ویندوز اکس پی
– ویندوز ویستا
– ویندوز ان تی
– ویندوز 7
– ویندوز سی ئی
– سولاریس
– بی اس دی
– داس
– ام وی اس
– ویلز
– پالم
همچنین از سیستم عامل های موجود روی گوشی های تلفن همراه نسل جدید می توان به اسامی زیر اشاره کرد:
– گوگل آندروید
– iOS
– ویندوز موبایل
– ویندوز فون
– سیمبیان
– UIQ
– بادا
– بلک بری