وظایف سیستم‌عامل

سیستم‌عامل دو کار عمده انجام می‌دهد: در نگرش پایین به بالا، منابع منطقی (مانند فایل‌ها) و منابع فیزیکی (مانند دستگاه‌های سخت‌افزاری) رایانه را مدیریت و کنترل می‌کند.

در نگرش بالا به پایین، وظیفه سیستم‌عامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی (Virtual Machine) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگی‌های سخت‌افزاری رایانه نشوند.

به طور کلی، وظایف سیستم‌عامل شامل موارد زیر است:

  • استفاده بهینه تر از منابع و جلوگیری از به هدر رفتن آنها
  • تخصیص و آزاد سازی منابع
  • اداره صف‌ها و زمان بندی استفاده از منابع
  • حساب داری میزان استفاده از منابع
  • ایجاد امنیت
  • ایجاد، حذف و اداره فرایند‌ها
  • ایجاد مکانیسم‌های ارتباط بین فرایند‌ها و همگام سازی آن‌ها
  • مدیریت فایل‌ها و پوشه‌ها
  • مدیریت حافظه‌های اصلی و جانبی
  • برقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایند‌ها
  • به اشتراک گذاری منابع (Resource Sharing)
  • تعیین راهکارهایی برای اداره بن بست (deadlock)ها
  • جلوگیری از شرایط رقابتی (Race Condition) و تداخل یا در هم قفل شدن (Interlock) فرایند‌ها
  • جلوگیری از گرسنگی (Starvation)