سیستم عامل یکی ازجنبه های محوری درعلوم ومهندسی کامپیوتر است که به شدت در شکل گیری درک فرد از عملکرد داخلی کامپیوتر وهمکاری متقابل سخت افزارونرم افزار تاثیری که می تواند در طراحی وساخت سیستمهای کامپیوتری نقش محوری ایفا نماید.
سیستم عامل یک ریزپردازنده تک استفاده کننده ای می تواند به مراتب ساده تر از سیستم عامل یک کامپیوتر بزرگ باشدکه چندین استفاده کننده را پشتیبانی می کند. سیستم عامل ازمنابع سخت افزاری یک یاچند پردازنده برای ارائه مجموعه ای ازخدمات به کاربران استفاده می کند. در نتیجه برای بررسی سیستم عامل، داشتن درک مناسبی از سخت افزار کامپیوتر مهم است.
سیستم عامل دارای دوهدف 1. فراهم کردن یک سطح ارتباطی بالاتر باکامپیوتر، بطوریکه بتوان از سخت افزار بصورت آسانتری استفاده نمودو2. فراهم آوردن اقتصادی ترین نحوه استفاده از سخت افزار کامپیوتر. سیستم های عامل سعی می کنند به هر دوهدف برسند، ولیکن در عمل این اهداف با هم تضاد پیدا می کنند. زیرا برای بوجودآوردن یک ارتبا ط ساده و راحت بین انسان و کامپیوتر باید نرم افزار بیشتری بین این دو جناح قرار داد. ولی اینکار با هدف دوم تناقص دارد، وبنابراین در هنگام طراحی سیستم های عامل به یک سازش بین اهداف فوق نیاز است. با توجه به این سازش ومیزان آن، انواع گوناگونی از سیستم عامل بوجود آمده اند.
همچون اکثر نرم افزارهای پیچیده می توان ساختاریک سیستم عامل را همانند یک جسم لایه لایه(شکل یک پیاز) دانست. در مرکز، یک هسته از امکانات اساسی واولیه است که لایه های دیگری به آن اضافه می شوندو بین طریق امکانات پیچیده ترو پیشرفته تری فراهم می آیند. بعضی از سیستم های عامل کنونی، از قبیل VME/B که بر روی کامپیوتر ICL 2900 قرار دارند ویا سیستم عامل UNIX، این خصلت لایه لایه بودن را بخوبی نشان می دهندو حتی برخی از ماشینها، سخت افزاری مخصوص را، برای چنین سازمان لایه لایه ای فراهم می آورند.
سیستم عامل چیست ؟
سیستم عامل چیزی جزیک برنامه طولانی نیست ،لیکن اندازه و میزان پیچیدگی آن بستگی به یک سری عوامل دارد،که مهمترین آنهاعبارتنداز:خصوصیات کامپیوتر، ا مکاناتی که این کامپیوتر بایستی عرضه کندو مواردکاربرد این کامپیوتر.
سیستم عامل معمولآاولین برنامه است که درحافظه کامپیوتر، پس ازبارگیری، برخی قسمتهای سیستم عامل بطوردا ئم، مادا میکه کامپیوتر مشغول کار است درحافظه باقی می مانند. قسمتهای دیگرسیستم عامل ، باتوجه به کاربرد کامپیوتر توسط استفاده کننده اش ، بین حافظه اصلی کامپیوترو حافظه ثانوی آن ، مثل دیسک ها، نقل وانتقال می یابند. به این عمل مبادلهSwapping می گویند.
بطورکلی یک سیستم عامل وظایف مهم زیررا بعهده دارد:
الف – تسهیل درعملیات ورودی وخروجی
استفاده کنندگان معمولآمایل نیستندکه جزئیات نحوه کنترل یک دستگاه جنبی را بدا نند تا بتوانندیک کاراکتررا بخوانند یاچاپ کنند.واضح است که بایستی یک سطح ارتباطی بالاتربرای استفاده کننده فراهم شود
ب –کنترل اشتباهات
هراندازه که برنامه نویس ماهرباشد نمی تواند همیشه برنامه های بدون غلط بنویسد. بنابراین لازم است که سیستم بنحوی غلطهای برنامه ها راکنترل نماید. بدین ترتیب که بمجرد بروز اشتباهی دربرنامه ، سیستم عامل دخالت می کندو باچاپ پیغام خطای مناسب به استفاده کننده کمک می کند، تاعلت اشتباه را بیابد.
ج – دسترسی چند تایی Multi- access
استفاده کنندگان ازکامپیوتر، خیلی راحت ترهستند، اگر بتوا نند بصورت چندتایی به سیستم دسترسی داشته باشند. هرچند که زمان پاسخ مربوط به عده ای از استفاده کنندگان ممکن است بعلت دسترسی چندتایی افزایش یابد.
د – سیستم های فایل File systems
سیستم عامل مسئول نگهداری فهرست راهنماوحفاظت ازفایل های استفاده کنندگان است. چنین کنترل مرکزی توسط سیستم عامل برروی فایلها ضروری است تابتوان به چنداستفاده کننده اجازه داد تاهمزمان از یک سخت افزار بهره ببرند، ودرعین حال سیستم فایل ا من باشد. سیستم عامل ممکن است ا مکانات دیگری ازنوع کاربردی مثل استفاده ازویرایشگرها فراهم نماید تااستفاده کنندگان بتوا نند به فایل های خود دسترسی پیداکرده ، آنهاراتغییردهند.
مدیریت حافظه
درسیستم چند برنامه ای بخش کاربر، حافظه بایستی به زیربخشهای دیگرتقسیم شود تا بتواندچند فرایند رادرخودجای دهد. وظیفه تقسیم بندی حافظه به زیربخشها به صورت پویا توسط سیستم عامل انجام می گیردوبه این عمل مدیریت حافظه می گویند. وجود یک مدیریت حافظه کارآمد برای سیستم چندبرنامه ای حیاتی است . اگر فقط چند فرایند محدود درحافظه باشند، اغلب اوقات فرایند منتظر ورودی / خروجی هستند و پردازنده بی کار خواهد بود. پس بهتر است حافظه به گونه ای تخصیص یابد که فرایندهای بیشتری درآن مجتمع شوند.
مدیریت حافظه اصلی به عهده واحدهای مدیریت حافظه سیستم عامل است. منظور ما از حافظه اصلی حافظه ای است که پردازنده ها برای یافتن دستورالعملهاوداده ها، مستقیما به آن دستیابی دارند.حافظه اصلی غالبا باتوجه به سابقه تکنولوژی حلقه های مزیت مغناطیسی که درطی سالها برای ساختن آنها بکارمی رفت ، به حافظه چنبره ای مرسوم است . مدیریت حافظه شامل چهاروظیفه زیراست :
1. نظارت بروضعیت هر یک از مکانهای حافظه اصلی، یعنی نظارت براینکه کدام مکان تخصیص یافته وکدام یک تخصیص نیافته (آزاد) است .
2. تعیین سیاست تخصیص حافظه، یعنی تصمیم گیری در مورداینکه حافظه به کدام فراروند بایداختصاص یابد، چه مقدار ازآن چه هنگام وکجا. چنانچه حافظه اصلی باید بطورهمروند بین چند فراروندتقسیم شود، دراین صورت مدیریت حافظه باید تعیین کندکه تقاضای کدام فراروندها اجابت گردد.
3. شیوه تخصیص پس ارآنکه تصمیم به تخصیص حافظه گرفته شد، نشانیهای خاص بایدانتخاب شده واطلاعات مربوط به تخصیص به هنگام درآیند.
4. شیوه وسیاست بازیابی حافظه، اقدام درمورد بازیابی حافظه. فراروند یا ممکن است حافظه تخصیص یافته ازپیش راخودآزادکندو یااینکه مدیریت حافظه به طوریک جانبه و برمبنای یک سیاست بازیابی آن را بازپس گیرد. پس ازبازیابی اطلاعات مربوط به وضعیت حافظه باید به هنگام درآیند.