سیستم عامل بدون شک مهمترین نرمافزار در کامپیوتر است . پس از روشنکردن کامپیوتر، اولین نرمافزاری که مشاهده میگردد، سیستم عامل بوده و آخرین نرمافزاری که قبل از خاموش کردن کامپیوتر مشاهده خواهد شد، نیز سیستم عامل است. سیستم عامل نرمافزاری است که امکان اجرای تمامی برنامههای کامپیوتری را فراهم میآورد. سیستم عامل با سازماندهی، مدیریت و کنترل منابع سختافزاری، امکان استفاده بهینه و هدفمند آنها را فراهم میآورد. سیستم عامل فلسفه بودن سختافزار را به درستی تفسیر و در این راستا امکانات متعدد و ضروری جهت حیات سایر برنامههای کامپیوتری را فراهم میآورد.
تمام کامپیوترها از سیستم عامل استفاده نمینمایند. مثلاً اجاقهای مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمینمایند. در این نوع سیستمها به دلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههایی نظیر صفحه کلید و نمایشگرهای LCD، در اختیار سیستم گذاشته میگردند. ماهیت عملیات انجام شده در یک اجاق گاز مایکروویو بسیار محدود و مختصر است، بنابراین همواره یک برنامه در تمام حالات و اوقات اجرا خواهد شد.
برای سیستمهای کامپیوتری که دارای عملکردی بمراتب پیچیدهتر از اجاق گاز مایکروویو میباشند، به خدمت گرفتن یک سیستم عامل باعث افزایش کارآیی سیستم و تسهیل در امر پیادهسازی برنامه های کامپیوتری میگردد. تمام کامپیوترهای شخصی دارای سیستم عامل میباشند. ویندوز یکی از متداولترین سیستمهای عامل است. یونیکس یکی دیگر از سیستم های عامل مهم در این زمینه است. صدها نوع سیستم عامل تاکنون با توجه به اهداف متفاوت طراحی و عرضه شده است. سیستمهای عامل مختص کامپیوترهای بزرگ، سیستمهای روبوتیک، سیستمهای کنترلی بلادرنگ، نمونههایی در این زمینه میباشند. از اینرو برای بهرهوری بهتر از کامپیوتر باید سیستم عاملی انتخاب شود که دارای قابلیت بالایی باشد.
سیستم عامل یکی از نرمافزارهای سیستم است که به عنوان واسطی بین سختافزار و برنامههای کاربردی و کاربران عمل مینماید.
ویژگیها و وظایف سیستم عامل عبارتند از:
الف. کنترل و ایجاد هماهنگی بین برنامههای کاربردی مختلف در استفاده از سختافزار.
ب. کنترل عملکرد دستگاههای مختلف ورودی و خروجی.
ج. تخصیص منابع به برنامههای مختلف.
سیستم عامل برنامهای است که هستهی آن همواره بر روی کامپیوتر، در حالت اجرا قرار دارد. دو هدف اصلی سیستم عامل، ایجاد سادگی برای کاربرد و استفادهی کارا و موثر از کامپیوتر است.
1 .1- سیستم عامل چیست؟
سیستم عامل بخش مهمی از هر سیستم کامپیوتر است. هر سیستم کامپیوتری را میتوان به چهار قسمت تقسیم کرد:
سختافزار، سیستم عامل، برنامههای کاربردی و کاربران
سختافزار شامل CPU (یا بطور خلاصه پردازنده)، حافظه و دستگاههای ورودی و خروجی است و منابع اصلی کامپیوتر را فراهم میکند. برنامههای کاربردی مثل کامپایلرها، سیستمهای بانک اطلاعاتی، بازیها و برنامههای تجاری، چگونگی بهرهبرداری از این منابع جهت حل مسائل محاسباتی کاربران را مشخص میکند. کاربران مختلفی وجود دارند که میخواهند مسائل متفاوتی را حل کنند.
بنابراین ممکن است برنامههای کاربردی گوناگونی وجود داشته باشند. سیستم عامل، بکارگیری سختافزار را بین برنامههای مختلف کاربران، کنترل و تنظیم میکند.
سیستم عامل مانند یک دولت است. اجزای سیستم کامپیوتری عبارتند از: سختافزار، نرمافزار و دادهها. سیستم عامل ابزارهایی را براستفادهی بهینه از منابع فراهم میکند. سیستم عامل مانند دولت، خودش کار خاصی انجام نمیدهد، بلکه فقط محیطی را فراهم میآورد که برنامههای دیگر به خوبی اجرا شوند.
- دیدگاه برتر
دیدگاه برتر نسبت به کامپیوتر، بر حسب واسطی که مورد استفاده قرار میگیرد، فرق میکند، اغلب کاربران کامپیوتر از PC استفاده میکنند که شامل مانیتور، صفحه کلید، ماوس و واحد سیستم است. چنین سیستمی برای یک کاربر تهیه شده است تا از منابع آن برای انجام کارهای بیشتر استفاده کند. در این مورد، سیستم عامل برای سهولت استفاده طراحی شد، ولی نگاهی به کارایی داشت، اما به بهرهوری منابع پرداخته نشد. کارایی برای کاربر مهم است، ولی بخش زیادی از سیستم بیکار میماند و منتظر سرعت I/O کاربر است.
بعضی از کاربران از پایانههایی استفاده میکنند که به کامپیوتر بزرگ یا مینی کامپیوتر وصل هستند. کاربران دیگر نیز از طریق پایانههای دیگر به این کامپیوتر دسترسی دارند. این کاربران از منابع به طور مشترک استفاده میکنند و اطلاعات را مبادله مینمایند. سیستم عامل طراحی شد تا بهرهوری منابع را افزایش دهد. بدین ترتیب، کل زمان پردازنده، حافظه و I/O به طور کارآمد مورد استفاده قرار میگیرند.
کاربران دیگر از ایستگاههای کاری استفاده میکنند که به شبکههای سایر ایستگاههای کاری و کارگزاران وصل هستند. این کاربران میتوانند منابعی را در اختیار بگیرند، ولی از منابعی مثل فایلها و چاپگرها به طور اشتراکی استفاده میکنند. لذا سیستم عامل آنها طراحی شد تا بین بهرهوری از منابع و استفاده شخصی توازن برقرار کند.
اخیراً کامپیوترهای دستی گوناگونی، بعضی وصل به شبکهها متصل هستند (از طریق سیم یا به صورت بیسیم). بر حسب قدرت و محدودیتهایی که دارند، عملیات راه دور را انجام میدهند. این سیستمهای عامل طراحی شدند تا استفاده شخصی را فراهم کنند، اما کارایی در اثنای کارکردن باتری نیز مهم است.
کاربران نسبت به بعضی از کامپیوترها دیدگاهی ندارند. به عنوان مثال، کامپیوترهای تعبیه شده در دستگاههای خانگی و اتومبیلها، صفحه کلیدی عددی دارند که خاموش یا روشن بودن آنها، وضعیت آنها را نشان میدهد. این کامپیوترها و سیستمهای عامل آنها طوری طراحی شدهند که بدون دخالت کاربر اجرا میشوند.
2 .1 .1- دیدگاه سیستم
از نقطهنظر کامپیوتر، سیستم عامل برنامهای است که به شدت با سختافزار عجین شده است. سیستم عامل را میتوان تخصیص دهندهی منابع درنظر گرفت. سیستم کامپیوتر دارای منابع سختافزاری و نرمافزاری متعددی است که برای حل مساله مفید است. این منابع عبارتند از: زمان CPU، فضای حافظه، فضای ذخیرهسازی فایل، دستگاههای I/O و ... . سیستم عامل مدیر این منابع است و آنها را در اختیار برنامههای کاربردی و کاربران قرار میدهد تا نیازهای خودشان را برطرف کنند. چون ممکن است درخواستهای متعددی برای منابع وجود داشته باشد که حتی متناقض هم باشند، سیستم عامل باید منابع را طوری در اختیار کاربر یا برنامه کاربردی قرار دهد تا عملکرد سیستم کامپیوتری بهینه باشد.
سیستم عامل را از دیدگاه نیاز به کنترل دستگاههای I/O و برنامههای کاربردی نیز میتوان مورد مطالعه قرار داد. در این دیدگاه، سیستم عامل یک برنامه است. برنامههای کنترل، برنامههای کاربران را کنترل میکند تا از کامپیوتر به درستی استفاده کنند. در این دیدگاه، بیشتر به کنترل دستگاههای I/O پرداخته میشود.
به طور کلی، تعریف دقیقی از سیستم عامل وجود ندارد. علت وجود آنها، بهرهبرداری بهینه از سیستم کامپیوتری است. هدف اصلی سیستمهای کامپیوتری، اجرای برنامههای کاربران و حل آسانتر مسالههای کاربران است. سختافزار ساخته شده تا این هدف برآورده شود.
چون استفاده از سختافزار محض آسان نیست، برنامههای کاربردی بوجود آمدند. بسیاری از عملیات این برنامههای کاربردی، مشترک است، مثل عملیاتی که دستگاههای I/O را کنترل میکنند. عملیات مشترک کنترل و تخصیص منابع، به صورت نرمافزار جداگانهای به نام سیستم عامل نوشته شدند.
تعریف دقیقی وجود ندارد که مشخص کند چه عملیاتی به عنوان بخشی از سیستم عامل محسوب میشود و چه عملیاتی به عنوان بخشی از سیستم عامل نیست. یک دیدگاه، ساده این است که هرچیزی که فروشنده در قبال درخواست سیستم عامل به شما تحویل میدهد، به عنوان سیستم عامل منظور شود. میزان حافظه مورد نیاز و ویژگیهای سیستمهای عامل با هم متفاوت است. بعضی از آنها کمتر از یک مگابایت حافظه اشغال میکنند و فاقد ویراستار صفحهای هستند، ولی بعضی دیگر از آنها چندصد مگابایت حافظه نیاز دارند و شامل غلطیاب و سیستمهای پنجرهای هستند.
متداولترین تعریف از سیستم عامل این است که، سیستم عامل برنامهای است که همواره در سیستم کامپیوتری در حال اجراست (و هسته نامیده میشود) و سایر برنامهها به نام برنامههای کاربردی خوانده میشوند.
3 .1 .1- اهداف سیستم
بهتر است سیستم عامل را با توجه به کاری که انجام میدهد، تعریف کنیم. اولین هدف سیستم عامل این است که محیط آسانی را برای کار فراهم کند. علت استفاده از سیستم عامل این است که بکارگیری کامپیوتر را آسان میکند. این دیدگاه برای کامپیوترهای کوچک واضحتر است.
هدف دوم سیستم عامل، بهرهبرداری بهینه از سختافزار است. این هدف، برای سیستمهای کامپیوتری بزرگ چندکاربره مورد نظر است. چون این سیستمها گران هستند، مطلوب است که به طور بهینه و کارآمد مورد بهرهبرداری قرار گیرند. این دو هدف، یعنی فراهم کردن محیط آسان و استفاده کارآمد، گاهی با هم در تضادند. در گذشته ملاحظات کارایی مهمتر از سهولت بوده است. بدین ترتیب، اغلب نظریههای سیستم عامل، به بهرهبرداری بهینه از منابع کامپیوتر مربوط میشوند. به عنوان مثال، یونیکس از صفحه کلید و چاپگر به عنوان واسط استفاده کرد. به طوری که کاربر چندان راحت نبود. در مرور زمان، سختافزار تغییر کرد و یونیکس در سختافزار جدید و با واسط کاربرپسند، شروع بکار کرد. واسط گرافیکی کاربر (CPU) بوجود آمد و موجب شد که کاربران به راحتی با یونیکس کار کنند.