سیستم‌عامل

سیستم‌عامل یا سامانه عامل نرم‌افزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل جزء ضروری‌ترین نرم‌افزارهای یک سیستم کامپیوتری است.
سیستم‌عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه‌نویسی کاربردی یا از طرق فراخوانی‌های سیستم به این خدمات دسترسی دارند. با فراخوانی این واسط‌ها، برنامه‌های کاربردی می‌توانند سرویسی را از سیستم‌عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرم‌افزار مثل واسط خط فرمان یا یک واسط گرافیکی کاربر با سیستم‌عامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستم‌عامل در نظر گرفته می‌شود. در سیستم‌های بزرگ و چند کاربره مثل یونیکس و سیستم‌های شبیه یونیکس، واسط کاربری معمولا به عنوان یک برنامه کاربردی که خارج از سیستم‌عامل اجرا می‌شود پیاده‌سازی می‌شود.
نمونه‌هایی از محبوب‌ترین سیستم‌عامل‌های نوین شامل: اندروید، بی‌اس‌دی، آی‌اواس، لینوکس، اواس ده، کیوان‌اکس، مایکروسافت ویندوز، ویندوز فون و زد/اواس می‌باشند.
انواع سیستم‌عامل
سیستم‌های بی‌درنگ
سیستم‌های بی‌درنگ یا زمان واقعی یک سیستم عامل چند وظیفه‌ای است که معمولا به عنوان یک کنترل‌کننده در یک کاربرد خاص استفاده می‌شوند. سیستم در این حالت می‌بایست در زمانی مشخص و معین حتما جواب مورد نظر را بدهد. سیستم‌های کنترل آزمایش‌های علمی، تصویربرداری پزشکی، کنترل صنعتی و برخی از سیستم‌های نمایش از این دسته‌اند. هدف اصلی استفاده از سیستم‌های بی‌درنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی می‌باشد. در سیستم‌های بی‌درنگ معمولا وسایل ذخیره‌سازی ثانویه وجود ندارد و به جای آن از حافظه‌های ROM استفاده می‌شود. سیستم‌عامل‌های پیشرفته نیز در این سیستم‌ها وجود ندارند چرا که سیستم‌عامل کاربر را از سخت‌افزار جدا می‌کند و این جداسازی باعث عدم قطعیت در زمان پاسخ‌گویی می‌شود. سیستم‌هایی که در آن مهلت زمانی باید پاسخ داده شود را بی‌درنگ سخت و سیستم‌هایی که مهلت زمانی را پشتیبانی نمی‌کنند بی‌درنگ نرم می‌نامند. از کاربرد سیستم‌های بی‌درنگ سخت می‌توان به کنترل موتور یک خودرو (پاسخ با تاخیر می‌تواند نتایج فاجعه‌باری را به همراه داشته باشد) و در سیستم‌های بی‌درنگ نرم می‌توان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخ‌دهی باید سریع باشد اما به حادی سیستم‌های سخت نمی‌باشد) اشاره کرد.
سیستم‌های چند کاربره
سیستم‌های چند کاربره اجازه می‌دهند تا کاربران متعدد به صورت هم‌زمان به یک سیستم کامپیوتری دسترسی داشته باشند. سیستم‌های اشتراک زمانی و کارساز وب را می‌توان به عنوان سیستم‌های چند کاربره طبقه‌بندی کرد. در سیستم‌های اشتراک زمانی تنها یک پردازنده قرار دارد که توسط مکانیزم‌های زمانبندی بین برنامه‌های مختلف کاربرها با سرعت زیاد سوئیچ می‌شود و بنابراین هر کاربر تصور می‌کند کل رایانه در اختیار اوست.
سیستم‌عامل تک پردازنده
این نوع سیستم‌عامل‌ها، سیستم‌عامل‌های نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا می‌شوند. از قبیل ویندوز اکس‌پی، ۹۸، ام‌ای و ویستا که بیشتر محصول شرکت مایکروسافت می‌باشند.
سیستم عامل شبکه‌ای
سیستم عاملهایی مثل ناول نت که بیشترین استفاده و امکانات این سیستم عامل برای شبکه می‌باشد
سیستم‌عامل توزیع شده
این سیستم‌عامل‌ها خود را مانند سیستم‌عامل‌های تک پردازنده به کاربر معرفی می‌کنند، اما در عمل از چندین پردازنده استفاده می‌کنند. این نوع سیستم‌عامل در یک محیط شبکه‌ای اجرا می‌شود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر برمی‌گردد سرعت پردازش در این نوع سیستم بسیار بالاست.
دلایل ایجاد سیستم‌عامل
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسک‌ها، چاپگرها، صفحه‌کلید، صفحه نمایش، واسط‌های شبکه‌ای و دیگر دستگاه‌های ورودی و خروجی تشکیل شده‌است. اگر سیستم یکپارچه‌ای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستم‌عامل یک لایه نرم‌افزاری فراهم می‌کند که وظیفه مدیریت منابع سیستم را از دوش برنامه‌های کاربردی رهانیده و کار برنامه‌نویسی را ساده‌تر می‌نماید؛ که با توجه به نسخه‌های جدید سیستم عامل‌ها که به دلیل بهره‌مندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نموده‌است.
در حقیقت سیستم‌عامل واسط بین سخت‌افزار رایانه و کاربر می‌باشد.
وظایف سیستم‌عامل
سیستم‌عامل دو کار عمده انجام می‌دهد:
در نگرش پایین به بالا، منابع منطقی (مانند فایل‌ها) و منابع فیزیکی (مانند دستگاه‌های سخت‌افزاری) رایانه را مدیریت و کنترل می‌کند.
در نگرش بالا به پایین، وظیفه سیستم‌عامل این است که یک ماشین توسعه یافته یا ماشین مجازی را به کاربران ارائه کند تا آن‌ها بتوانند آسان‌تر برنامه‌نویسی نمایند و درگیر پیچیدگی‌های سخت‌افزاری رایانه نشوند.
به‌طور کلی، وظایف سیستم‌عامل شامل موارد زیر است:
استفاده بهینه‌تر از منابع و جلوگیری از به هدر رفتن آنها
تخصیص و آزادسازی منابع
اداره صف‌ها و زمان‌بندی استفاده از منابع
حسابداری میزان استفاده از منابع
ایجاد امنیت
ایجاد، حذف و اداره فرایندها
ایجاد مکانیسم‌های ارتباط بین فرایندها و همگام‌سازی آن‌ها
مدیریت فایل‌ها و پوشه‌ها
مدیریت حافظه‌های اصلی و جانبی
برقراری امکان دسترسی چندتایی و اجرای هم روند فرایندها
به اشتراک‌گذاری منابع
تعیین راهکارهایی برای اداره بن‌بست
جلوگیری از وضعیت رقابتی و تداخل یا در هم قفل شدن فرایندها
جلوگیری از گرسنگی
سیستم‌عامل‌های فعلی
در سالهای اخیر رقابت بیشتر بین سیستم‌عامل‌های مایکروسافت ویندوز، اپل مک اواس و لینوکس جریان دارد که آماری که در ماه ژوییه ۲۰۱۱ توسط وبگاه W3Schools به ثبت رسیده حاکی از آن است که هم‌اکنون بیش از ۸۰ درصد کاربران اینترنت از سیستم‌عامل ویندوز استفاده می‌کنند.
آمار موجود که مربوط به اوت ۲۰۱۰ می‌باشد به شرح زیر است:
ویندوز ۷: ۳۷٫۸٪
ویندوز ویستا: ۶٫۷٪
ویندوز اکس پی: ۳۹٫۷٪
ویندوز ۲۰۰۳: ۰٫۹٪
مک اواس: ۸٫۱٪
توزیع‌های گنو/لینوکس: ۵٫۲٪
از سیستم‌عامل‌های مشهور کامپیوترهای شخصی می‌توان به اسامی زیر اشاره کرد:
یونیکس
گنو/لینوکس
مک اواس
ویندوز اکس‌پی
ویندوز ویستا
ویندوز ان‌تی
ویندوز ۷
ویندوز ۸
ویندوز ۸٫۱
ویندوز ۱۰
ویندوز سی‌ای
سولاریس
بی‌اس دی
داس
ام وی اس
ویلز
پالم
همچنین از سیستم‌عامل‌های موجود روی گوشی‌های تلفن همراه نسل جدید می‌توان به اسامی زیر اشاره کرد:
اندروید
iOS
ویندوز موبایل
ویندوز فون
سیمبین
یوآی‌کیو
بادا
بلک بری
می‌گو
پالم
تایزن
تاریخچه سیستم عامل
در آغاز
اولین کامپیوترها فاقد سیستم‌عامل بودند. در اوایل سال ۱۹۶۴ فروشندگان کامپیوترهای تجاری ابزار کاملا گسترده‌ای را برای تسهیل توسعه، زمانبندی، و اجرای کارها روی یک سیستم پردازش دسته‌ای فراهم می‌کردند. برای مثال رایانه تولید شده توسط UNI
VAC.
در ابتدا سیستم‌عامل روی مین فریم‌ها مستقر می‌شد و کمی بعد سیستم‌عامل میکروکامپیوترهای ابتدایی که فقط از یک برنامه در هر زمان پشتیبانی می‌کردند و به یک زمانبند بسیار ابتدایی نیاز داشتند. هر برنامه زمانی که در حال اجرا بود تحت کنترل کامل ماشین قرار داشت.
چند وظیفه‌ای (اشتراک زمانی) اولین بار در مین فریم‌ها و در ۱۹۶۰ عرضه شد.
ابتدا کامپیوترها بسیار بزرگ و جاگیر بودند اما امروزه در کف یک دست جا می‌گیرند.
مین فریم‌ها
میکرو کامپیوترها
میکروکامپیوترهای اولیه نیاز یا ظرفیت داشتن یک سیستم‌عامل پیچیده که روی مین فریم‌ها توسعه یافته بود نداشتند.
ویژگی‌ها
اجرای برنامه
وقفه‌ها
دسته‌بندی وقفه‌ها
برنامه وقفه‌هایی که به دلیل بعضی شرایط حاصل از یک دستورالعمل بروز می‌کند. شامل سریز شدن محاسباتی، تقسیم بر صفر، تلاش برای اجرای یک دستورالعمل ماشین غیرمجاز و مراجعه به آدرسی خارج از فضای مجاز کاربر.
زمان‌سنج وقفه‌ای که توسط زمان‌سنج داخلی تولید می‌شود. این وقفه به سیستم‌عامل اجازه می‌دهد، بعضی اعمال را به‌طور مرتب انجام دهد.
ورودی/خروجی وقفه‌هایی که به وسیله کنترل‌کننده ورودی/خروجی تولید می‌شود، تا کامل شدن طبیعی یک عمل یا شرایط خطا را اعلام نماید.
نقص سخت‌افزار وقفه‌هایی که با نقص سخت‌افزاری تولید می‌شود، مثل نقص برق یا خطای توازن حافظه.
حالت حفاظت شده و ناظر
مدیریت حافظه
حافظه مجازی
چند وظیفه‌ای
دسترسی به دیسک و سیستم فایل
راه اندازهای دستگاه‌ها
شبکه
امنیت
اختراع‌ها در ایالات متحده (۱۹۴۶–۱۹۹۱)
فهرست سیستم‌عامل‌ها
یادداشت