اهداف و وظایف سیستم عامل

سیستم عامل (Operating System) برنامه ای است که اجرای برنامه های کاربردی را کنترل میکند و به عنوان واسط بین برنامه های کاربردی و سخت افزار کامپیوتر در نظر گرفته میشود. برای سیستم عامل سه هدف را میتوان در نظر گرفت.

اهداف و وظایف سیستم های عامل

 

۱- سهولت : سیستم عامل استفاده از کامپیوتر را تسهیل میکند.

۲- کارآمدی : سیستم عامل استفاده کارآمد از منابع سیستم کامپیوتری را میسر می سازد.

۳- قابلیت تکامل : سیستم عامل باید طوری ساخته شود که امکان توسعه مؤثر، آزمایش و معرفی امکانات جدید سیستمی را بدون اختلال در خدمت رسانی فراهم کند.

در این مطلب قصد داریم این سه جنبه سیستم عامل را به ترتیب بررسی کنیم.

 

سیستم عامل به عنوان واسط کاربر / کامپیوتر

همانطور که میدانید، میتوان به سخت افزار و نرم افزار مورد استفاده در ارائه کاربرد به کاربر، به صورت لایه ای یا سلسله مراتبی نگاه کرد.

به طور کلی برای کاربر (کاربر نهایی سیستم) این کاربردها (Application)، جزئیات سخت افزار کامپیوتر اهمیتی چندانی ندارد! بنابراین کاربر نهایی به کامپیوتر به صورت مجموعه ای از کاربردها نگاه میکند.

هر کاربرد را میتوان با یک زبان برنامه نویسی بیان کرد که توسط برنامه نویس کاربردی نوشته میشود. اگر برنامه کاربردی به صورت مجموعه ای از دستورالعمل های ماشین نوشته شود، برنامه نویس با مشکلات طاقت فرسایی مواجه میشود.

برای تسهیل کار، مجموعه ای از برنامه های سیستمی فراهم شده است. به برخی از این برنامه ها، برنامه های سودمند (Utility) گفته میشود. این برنامه ها در پیاده سازی اعمالی که به دفعات انجام میشوند، کاربرد دارند.

این اعمال در ایجاد برنامه، مدیریت فایل ها (Management of Files) و کنترل دستگاه های ورودی / خروجی (I/O) به ما کمک میکنند.

برنامه ساز از این امکانات برای تولید برنامه های کاربردی استفاده میکند و برنامه کاربردی، در حین اجرا برای انجام برخی از وظایف، برنامه های سودمند را احضار میکند.

مهم ترین برنامه سیستمی، سیستم عامل است.

سیستم عامل (Operating System)، جزئیات سخت افزار را از دید برنامه نویس پنهان میکند و برای او یک واسط ساده ایجاد کرده تا از سیستم استفاده نماید. سیستم عامل به عنوان یک رابط عمل میکند تا دسترسی و استفاده برنامه نویس و برنامه های کاربردی از این امکانات و خدمات را تسهیل نماید.

 

به طور خلاصه سیستم عامل معمولاً در حوزه های فعالیتی زیر خدمات خود را به کاربر ارائه میکند:

– توسعه برنامه (Program Development) :

سیستم عامل برای کمک به برنامه نویس در ایجاد برنامه، امکانات و خدمات مختلفی را از قبیل ویرایشگرها و Debugger ها فراهم میکند. این خدمات معمولاً به شکل برنامه های سودمند ارائه میشوند. گرچه این خدمات بخشی از هسته OS نیستند، اما توسط سیستم عامل قابل دسترسی هستند. به این خدمات ابزارهای توسعه برنامه کاربردی گفته میشود.

 

– اجرای برنامه (Program Execution) :

برای اجرای یک برنامه باید چند گام برداشته شود. ابتدا دستورالعمل ها و داده ها باید در حافظه قرار داده شوند؛ دستگاه های I/O و فایل ها باید مقدار گذاری اولیه (Initialize) شده و سایر منابع نیز آماده سازی شوند. سیستم عامل این وظایف زمانبندی را برای کاربر انجام میدهد.

 

– دسترسی به درگاه های I/O :

هر دستگاه I/O برای کار کردن نیاز به دستورالعمل ها و سیگنال های کنترلی خاصی دارد. سیستم عامل یک واسطه بسیار ساده و مشخص ایجاد کرده که جزئیات را پنهان میکند و برنامه نویس با استفاده از خواندن ها و نوشتن های ساده میتواند به این درگاه ها و دستگاه ها دسترسی داشته باشد.

 

– دسترسی کنترل شده به فایل ها :

برای دسترسی به فایل، سیستم عامل باید درک درست و کاملاً دقیقی از ماهیت دستگاه I/O (نظیر دیسک و نوار) و همچنین ساختار داده های درون فایل ها و رسانه ذخیره سازی داشته باشد. به علاوه در مواردی که سیستم چندین کاربر دارد، سیستم عامل راهکارهای حفاظتی را برای کنترل دسترسی به فایل ها فراهم خواهد نمود.

 

– دسترسی به سیستم :

در سیستم های اشتراکی یا عمومی، سیستم عامل دسترسی به کل سیستم یا منابع خاص را کنترل میکند. عمل دسترسی باید از منابع و داده ها در برابر کاربران غیر مجاز محافظت کند و تنش هایی را که در رقابت برای دسترسی به منابع ایجاد میشوند حل نماید.

 

