لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 10
سیستم عامل مفاهیم کلی
به طور کلی نرم افزارهای کامپیوتر به دو گروه تقسیم میشوند:
یکی برنامههای سیستمی که عملیات کامپیوتر را مدیریت میکنند و دیگری برنامههای کاربردی .سیستم عامل (operating system=os) اصلی ترین برنامه سیستمی است که به عنوان رابط بین کاربر و سخت افزار کامپیوتر عمل میکند .
سیستم عامل دو وظیفه (یا هدف) اصلی دارد:
در صورت عدم وجود سیستم عامل کاربرو یا برنامه نویس میبایست آشنایی کاملی با سخت افزارهای مختلف کامپیوتر (مثل مونیتور ,فلاپی , کی بورد و غیره) داشته باشدو روتینهایی برای خواندن و یا نوشتن آنها به زبانهای سطح پائین بنویسد. از این جنبه به سیستم عامل با عنوان ماشین توسعه یافته(Extended machine) یا ماشین مجازی (Virtual machine) یاد میشود که واقعیت سخت افزار را از دید برنامه نویسان مخفی میسازد.
وظیفه دوم سیستم عامل مدیریت منابع(Resource Management) میباشد, یعنی سیستم عامل باعث استفاده بهینه و سودمند (اقتصادی) از منابع سیستم میگردد. منظور از منابع پردازندهها ,حافظهها ,دیسکها,ماوس ها , چاپگرها , فایلها , پورتها و غیره هستند. یک سیستم کامپیوتری منابع نرم افزاری و سخت افزاری بسیار دارد که ممکن است در حین اجراء برنامه لازم باشند , سیستم عامل همانند مدیر منابع عمل کرده و آنها را بر حسب نیاز به برنامههای مشخصی تخصیص میدهد.سیستم عامل معمولا اولین برنامههای است که پس از بوت شدن در حافظه بار میشود. پس از بار شدن قسمتی از سیستم عامل بطور دائم در حافظه باقی (Resident)میماند. قسمتهای دیگر با توجه به کاربرد کامپیوتر توسط کاربر از دیسک به حافظه آورده میشود.
به قسمت اصلی سیستم عامل که وظایف مهم آن را انجام میدهد هسته یا Kernel گفته میشود. هسته سیستم عامل برنامهای است که در تمامی اوقات بر روی کامپیوتر در حال اجراست.
سیستم عامل و معماری کامپیوتر اثر زیادی بر روی یکدیگر داشتهاند. یعنی جهت سهولت کار با سخت افزارهای جدید, سیستم عاملها توسعه یافتندو همچنین در اثنای طراحی سیستم عاملها , مشخص شد که تغییراتی در طراحی سخت افزار میتواند سیستم عاملها را ساده تر و کارآمدتر سازد .
هر چند که تطبیق نسلهای کامپیوتر با نسلهای سیستم عامل کار درستی نیست ولی این تطبیق که در ادامه انجام میدهیم علت ایجاد سیستم عاملهای جدید را مشخص میسازد.
تطابق تکنیکهای سیستم عامل با نسل های کامپیوتر:
در نسل اول کامپیوترها (55-1945) که از لامپ خلأ برای ساخت آنها استفاده میشد,زبانهای برنامه نویسی (حتی اسمبلی)ابداع نشده بودند و سیستم عامل نیز اصلاً وجود نداشت . روند کار به این صورت بود که برنامه نویسان تنها در یک فاصله زمانی مشخص حق استفاده از کامپیوتر بزرگ و گران قیمت را داشتند.
آنها برنامههای خود را توسط تخته مدار سوراخدار (و بعدها توسط کارتهای پانچ) و به زبان ماشین به کامپیوتر میدادند. اکثر برنامههای محاسبات عددی معمولی مانند جداول سینوس و کسینوس بود.
سیستم های دسته ایBatch systemسیستم های چند برنامه ایMulti programmingسیستم spoolingسیستم اشتراک زمانیTime sharingسیستم عاملهای کامپیوتر های شخصی و شبکهسیستم های توزیع شدهDistributed systemسیستم ها ی چند وظیفه ایMulti taskingسیستم های چند پردازندهای Multi processingسیستم های بی درنگReal Timeساختار سیستم عامل:
خدمات و مولفه های سیستم عامل: مدیریت پردازش در سیستم عامل در سیستم عاملمدیریت حافظه در سیستم عاملمدیریت فایل در سیستم عاملمدیریت ورودی- خروجی در سیستم عاملمفسر فرمانوقفه در سیستم عاملفراخوانی سیستمیانوع سیستم عامل از نظر ساختار: تکنیک سیستم یکپارچهتکنیک سیستم لایه ایسیستم مجازی در سیستم عاملسیستم مشتری –خدمتگزارزبان های پیاده سازی سیستم عاملپردازش و زمابندی:
پردازش در سیستم عاملحالات یک پردازشبلوک کنترلی پردازشنخ”بند-رشته” زمان بندی در سیستم عاملانواع زمانبند ها در سیستم عاملمعیار های زمانبندی در سیستم عامل
انواع زمانبندی ها:
اولویتها میتوانند بصورت اتوماتیک توسط سیستم نسبت داده شوند و یا از خارج سیستم تعیین گردند, مثلاً ممکن است یک کاربر کار فوری داشته باشدو حاضر باشد به خاطر بدست آوردن سرویس بالاتر هزینه بیشتری بپردازد , یعنی اولویت را بخرد . یک اولویت ممکن است استاتیک باشد یا دینامیک . اولویت استاتیک تغییر نمیکندو بنابراین پیاده سازی آن ساده است .
ولی این نوع اولویت در مقابل تغییرات محیطی عکس العملی نشان نمیدهد . برعکس اولویت دینامیک بر اثر تغییرات محیطی تغییر میکند مثلا ً ممکن است در آغاز یک برنامه اولویت پائینی داشته باشد ولی به تدریج اولویت آن بهبود یابد.
سیستم اشتراک زمانیTime sharing
این سیستمها از اوایل سالهای 1970 در نسل سوم کامپیوترها معمول شدند. سیستم اشتراک زمانی در واقع تعمیم سیستم چند برنامگی است
.
در سیستمهای چند برنامگی کاربر ارتباطی با کامپیوتر نداشت و خطایابی برنامهها مشکل بود چرا که زمان برگشت نسبتاً طولانی اجازه آزمایش کردنهای متعدد را نمیداد. در سیستم اشتراک زمانی کاربر به کمک دو ترمینال (Terminal) که شامل کی بورد(برای ورودی) و مونیتور (برای خروجی ) است با کامپیوتر به صورت محاورهای (interactive) رابطه بر قرار میسازد.
کاربر مستقیماً دستوراتی را وارد کرده و پاسخ سریع آن را روی مونیتور دریافت میکند. در این سیستمها چندین کاربر به کمک ترمینالهایی که به کامپیوتر وصل است همزمان میتوانند از آن استفاده کنند.
در سیستم اشتراک زمانی فقط یک پردازنده وجود دارد که توسط مکانیزمهای زمانبندی بین برنامههای مختلف کاربرها با سرعت زیاد (مثلاً در حد میلی ثانیه(سوئیچ میشودو بنابراین هر کاربر تصور میکند کل کامپیوتر در اختیار اوست .در اینجا تأکید بر روی میزان عملکرد کاربر است یعنی هدف فراهم کردن وسایل مناسب برای تولید ساده نرم افزار و راحتی کاربرد میباشد و نه بالا بردن میزان کاربرد منابع ماشین .
این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید