منو

سیستم عامل

در فرهنگ رایانه سیستم عامل نرم‌افزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه‌نویسی کاربردی (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)

سیستم عامل‌های فعلی

فهرستی از توزیع‌های لینوکس