– تشخیص خطاها و پاسخ به آن (Error Detection & Response) :

وقتی که یک سیستم کامپیوتر در حال کار است، ممکن است خطاهای مختلفی رخ دهد؛ از جمله این خطاها، خطای سخت افزاری داخلی و خارجی مانند خطای حافظه یا کار نکردن و بد کار کردن یک دستگاه و خطاهای مختلف نرم افزاری مانند تقسیم به صفر، تلاش برای دسترسی به محل های ممنوعه حافظه و عدم توانایی OS در پاسخ به درخواست یک Application می باشند.

 

 

سهولت تکامل تدریجی سیستم عامل

یک سیستم عامل به چند دلیل اصلی ممکن است در طول زمان تکامل یابد.

– ارتقای سخت افزار و انواع جدید سخت افزار

مثلاً مدل های اولیه سیستم های عامل یونیکس و OS/2 شرکت IBM از راهکار paging استفاده نمیکردند، زیرا روی ماشین هایی اجرا میشدند که سخت افزار paging نداشتند. نسخه های جدیدتر این سیستم عامل ها برای استفاده از قابلیت صفحه بندی، تغییر کردند.

همچنین استفاده از پایانه های گرافیکی و Page Mode به جای پایانه های حالت پیمایش خط در زمان (Line at a Time Scroll)، طراحی سیستم عامل را تحت تأثیر قرار میدهد. مثلاً یک پایانه گرافیکی معمولاً به کاربر اجازه میدهد تا چندین Application را به صورت همزمان از طریق پنجره هایی روی صفحه ببیند و این کار نیازمند پشتیبانی پیچیده تری از طرف سیستم عامل است.

 

– خدمات جدید

سیستم عامل در پاسخ به تقاضای کاربر یا نیاز مدیران سیستم، برای ارائه خدمات جدید گسترش می یابد. مثلاً اگر حفظ کارآیی مناسب برای کاربران با ابزارهای موجود مشکل باشد، ممکن است ابزارهای کنترل و اندازه گیری جدیدی به سیستم عامل اضافه شود. به عنوان یک مثال، اغلب کاربردها از یک پنجره در صفحه نمایش استفاده میکنند. اگر سیستم عامل از این ویژگی پشتیبانی نکند می بایست ارتقاء یابد.

 

– ترمیم (Fixes)

هر سیستم عامل خطاهایی دارد که در طول زمان کشف و ترمیم میشوند. البته ترمیم سیستم عامل ممکن است موجب بروز خطاهای جدید شود.

 

نیاز به تغییر مداوم سیستم عامل، در طراحی آن اثر میگذارد. واضح است که ساختار سیستم باید ماژولی باشد، واسط بین ماژول ها باید به طور شفاف تعریف شده و به خوبی مستند سازی شده باشد.

برای برنامه های بزرگ مانند سیستم های عامل رایج امروزی، آنچه که ماژول بندی سرراست نامیده میشود کافی نیست!

یعنی کاری که باید انجام شود خیلی بیشتر از قسمت بندی ساده یک برنامه به چند زیر روال است.

یک دید کلی از سیر تکاملی سیستم های عامل را میتوانید از اینجا و نیز سلسله مطالب آموزشی سیستم عامل مطالعه نمایید.

 

سیستم عامل به عنوان مدیر منابع

کامپیوتر مجموعه ای از منابع برای انتقال، ذخیره و پردازش داده ها و کنترل این اعمال است. سیستم عامل، وظیفه مدیریت این منابع را بر عهده دارد.

سیستم عامل با مدیریت منابع کامپیوتر، اعمال اصلی آنرا کنترل میکند. اما این کنترل به گونه ای غیرمعمول انجام میگیرد.

در واقع سیستم عامل مجموعه ای از برنامه هاست. OS مانند همه برنامه های کامپیوتر، دستورالعمل هایی را به پردازنده میدهدو تفاوت اصلی در اهداف برنامه است. سیستم عامل به پردازنده در استفاده از منابع دیگر سیستم و ترتیب اجرای برنامه های دیگر جهت میدهد.

اما اگر پردازنده بخواهد هر یک از این کارها را انجام دهد، باید اجرای سیستم عامل را رها کرده و برنامه های دیگر را اجرا نماید.

در حالت کلی سیستم عامل برنامه ای کنترل شده را به پردازنده میدهد تا برنامه هایی را اجرا کند؛ سپس دوباره کنترل پردازنده را به دست گرفته تا آن را برای انجام کارهای بعدی آماده کند.



[ برچسب ها ] : , , , , , , ,
ارسال شده در : بخش کامپیوتر
نظر شما در مورد اين پست چيست ؟

دیدگاه خود را به ما بگویید.

 
 
  دکتری تخصصی برق الکترونیک
طراح مدارهای الکترونیکی
برنامه نویس انواع میکروها
مشاوره و اجرای لینک های وایرلس
پیاده سازی سیستم های مبتنی بر شبکه
E_mail: electronic@sabzelco.ir
Tel: 09150462401
توسعه دهنده برنامه های سمت سرور

طراحی و برنامه نویسی سایت و پرتال های حرفه ای

E_mail: computer@sabzelco.ir
Tel: 09371974233