نگاه كلي به
سيستم عامل
با
يك تارخچه مختصر بررسي سيستم عامل را شروع مي كنيم.خود اين تاريخچه جالب لست و
بعلاوه ديدي كلي از مفاهيم سيستم عامل را ارائه مي كند.
اين فصل با نگاهي به اهداف و
وظايف سيستم عامل(كه هر سيستم عامل بايد پاسخگوي آنها باشد) شروع مي شود.
اهداف و وظايف
سيستم عامل
سيتم عامل برنامه اي است كه اجراي
برنامه هاي كاربردي را كنترل و به صورت رابط كاربر و سخت افزار كامپيوتر عمل مي
كند. براي سيتم عامل سه هدف يا سه انجام وظيفه را مي توان در نظر گرفت:
× سهولت: سيستم عامل استفاده از
كامپيوتر را ساده تر و راحت تر مي كند.
× كار آمدي: سيستم عامل موجب
استفاده كار آمد از منابع سيستم كامپيوتري مي شود.
× قابليت رشد: سيستم عامل بايد به
نحوي ساخته شده باشد كه به طور مؤثر توسعه ء آزمايش و معرفي قابليتهاي جديد سيستمي
را بدون ايجاد مزاحمت در خدمات جاري ء ميسر سازد.
سيتم عامل به
عنوان رابط كاربر و كامپيوتر
مي توان به سخت افزار و نرم
افزاري كه كاربردها را براي كاربر ارائه مي كند به صورت لايه اي يا سلسله مراتبي
نگاه كرد. براي استفاده كننده آن كاربردها(كاربر نهايي)ءمعمولاً معماري كامپيوتر
اهميتي ندارد.بنابراينءكاربر نهاييء سيستم كامپيوتري را در قالب كاربردش نگاه مي
كند.اين كاربرد به يك برنامه ساز كاربردي و با استفاده از يك زبان برنامه سازي
ايجاد شده است. اگر قرار بود برنامه كاربردي به وسيله مجموعه اي از دستورالعملهاي
ماشين و با مسئوليت كامل سخت افزارايجاد و كنترل شودءكار بسيار پيچيده و طاقت
فرسايي بود.براي تسهيل كارءمجموعه اي از برنامه هاي سيستمي تهيه شده است. به بعضي
از اينها برنامه سودمند مي گويند. برنامه هاي سودمند توابعي هستند كه به دفعات
مورد استفاده قرار گرفته و به ايجاد برنامه ، مديريت پرونده ها و كنترل دستگاههاي
ورودي / خروجي كمك مي كنند. برنامه ساز از اين امكانات براي ايجاد برنامه كاربردي
استفاده مي كند و اين كاربردها در هنگام اجرا، اين برنامه هاي سودمند را براي
انجام بعضي وظايف فعال مي كنند. مهمترين برنامه سيستمي ،سيستم عامل است. سيستم
عامل جزئيات سخت افزار را از ديد برنماه ساز پنهان كرده و رابط مناسبي رابراي
استفاده او از سيستم فراهم مي كند. لذاسيستم عامل به صورت يك ميانجي براي تسهيل
دسترسي برنامه ساز و برنامه هاي كاربردي از امكانات و خدمات عمل مي كند.
به طور خلاصه، سيستم عامل معمولاً
در زمينه هاي زير خدمات خود را ارائه مي كند:
- ايجاد برنامه : سيستم عامل
امكانات وخدمات متنوعي مثل ويرايشگر و اشكال زداها را براي حمايت از ايجاد
برنامهارائه مي كند. معمولاص اين خدمات به شكل برنامه هاي سودمندي هستند كه واقعاً
جزء سيستم عامل نيستند، اما از طريق آن قابل دسترس هستند.
- اجراي برنامه : براي اجراي يك
برنامه ، كارهاي مهمي لازم است انجام شود. برنامه ها و داده ها بايد در حافظه اصلي
بار شوند، دستگاههاي ورودي / خروجي و پرونده ها بايد مقدارگذاري اوليه بشوند و
ساير منابع تهيه گردد. سيستم عامل همه اين كارها را براي كاربر انجام مي دهد.
- دسترسي به دستگاههاي ورودي /
خروجي : هر دستگاه ورودي / خروجي براي كار كردن به مجموعه دستورالعملها يا
علامتهاي كنترلي خاص خود نياز دارد. سيستم عامل به اين جزئيات مي پردازد و لذا
برنامه ساز مي تواند به فكر خواندن و نوشتنهاي ساده باشد.
- كنترل دسترسي به پرونده ها : در
مورد پرونده ها ، علاوه بر ماهيت دستگاه (ديسك، نوار) ، قالب پرونده ها در روي
رسانه ذخيره سازي نيز بايدمد نظر باشد. سيستم عامل نه تنها به اين جزئيات مي
پردازد. بلكه در سيستمهايي كه همزمان كاربران متعددي دارند راهكارهاي حفاظتي لازم
براي كنترل دسترسي به پرونده ها را هم فراهم مي كند.
- دسترسي به سيستم عامل : در مورد
يك سيستم عمومي يا اشتراكي ، سيستم عامل دسترسي به كل سيستم و منابع مختلف را
كنترل مي كند. او بايد از دسترسي كاربران غير مجاز به منابع و داده ها جلوگيري
كرده و مشكلات ناشي از درگيري براي منابع را رفع كند.
- كشف و پاسخ به خطاها: هنگامي كه
سيستم كامپيوتري در حال اجراست. خطاهاي متنوعي مي تواند بروز كند؛ خطاهاي سخت
افزاري مثل خطاي حافظه يا كار نكردن يا بد كار كردن دستگاه ، خطاهاي نرم افزاري
مثل سرريز شدن در محاسبات ، تلاش براي دسترسي به يكمحل دستگاه ، خطاهاي نرم افزاري
مثل سرريز شدن در محاسبات ، تلاش براي دسترسي به يك محل غير مجاز از حاظهو ناتواني
سيستم عامل براي پاسخگويي به درخواست يك كاربرد. در هر صورتسيستم عامل بايد با
كمترين تأثير روي كاربردهاي در حال اجرا عكس العمل لازم براي برطرف كردن شرايط خطا
را نشان مي دهد. اين عكس العمل مي تواند پايان دادن به برنامه عامل خطا ، تكرار
عمل و يا تنها گزارش كردن خطا به كاربرد مربوط باشد.
·
حسابداري
: سيستم عامل خوب ، آمار استفاده از منابع مختلف را جمع آوري و به پارامترهاي
كارايي (مثل زمان پاسخ ) نظارت مي كند. از اين اطلاعات براي پيش بيني نيازهاي
آينده و تنظيم سيستم عامل (براي كارايي بيشتر ) استفاده مي شود. در سيستمهاي
چندكاربرده از همين اطلاعات براي تهيه صورتحساب كاربران نيز استفاده مي گردد.
سيستم عامل به
عنوان مدير منابع
كامپيوتر مجموعه اي از منابع براي
انتقال ، ذخيره سازي وپردازش داده ها و همچنين براي كنترل همين اعمال است. سيستم
عامل مسئول مديريت اين منابع است.
پاسخ
اين سئوال كه آيا سيستم عامل انتقال ، ذخيره سازي و پردازش داده ها را كنترل مي
كند از يك ديدگاه مثبت است. از اين ديدگاه كه سيستم عامل با مديريت منابع كامپيوتر
، اعمال اصلي آنرا كنترل مي كند. اما اين كنترل به گونه خاصي است. به طور عادي ما
راهكار كنترل را چيزي خارج از عنصر كنترل شونده و ياحداقل اينكه چيزي متمايز و
مجزا از آن در نظر مي گيريم.(مثلاً سيستم گرمايي مسكن بوسيله ترموستات كنترل مي
شود كه كاملاً از بخشهاي توليد و توزيع گرما متمايز است). سيستم عامل اينگونه نيست
و به عنوان يك راهكار كنترلي از دو جهت غير عادياست:
· سيستم عامل
مثل نرم افزارهاي عادي كامپيوتر عمل مي كند. يعني يك برنامه است و توسط پردازنده
اجرا مي شود.
· سيستم عامل
مرتباً كنترل كردن را رها مي كند و به دستگيري مجدد كنترل ، بستگي به اجازه
پردازنده دارد.
در حقيقت سيستم عامل چيزي جز يك
برنامه كامپيوتري نيست. مثل ساير برنامه ها دستورالعملهايي را براي پردازنده آماده
مي كند. تفاوت اصلي در قصد و نيت برنامه است. سيستم عامل پردازنده رابراي استفاده
از ساير منابع سيستم و در ترتيب اجراي برنامه هاي ديگر هدايت مي كند. امابراي
اينكه پردازنده اين موارد راانجام دهد . بايداجراي برنامه سيستم عامل راكنار
گذاشته وبرنامه هاي ديگر را اجرا نمايد. بنابراين سيستم عامل كنترل پردازنده را
رها مي كند تا پردازنده كار مفيدي انجام دهد و موقعي كنترل را دوباره به دست مي
گيرد كه پردازنده رابراي انجام قسمت بعدي از كار آماده كند. در فصل آينده چگونگي
اين كار روشن خواهدشد.