سیستم‌عامل

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

سیستم‌عامل یا سامانهٔ عامل[۱] (به انگلیسی: Operating System) نرم‌افزاری است که مدیریّت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه نویسی کاربردی (Application User Interface-APIs) و یا از طرق فراخوانی‌های سیستم (system call) به این خدمات دسترسی دارند. با فراخوانی این واسط‌ها، برنامه‌های کاربردی می‌توانند سرویسی را از سیستم‌عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرم‌افزار مثل واسط خط فرمان (Command Line Interface-CLI) یا یک واسط گرافیکی کاربر (Graphical User Interface-GUI) با سیستم‌عامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستم‌عامل در نظر گرفته می‌شود. در سیستم‌های بزرگ و چند کاربره مثل یونیکس و سیستم‌های شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستم‌عامل اجرا می‌شود پیاده سازی می‌شود.

دلایل ایجاد سیستم‌عامل[ویرایش]

یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسک‌ها، چاپگرها، صفحه‌کلید، صفحه‌نمایش، واسط‌های شبکه‌ای و دیگر دستگاه‌های ورودی و خروجی تشکیل شده‌است. اگر سیستم یکپارچه‌ای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستم‌عامل یک لایه نرم‌افزاری فراهم می‌کند که وظیفه مدیریت منابع سیستم را از دوش برنامه‌های کاربردی رهانیده و کار برنامه‌نویسی را ساده‌تر می‌نماید. که با توجه به نسخه‌های جدید سیستم عامل‌ها که به دلیل بهره مندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نموده‌است. در حقیقت سیستم‌عامل واسط بین سخت‌افزار رایانه و کاربر می‌باشد.

وظایف سیستم‌عامل[ویرایش]

سیستم‌عامل دو کار عمده انجام می‌دهد:

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

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

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

سیستم‌عامل‌های فعلی[ویرایش]

در سالهای اخیر رقابت بیشتر بین سیستم‌عامل‌های مایکروسافت ویندوز، اپل مک اواس و لینوکس جریان دارد که آماری که در ماه ژوییه ۲۰۱۱ توسط وب‌گاه W3Schools به ثبت رسیده حاکی از آن است که هم اکنون بیش از ۸۰ درصد کاربران اینترنت از سیستم‌عامل ویندوز استفاده می‌کنند.

آمار موجود که مربوط به اوت ۲۰۱۰ می‌باشد به شرح زیر است:

از سیستم‌عامل‌های مشهور کامپیوترهای شخصی می‌توان به اسامی زیر اشاره کرد:

همچنین از سیستم‌عامل‌های موجود روی گوشی‌های تلفن همراه نسل جدید می‌توان به اسامی زیر اشاره کرد:

تاریخچه[ویرایش]

در آغاز[ویرایش]

اولین کامپیوترها فاقد سیستم‌عامل بودند. در اوایل سال ۱۹۶۴ فروشندگان کامپیوترهای تجاری ابزار کاملا گسترده‌ای را برای تسهیل توسعه، زمانبندی، و اجرای کارها روی یک سیستم پردازش دسته‌ای فراهم می‌کردند. برای مثال کامپیوتر تولید شده توسط UNI VAC.

در ابتدا سیستم‌عامل روی مین فریم‌ها مستقر می‌شد و کمی بعد سیستم‌عامل میکروکامپیوترهای ابتدایی که فقط از یک برنامه در هر زمان پشتیبانی می‌کردند و به یک زمانبند بسیار ابتدایی نیاز داشتند. هر برنامه زمانی که در حال اجرا بود تحت کنترل کامل ماشین قرار داشت. چند وظیفه‌ای (اشتراک زمانی) اولین بار در مین فریم‌ها و در ۱۹۶۰ عرضه شد. ابتدا کامپیوترها بسیار بزرگ و جاگیر بودند اما امروزه در کف یک دست جا می‌گیرند.

مین فریم‌ها[ویرایش]

میکرو کامپیوترها[ویرایش]

میکروکامپیوترهای اولیه نیاز یا ظرفیت داشتن یک سیستم‌عامل پیچیده که روی مین فریم‌ها توسعه یافته بود نداشتند.

انواع سیستم‌عامل[ویرایش]

سیستم‌عامل تک پردازنده[ویرایش]

این نوع سیستم‌عامل‌ها، سیستم‌عامل‌های نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا می‌شوند.از قبیل XP,Vista,۹۸,Me که بیشتر محصول شرکت مایکرو سافت می‌باشند.

سیستم‌عامل شبکه‌ای[ویرایش]

سیستم عاملهایی مثل ناول نت که بیشترین استفاده و ا مکانات این سیستم عامل برای شبکه می باشد

سیستم‌عامل توزیع شده[ویرایش]

نوشتار اصلی: سیستم‌های عامل توزیع شده

این سیستم‌عامل‌ها خود را مانند سیستم‌عامل‌های تک پردازنده به کاربر معرفی می‌کنند، اما در عمل از چندین پردازنده استفاده می‌کنند. این نوع سیستم‌عامل در یک محیط شبکه‌ای اجرا می‌شود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر بر می‌گردد سرعت پردازش در این نوع سیستم بسیار بالاست.

سیستم‌عامل بی‌درنگ[ویرایش]

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

ویژگی‌ها[ویرایش]

اجرای برنامه[ویرایش]

نوشتار اصلی: پردازش


وقفه‌ها[ویرایش]

نوشتار اصلی: وقفه ها

دسته‌بندی وقفه‌ها[ویرایش]

  • برنامه وقفه‌هایی که به دلیل بعضی شرایظ حاصل از یک دستورالعمل بروز می‌کند. شامل سریز شدن محاسباتی، تقسیم بر صفر، تلاش برای اجرای یک دستورالعمل ماشین غیر مجاز و مراجعه به آدرسی خارج از فضای مجاز کاربر.
  • زمان‌سنج وقفه‌ای که توسط زمان‌سنج داخلی تولید می‌شود. این وقفه به سیستم‌عامل اجازه می‌دهد، بعضی اعمال را به طور مرتب انجام دهد.
  • ورودی/خروجیوقفه‌هایی که به وسیله کنترل کننده ورودی/خروجی تولید می‌شود، تا کامل شدن طبیعی یک عمل یا شرایط خطا را اعلام نماید.
  • نقص سخت‌افزار وقفه‌هایی که با نقص سخت‌افزاری تولید می‌شود، مثل نقص برق یا خطای توازن حافظه.

حالت حفاظت شده و ناظر[ویرایش]

مدیریت حافظه[ویرایش]

نوشتار اصلی: مدیریت حافظه


حافظه مجازی[ویرایش]

نوشتار اصلی: حافظه مجازی


چند وظیفه‌ای[ویرایش]

نوشتار اصلی: چند وظیفه ای


دسترسی به دیسک و سیستم فایل[ویرایش]

راه اندازهای دستگاه‌ها[ویرایش]

شبکه[ویرایش]

نوشتار اصلی: شبکه


امنیت[ویرایش]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. فرهنگ واژه‌های مصوّب فرهنگستان: ۱۳۷۶ تا ۱۳۸۵، بخش دوم فارسی، صفحهٔ ۳۹۸. (دانلود از فرهنگستان)
  • آندرواس تننباوم و وودهال، طراحی و پیاده سازی سیستمهای عامل.چاپ چهارم ویرایش دوم ۱۳۸۱.