سیستم عامل - مقدمه
هنگامی که کامپیوتر را روشن می کنید، لذت بخش است که فکر می کنید شما کنترل کننده هستید. موس کامپیوتر قابل اعتماد و فرمان برداری دارید که می توانید آن را در هر نقطه از صفحه نمایش ببرید، و با کمترین خواست و اراده ای موسیقی های مورد علاقه را فرا بخوانید یا مرورگر اینترنت را باز کنید. اگر چه این راحت است که احساس یک هدایت کننده در پشت کامپیوتر را داشته باشید و اصلا هم اشتباه و بد نیست ! اما در داخل اتفاقات زیادی می افتد و "مرد پشت پرده" که با وظایف مختلف سر و کار دارد سیستم عامل است...
اکثر کامپیوتر های دسکتاپ و لپ تاپ امروزه دارای سیستم عامل ویندوز از شرکت ماکروسافت هستند. کامپیوتر های مکینتاش نیز به همراه "مک او اس ایکس" (Mac OS X) ارائه می شوند. سرور های بسیاری از شرکت ها نیز از سیستم عامل لینوکس یا یونیکس استفاده می کنند. سیستم عامل اولین چیزی است که در کامپیوتر بارگذاری می شود و بدون آن رایانه بی استفاده است.
امروزه در کامپیوتر ها و وسایل کوچک تر نیز سیستم عامل دیده می شود. در بسیاری از وسایلی که انسان روزانه با آن ها سر و کار دارد.از تلفن همراه گرفته تا بعضی از کارت های اعتباری .. کامپیوتر هایی که در این وسایل استفاده می شود به قدری قدرتمند شده اند که می توانند یک سیستم عامل را اجرا کنند.(البته سیستم عامل های مخصوص خودشان). پردازنده ی یک تلفن همراه قدرتمند امروزی از یک کامپیوتر بیست سال پیش بسیار قدرتمند تر است. پس این اتفاق کاملا عادی و منطقی است.
هدف سیستم عامل سازماندهی و کنترل سخت افزار و نرم افزار برای ایجاد یک سیستم قابل انعطاف ، پایدار و قابل پیشبینی است. در این مقاله می خواهیم با سیستم عامل و اهدافش به طور دقیق تر آشنا شویم.
همه ی کامپیوتر ها سیستم عامل ندارند. برای مثال کامپیوتری که اکثر اجاق های ماکروویو در آشپز خانه را کنترل می کند به سیستم عامل احتیاج ندارد. دستگاه چند وظیفه برای انجام دارد که به طور مستقیم با چند کلید توسط انسان به آن ارسال می شود. و تغییر سخت افزاری نیز در آن صورت نمی گیرد. برای کامپیوتری مانند این، سیستم عامل غیر ضروری و اضافی است و هزینه های ساخت و پیچیدگی کار با آن را افزایش می دهد. به جای آن کامپیوتر اجاق ماکروویو همیشه به طور ساده با یک برنامه ی داخلی غیر قابل تغییر و تنظیم (در علوم کامپیوتر : "برنامه ی سخت سیم پیچی شده") اجرا میشود.
برای وسایل دیگر سیستم عامل قابلیت های زیر را به وجود می آورد :
- انجام دادن اهداف مختلف .
- تعامل پیچیده تر با کاربر.
- توانایی سرویس دادن به نیاز های متغیر با گذشت زمان.
تمام کامپیوتر های رومیزی یا دسکتاپ از سیستم عامل بهره مند هستند و متداول ترین آنها خانواده "ویندوز" توسعه یافته به وسیله ماکروسافت است. سیستم عامل مکینتاش نیز به وسیله شرکت اپل ارائه شده است و یونیکس نیز به وسیله مجموعه ای از شرکت ها ، افراد و گروه ها توسعه یافته است. صد ها سیستم عامل دیگر برای برنامه های کاربردی خاص مانند سیستم های مرکزی ، صنایع روباتیک، صنایع ساخت و تولید ، سیستم های کنترل ریل تایم و.. وجود دارند؛
در هر وسیله ای که سیستم عامل دارد، معمولا راهی برای تغییر حالت کار دستگاه وجود دارد. این خارج از حسن تصادف است؛ یکی از دلایلی که سیستم عامل ها از کد های قابل حمل به جای مدار های فیزیکی پایدار ساخته شده اند این است که بتوانند بدون نیاز به تغییر تمام وسیله تغییر کنند( یا اصلاح شوند). این برای یک کاربر کامپیوتر دسکتاپ به این معنی است که بتواند یک آپدیت امنیتی جدید، یک پچ جدید، یک برنامه جدید یا حتی کل سیستم عامل را بدون عوض کردن سخت افزار خود، اضافه کند.
عملکرد سیستم عامل :
در ساده ترین حالت سیستم عامل در کار انجام می دهد :
- مدیریت منابع سخت افزاری و نرم افزاری سیستم . در یک کامپیوتر دسکتاپ ، این منابع شامل پردازنده ، حافظه ، فضای ذخیره سازی و .. میشود.
- ارائه ی راهی استوار و پایدار برای ارتباط برنامه ها با سخت افزار بدون نیاز به شناخت تمام جزئیات سخت افزار.
وظیفه اول که مدیریت منابع سخت افزاری و نرم افزاری است ، در هنگامی که برنامه ها و متد های ورودی مختلف سعی می کنند که بیشترین سهم از قدرت پردازش پردازنده ی مرکزی، حافظه و پهنای باند ورودی و خروجی را به خود اختصاص دهند ، بسیار اهمیت دارد. در این لحظه سیستم عامل نقش مدیریت کننده ی منابع و اطمینان از دریافت منابع کافی و لازم برای هر برنامه به بهترین نحو ممکن را بر عهده دارد. وظیفه دوم که ارائه ی ارتباطی سازگار برای برنامه ها است، در شرایطی بسیار مهم است که بیش از یک نوع خاص کامپیوتر از سیستم عامل استفاده کند یا اگر سخت افزار برای تغییر، کامپیوتر را باز بگذارد. یک "رابط برنامه نویسی نرم افزاری " (API) به توسعه دهنده ی نرم افزار اجازه می دهد که یک برنامه را در کامپیوتر بنویسد و سطح بالایی از اطمینان داشته باشد که نرم افزار وی در یک کامپیوتر یکسان (همنوع) دیگر حتی با تفاوت در اعداد و ارقام سخت افزاری متفاوت، اجرا شود. البته اگر هر کامپیوتر، منحصر به فرد هم باشد ، سیستم عامل می تواند مطمئن شود که آن برنامه در صورت ارتقای سخت افزار نیز می تواند به فعالیت ادامه دهد. این به این خاطر است که سیستم عامل ( نه برنامه ی کاربردی) برای مدیریت و توزیع منابع، برنامه ریزی و ساخته شده است. یکی از مشکلات توسعه دهنده گان منعطف نگاه داشتن سیستم عامل هایشان برای اجرا و کار با سخت افزار های مختلف است. سیستم عامل های امروزی می توانند خود را با هزاران سخت افزار مختلف و جنبی مانند انواع چاپگر ها ، دیسک درایو ها و وسایل نصب شونده ی دیگر تطبیق دهند.
انواع سیستم عامل :
در میان خانواده ی گسترده ی سیستم عامل ها ، چهار نوع عمده وجود دارد. این دسته بندی بر اساس نوع کامپیوتر هایی است که آنها کنترل و مجموعه ی نرم افزار هایی که پشتیبانی می کنند :
- سیستم عامل های ریل تایم (زمان حقیقی) یا RTOS . سیستم عامل هایی هستند که برای کنترل ابزار های علمی ، صنعتی و ماشینی به کار می روند. RTOS ها عموما قابلیت رابط کاربری پایینی دارند و قابلیت کاربر نهایی ندارند و به صورت "بسته ی نهایی مهر وموم شده" برای استفاده عرضه می شوند. یکی از مهمترین بخش های RTOS مدیریت منابع در کامپیوتر است که یک عملیات خاص در بار اجرا در زمان معینی انجام شود. در یک ماشین پیچیده ، کارکرد سریعتر یک بخش خاص به دلیل وجود داشتن منابع کافی ممکن است به اندازه ی کار نکردن آن بخش مصیبت بار باشد.
- تک کاربره – تک کاربرده . همان طور که اسم توضیح می دهد ، این سیستم عامل برای مدیریت یک کاربر و انجام یک عمل در آن واحد ساخته شده است. برای مثال سیستم عامل Palm یک سیستم عامل تک کاربره و تک کاربرده ی مدرن است.
- تک کاربره – چند کاربرده . این نوع، سیستم عاملی است که اکثر افراد عادی در کامپیوتر های رومیزی یا لپ تاپ یا .. استفاده می کنند. ویندوز و مکینتاش دو نمونه از این نوع سیستم عامل هستند که می توانند چندین فعالیت را همزمان مدیریت کنند. برای مثال برای یک کاربر ویندوز می تواند در همزمان با دانلود یک فایل از اینترنت در یک برنامه ی واژه پرداز تایپ کند.
- چند کاربره. یک سیستم عامل چند کاربره اجازه میدهد که چندین کاربر همزمان از منابع سیستم استفاده کنند. سیستم عامل باید مطمئن شود که نیازمندی های کاربر های متعدد متعادل باشد، و هر برنامه که یک کاربر اجرا می کند دارای منابع کافی و جدا گانه باشد که مشکل یک کاربر به کل شبکه کاربران تاثیر نگذارد. یونیکس، VMS و سیستم عامل های کامپیوتر های بزرگ (مین فریم ها) مانند MVS نمونه هایی از سیستم عامل های چند کاربره هستند.
این مهم است که بین سیستم عامل های چند کاربره و سیستم عامل های تک کاربره که از شبکه پشتیبانی می کنند تفاوت قائل شویم. ویندوز 2000 و "نوول نت ویر" (Novell Netware) (سیستم عاملی برای کامپیوتر های آی بی ام..) هر دو می توانند کاربران شبکه ای بسیاری را پشتیبانی کنند ولی در حقیقت این سیستم عامل ها چند کاربره نیستند. "ادمینیستریتور" یا مدیر و مسئول سیستم تنها کاربر برای ویندوز 2000 و نت ویر است. و برنامه ها به وسیله ی این کاربر اجرا میشود.
با در نظر داشتن انواع مختلف سیستم عامل نگاهی نیز به کارکرد های پایه ی سیستم عامل می اندازیم :
هنگامی که کامپیوتر را روشن می کنید ، اولین برنامه ای اجرا می شود معمولا مجموعه ای از دستور عمل های نگهداری شده در حافظه ی فقط خواندنی کامپیوتر یا ROM است. این کد ها اجزای سخت افزاری کامپیوتر را آزمایش می کنند تا از کارکرد درست هر کدام اطمینان حاصل کنند. این "خود آزمایی هنگام شروع" یا POST ، CPU ، حافظه و سیستم ورودی و خروجی پایه (BIOS) را برای خطا ها بررسی می کند و نتایج را در بخش مخصوصی از حافظه ذخیره می کند. هنگامی که POST تکمیل شد نرم افزار ذخیره شده در حافظه ROM (بایوس) دیسک درایو های کامپیوتر را فعال می کند. در اکثر کامپیوتر های مدرن هنگامی که هارد دیسک فعال می شود ، کامپیوتر به اولین اجزای سیستم عامل دسترسی پیدا می کند : باز کننده ی خود راه انداز یا bootstrap loader .
بازکننده ی خود راه انداز یک برنامه ی کوچک است که یک وظیف دارد : بارگذاری سیستم عامل در حافظه و اجازه ی شروع عملیات. در پایه ترین حالت ، باز کننده خود راه انداز درایور کوچکی را سوار می کند که زیر سیستم های سخت افزاری کامپیوتر را کنترل می کند. آن قسمت هایی از حافظه را آماده می کند که سیستم عامل ، اطلاعات کاربر و برنامه های را نگهداری می کند. آن ساختار های داده ای را ایجاد می کند که نشانه ها ، سیگنال ها و متد های مورد استفاده برای ارتباط برنامه های کامپیوتر و زیر سیستم ها را نگهداری میکند. سپس کنترل کامپیوتر را به سیستم عامل واگذار می کند.
وظایف سیستم عامل در حالت کلی در شش گروه اصلی قرار می گیرد :
- مدیریت پردازنده.
- مدیریت حافظه.
- مدیریت وسایل.
- مدیریت فضای ذخیره سازی.
- رابط برنامه های کاربردی.
- رابط کاربری.
با این وجود که افرادی هستند که می گویند مسئولیت های سیستم عامل بیش از این شش مورد است و سیستم عامل هایی هستند که قابلیت ها بسیار بیشتری را ارائه می دهند، این شش عملکرد ، هسته ی اصلی کارکرد اکثر سیستم عامل ها است. در ادامه با این وظایف بیشتر آشنا می شویم.
ادامه در قسمت دوم ...
+ نوشته شده در سه شنبه چهاردهم دی ۱۳۸۹ ساعت 23:14 توسط MEC
GENERAL INFORMATION