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

      – اجرای برنامه های کاربردی را کنترل میکند.

      – رابط کاربر و سخت افزار

Operating Systems

 

سه هدف سیستم عامل‏

   1- سهولت : استفاده از کامپیوتر ساده شود.

   2- کارآمدی : استفاده کارآمد از منابع

   3- قابلیّت رشد : سبب توسعه و آزمایش سیستم می‏شود.

 

برنامه‏های سودمند

      – مجموعه‏ی برنامه‏های سیستمی هستند.

      – توابعی هستند که به دفعات استفاده می‏شوند و به ایجاد برنامه ،مدیریت پروژه و کنترل دستگاه‏های ورودی و خروجی کمک می‏کند.

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

 

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

  • ایجاد برنامه
  • دسترسی به دستگاه‏های ورودی و خروجی
  • کنترل دسترسی به پرونده‏ها
  • دسترسی به سیستم عامل
  • کشف و پاسخ به خطا
  • حسابداری

 

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

سیستم عامل مسئولیت مدیریت انتقال ،ذخیره سازی و پردازش داده‏ها را دارد.

سیستم عامل به عنوان راه‏کار کنترلی از دو جهت غیرعادی است :

   1- سیستم عامل مانند نرم افزار ،عادی کار می‏کند.

   2- سیستم عامل مرتّباً کنترل کردن را رها می‏کند.

 

هسته سیستم عامل :

بخشی که در حافظه‏ی اصلی است.

بیشترین دفعات استفاده را دارد.

تخصیص حافظه مشترک ،توسط سیستم عامل و سخت افزار

مدیریت حافظه در پردازنده کنترل می‏شود.

در مورد زمان استفاده ،از I/O تصمیم می‏گیرد.

میزان تخصیص پردازنده به یک کار را مشخّص می‏کند.

 

دلایل تغییر سیستم عامل

   1- ارتقاء و انواع جدید سخت افزار : این امکانات ،نیازمند حمایت پیچیده‏تری از طرف سیستم عامل است.

   2- خدمت جدید : برای پاسخگویی به نیازهای کاربران

   3- رفع خطا : ساخت تیم مؤلّفه‏ای است و رابط‏ها باید مشخّص شوند.

 

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

   1- پردازش ردیفی

   2- سیستم‏های دسته‏ای ساده

   3- سیستم‏های چند برنامه‏ای دسته‏ای

   4- سیستم‏های اشتراک زمانی

 

پردازش ردیفی

      – به علّت دسترسی به کامپیوتر به صورت ردیفی این نام را داراست.

      – در سال 1940-2950 به وجود آمد.

      – کاربر با سخت افزار در ارتباط بود.

      – سیستم عامل وجود داشت.

      – دارای یک میز فرمان بود.

      – به زبان ماشین و به‏وسیله‏ی دستگاه ورودی بارگذاری می‏شد.

      – خروجی در چاپ‏گر ظاهر می‏شد.

 

مسئله اصلی سیستم‏های اولیّه

   1- زمانبندی : توسط برگ‏های نوبت‏گیر ،برای ماشین وقت می‏گرفتند و در زمان پیش بینی شده کارش تمام نمی‏شد.

   2- زمان نصب : اگر در زمان کار ،برای هر یک از کارها مشکلی ایجاد شود ،باید کارش را از اول شروع کند.

 

سیستم‏های دسته‏ای

      – اولین سیستم عامل دسته‏ای (1950) به وسیله‏ی General Motors و برای استفاده IBM 701 به وجود آمد.

      – پردازش دسته‏ای ساده توسط نرم افزار ناظر

      – کاربر دسترسی مستقیم به ماشین ندارد.

      – کاربر کار را توسط نوار به متصدی کامپیوتر می‏دهد.

      – متصدّی همه‏ی کارها را روی دستگاه ورودی گذاشته و وارد کامپیوتر می‏شود.

      – ناظر به طور خودکار باز کردن برنامه‏ی بعدی را بر عهده دارد.

 

ناظر

       قسمت اعظم ناظر : در حافظه‏ی اصلی و آماده‏ی اجرا می‏باشد. (ناظر ماندگار)

      – بقیه ناظر : برنامه‏ی سودمند ،توابع عمومی و مشترک (زیر برنامه)

زمان تنظیم رابط اولیّه‏ی کارها را ناظر انجام می‏دهد.

      – JCL = دستورالعمل‏هایی از زبان کنترل کار

      – این دستورالعمل‏ها با $ مشخّص می‏شوند.

Operating Systems

 

