مقدمه
سيستم عامل بدون شک مهمترين نرم افزار در کامپيوتر است. پس از روشن کردن کامپيوتر اولين نرم افزاری که مشاهده می گردد سيستم عامل بوده و آخرين نرم افزاری که قبل از خاموش کردن کامپیوترمشاهده خواهد شد، نيز سيستم عامل است . سيستم عامل نرم افزاری است که امکان اجرای برنامه های کامپيوتر را فراهم می آورد.
سيستم عامل با سازماندهی ، مديريت و کنترل منابع سخت افزاری امکان استفاده بهينه و هدفمند آنها را فراهم می آورد. سيتم عامل فلسفه بودن سخت افزار را بدرستی تفسير و در اين راستا امکانات متعدد و ضروری جهت حيات ساير برنامه های کامپيوتری را فراهم می آورد

تمام کامپيوترها از سيستم عامل استفاده نمی نمايند. مثلا” اجاق های مايکرويو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپيوتر بوده که از سيستم عامل استفاده نمی نمايند. در اين نوع سيستم ها بدليل انجام عمليات محدود و ساده، نيازی به وجود سيستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظير صفحه کليد و نمایشگرها در اختيار سيستم گذاشته می گردند. ماهيت عمليات انجام شده در يک اجاق گاز مایکروویو بسيار محدود و مختصر است، بنابراين همواره يک برنامه درتمام حالات و اوقات اجرا خواهد شد

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

یکی برنامه های سیستمی که عملیات کامپیوتر را مدیریت می‌کنند و دیگری برنامه‌های کاربردی
سیستم عامل (operatino system = os) اصلی ترین برنامه سیستمی است که به عنوان رابط بین کاربر و سخت افزار کامپیوتر عمل می‌کند
سیستم عامل معمولا اولین برنامه ای است که پس از بوت شدن در حافظه بار می‌شود. پس از بار شدن قسمتی از سیستم عامل بطور دائم در حافظه (Resident) باقی می‌ماند. قسمتهای دیگر با توجه به کاربرد از دیسک به حافظه آورده می‌شود

به قسمت اصلی سیستم عامل که وظایف مهم آن را انجام می‌دهد هسته یا Kernelگفته می‌شود. هسته سیستم عامل برنامه‌ای است که در تمامی اوقات بر روی کامپیوتر در حال اجراست

سیستم عامل و معماری کامپیوتر اثر زیادی بر روی یکدیگر داشته‌اند. یعنی جهت سهولت کار با سخت افزارهای جدید, سیستم عامل‌ها توسعه یافتندو همچنین در اثنای طراحی سیستم عامل‌ها , مشخص شد که تغییراتی در طراحی سخت افزار می‌تواند سیستم عاملها را ساده تر و کارآمدتر سازد
اهداف سیستم عامل
سیستم عامل سه هدف اصلی دارد
– سهولت
سیستم عامل استفاده از کامپیوتر را ساده می‌سازد. این بدان معناست که مثلاً کاربر یا برنامه نویس بدون درگیر شدن با مسائل سخت افزاری دیسکها، به راحتی فایلی را بر روی دیسک ذخیره و حذف کند . این کار در واقع با به کاربردن دستورات ساده‌ای که فراخوان های سیستمی (System Calls) را صدا می‌زنند انجام پذیرد
در صورت عدم وجود سیستم عامل کاربر و یا برنامه نویس می‌بایست آشنایی کاملی با سخت افزارهای مختلف کامپیوتر (مثل مانیتور فلاپی – کی بورد و غیره) داشته باشد و روتین هایی برای خواندن و نوشتن آنها به زبان سطح پایین بنویسد. از این جنبه به سیستم عامل به عنوان ماشین توسعه یافته (Extended machine) یا ماشین مجازی (Virtual machine) اطلاق می‌شود که واقعیت سخت افزار را از دید برنامه نویسان مخفی می‌سازد

– کارآمدی
هدف دوم سیستم عامل مدیریت منابع (Resource Management) می‌باشد, یعنی سیستم عامل باعث استفاده بهینه و سودمند از منابع سیستم می‌گردد. منظور از منابع: پردازنده‌ها ,حافظه‌ها ,دیسکها, ماوس ها چاپگر ها , فایلها , پورتها و غیره هستند. یک سیستم کامپیوتری منابع نرم افزاری و سخت افزاری بسیار دارد که ممکن است در حین اجراء برنامه لازم باشند , سیستم عامل همانند مدیر منابع عمل کرده و آنها را بر حسب نیاز به برنامه‌های مشخصی تخصیص می‌دهد
– قابلیت رشد

سیستم عامل باید به نحوی ساخته شده باشد که به طور موثر توسعه, آزمایش و معرفی قابلیتهای جدید سیستمی را بدون ایجاد مزاحمت در خدمات جاری , میسر سازد
سيستم عامل يک رابط ( اينترفيس ) يکسان برای ساير برنامه های کامپيوتری ارائه می دهد. در اين حالت زمينه استفاده بيش از يک نوع کامپيوتر از سيستم عامل فراهم شده و در صورت بروز تغييرات در سخت افزار سيستم های کامپيوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چرا که سيستم عامل بعنوان ميانجی بين برنامه های کامپيوتری و سخت افزار ايفای وظيفه کرده و مسئوليت مديريت منابع سخت افزاری به وی سپرده شده است . برنامه نويسان کامپيوتر نيز با استفاده از نقش سيستم عامل بعنوان يک ميانجی

براحتی برنامه های خود را طراحی و پياده سازی کرده و در رابطه با اجرای برنامه های نشسته شده بر روی ساير کامپيوترهای مشابه نگرانی نخواهند داشت . (حتی اگر میزان حافظه موجود در دو کامپيوتر مشابه نباشد ) . در صورتيکه سخت افزار يک کامپيوتر بهبود و ارتقاء يابد، سيستم عامل اين تضمين را ايجاد خواهد کرد که برنامه ها، در ادامه بدون بروز اشکال قادر به ادامه حيات و سرويس دهی خود باشند. مسئوليت مديريت منابع سخت افزاری برعهده سیستم عامل خواهد بود نه برنامه های کامپيوتری. بنابراين در زمان ارتقای سخت افزار يک کامپيوتر مسئوليت سیستم عامل در اين راستا اولويت خواهد داشت .

ويندوز يکی از بهترين نمونه ها در اين زمينه است . سيستم عامل فوق بر روی سخت افزارهای متعدد توليد شده توسط توليدکنندگان متفاوت اجرا می گردد. ويندوز قادر به مديريت و استفاده از هزاران نوع چاپگر ديسک و ساير تجهيزات جانبی است .
سيستم های عامل را از بعد نوع کامپيوترهائی که قادر به کنترل آنها بوده و نوع برنامه های کاربردی که قادر به حمايت از آنها می باشند به چهار گروه عمده تقسيم می نمایند .
– سيستم عامل بلادرنگ (RTOS ):
از اين نوع سيستم های عامل برای کنترل ماشين آلات صنعتی ، تجهيزات علمی و سيستم های صنعتی استفاده می گردد. يک سيستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه های کاربردی مختص کاربران می باشند. يکی از بخش های مهم اين نوع سيستم های عامل ، مديريت منابع موجود کامپيوتری بگونه ای است که يک عمليات خاص در زمانی که می بايست ، اجراء خواهند شد
– تک کاربره – تک کاره:
همانگونه که از عنوان اين نوع سيستم های عامل مشخص است، آنها بگونه ای طراحی شده اند که قادر به مديريت کامپيوتر بصورتی باشند که يک کاربر در هر لحظه قادر به انجام يک کار باشد. سيستم عامل Palm OS برای کامپيوترهای PDA نمونه ای مناسب از يک سيستم عامل مدرن تک کاربره و تک کاره است.
– تک کاربره – چندکاره:
اکثر سيستم های عامل استفاده شده در کامپيوترهای شخصی از اين نوع می باشند. ويندوز و MacOS نمونه هائی در اين زمينه بوده که امکان اجرای چندين برنامه بطور همزمان را برای يک کاربر فراهم می نمايند. مثلا” يک کاربر ويندوز قادر به تايپ يک نامه با استفاده از يک واژه پرداز بوده و در همان زمان يک فايل از اينترنت گرفته و در همان وضعيت محتويات نامه الکترونيکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد .
– چندکاربره:
يک سيستم عامل چند کاربره ، امکان استفاده همزمان چندين کاربر از منابع موجود کامپيوتر را فراهم می آورند. منابع مورد نياز هر يک از کاربران می بايست توسط سيستم عامل بدرستی مدیریت شود تا در صورت بروز اشکال در منابع تخصيص يافته به يک کاربر، بر روند استفاده ساير کاربران از منابع مورد نظر اختلالی ايجاد نگردد. يونيکس، VMS و سيستم های عامل کامپيوترهای بزرگ نظير MVS، نمونه هائی از سيستم های عامل چندکاربره می باشند .
وظایف سیستم عامل
پس از روشن نمودن کامپيوتر، اولین برنامه ای که اجراء می گردد ، مجموعه دستوراتی می باشند که در ROM ذخيره و مسئول بررسی صحت عملکرد امکانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و ساير عناصر سخت افزاری را بررسی خواهد کرد . پس از بررسی موفقيت آمیز برنامه POST، در ادامه درايوهای ( هارد ، فلاپی ) سيستم فعال خواهند شد. در اکثر کامپيوترها پس از فعال شدن هارد ديسک ، اولين بخش سيستم عامل با نام Bootstrap Loader فعال خواهد شد. برنامه فوق صرفا” دارای يک وظيفه اساسی است : انتقال ( استقرار ) سيستم عامل در حافظه اصلی و امکان اجرای آن . برنامه فوق عمليات متفاوتی را بمنظور استقرار سيستم عامل در حافظه انجام خواهد داد. سيستم عامل دارای وظايف زير است:
– مديريت پردازنده
– مديريت حافظه
– مديريت دستگاههای ورودی و خروجی
– مدیریت حافظه جانبی
– اينترفيس برنامه های کاربردی
– رابط کاربر
وظايف شش گانه فوق ، هسته عمليات در اکثر سيستم های عامل است . در ادامه به تشريح وظايف فوق اشاره می گردد .