مزایای سیستم عامل دسته‏ای

   1- حفاظت حافظه اصلی

   2- زمان سنج : جلوگیری از انحصار سیستم توسط یک کاربر

   3- دستورالعمل‏های متمایز : دستورالعمل‏هایی که توسط ناظر صادر می‏شود.

   4- وقفه‏ها : این خصوصیّت به سیستم انعطاف می‏دهد.

 

سیستم‏های چند برنامه ساده

  • حافظه را برای سه یا چهار برنامه تخصیص داده است.
  • موضوع اصلی ،سیستم عامل‏های امروزی است.
  • باعث افزایش سرعت کار می‏شود.
  • به خصوصیّت سخت افزار تکیّه دارد.
  • از سیستم‏های تک برنامه‏ای ،پیچیده‏تر است.
  • نیازمند نوعی مدیریت حافظه است.

 

سیستم‏های اشتراک زمانی

  • از چند برنامگی برای رسیدن به حالت محاوره‏ای استفاده می‏کند.
  • پردازنده بین کاربران به اشتراک گذاشته می‏شود.
  • داشتن کاربران متعدّدی که از طریق پایانه‏ی خود ،به طور هم‏زمان از سیستم عامل استفاده می‏کنند.
  • اگر N کاربر داشته باشد ،هر کاربر ،از 1/N زمان مفید پردازنده استفاده می‏کند.

Operating Systems

 

دستاوردهای اصلی

پنج دستاورد توسعه سیستم عامل :

   1- فرآیندها

   2- مدیریت حافظه

   3- حفاظت اطّلاعات و ایمنی

   4- زمانبندی و مدیریت منابع

   5- ساختار سیستم

 

فرآیندها

  • یک مفهوم بنیادی در سیستم عامل است.
  • یک برنامه‏ی در حال اجراست.
  • روح متحرّک یک برنامه است.
  • موجودیّتی که می‏توان به یک پردازنده داده شود و روی پردازنده اجرا شود.

 

سه محور برای ایجاد و توسعه سیستم کامپیوتر :

   1- چند برنامگی : برای مشغول نگه‏داشتن هم زمان پردازنده و خروجی

   2- اشتراک زمانی : آماده پاسخگویی هم زمان به چند کاربر

   3- سیستم‏های تراکنش بلادرنگ : تعدادی از کاربران در حال وارد کردن درخواست‏ها یا تغییرات خود روی بانک اطّلاعاتی باشند.

 

علّت بروز خطاها در سیستم نرم افزای :

   1- همگام سازی نامناسب : به سبب بروز یک حادثه ،یک کار عقب بیافتد.

   2- شکست در انحصار متقابل : استفاده بیش از دو کاربر از یک منبع به طور هم‏زمان

   3- عملکرد غیر طبیعی برنامه : ممکن است کاربرها در کار یکدیگر دخالت کنند.

   4- بن بست‏ها : دو یا چند برنامه به خاطر هم معلّق بمانند.

 

اجزاء یک فرآیند :

   1- یک برنامه‏ی قابل اجرا

   2- داده‏های مورد نیاز این برنامه

   3- متن یا وضعیّت اجرای آن برنامه (اصلی است و شامل تمام اطّلاعاتی است که یک سیستم عامل برای مدیریت فرآیندها احتیاج داد.)

      – متن : شامل محتویات ثبات‏ها و …

      – برای هر فرآیند یک مدخل ،برای فهرست فرآیندها وجود دارد.

      – ثبات شاخص : شامل فهرستی از فرآیندهایی که از پردازنده استفاه می‏کنند.

      – ثبات شمارنده‏ی برنامه : برنامه‏ی بعدی که قرار است اجرا شود.

 

ثبات‏های پایه و حد

      – در ناحیه‏ای از حافظه قرار دارند.

      – شمارنده‏ی برنامه و تمام مراجعات به داده‏ها نسبت به محتویات ثبات پایه تفسیر می‏شود و نیابد از ثبات حد بیشتر باشد.

      – از دخالت بین فرآیندها جلوگیری می‏کنند.

 

پنج مسئولیّت اصلی در مدیریت حافظه :

   1- جداسازی فرآیندها : از دخالت فرآیندها جلوگیری می‏کند.

   2- تخصیص و مدیریت خودکار : باید به مدیریت‏ها جا دهد.

   3- حمایت از برنامه سازی مؤلّفه‏ای : باید مؤلّفه‏های برنامه را تعریف کند.

   4- حفاظت و کنترل دسترسی : باید به کاربر اجازه دهد تا به بخش‏هایی از حافظه دسترسی داشته باشد.

   5- حافظه دراز مدت : ذخیره اطّلاعات برای مدّت طولانی