سیستم عامل فصل دوم: انواع سیستم ها سیستم تک برنامگی سیستم

Download Report

Transcript سیستم عامل فصل دوم: انواع سیستم ها سیستم تک برنامگی سیستم

‫سیستم عامل‬
‫فصل دوم‪:‬‬
‫انواع سیستم ها‬
‫سیستم تک برنامگی‬
‫سیستم چند برنامگی‬
‫سیستم عامل بافر ندارد ولی دستگاههای ‪ I/O‬بافر دارد‬
‫سیستم ‪Offline Spooling‬‬
‫• استفاده از یک دستگاه ‪ I/O‬سریعتر مثل نوارخوان بجای کارتخوان‬
‫• مزایا‬
‫– راندمان بهتر‬
‫– عملیات ساده تر‬
‫– سهولت استفاده از راه دور‬
‫• معایب‬
‫– زمان گردش طوالنی‬
‫– عدم وجود اولویت‬
‫– نیاز به سخت افزار اضافی‬
Offline Spooling ‫سیستم‬
‫سیستم ‪Online Spooling‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫فقط یک ‪CPU‬‬
‫سیستم عامل با برنامه کاربر چند برنامگی میشود‬
‫انتقال اطالعات توسط سیستم عامل از ‪ I/O‬کند به هارد‬
‫سیستم عامل ‪ I/O Limit‬و برنامه کاربر ‪CPU Limit‬‬
‫سیستم ‪Online Spooling‬‬
‫• سیستم ورودی اطالعات را بصورت بلوکی در دیسک ذخیره‬
‫و اطالعات و اولویت را به زمانبند کار میدهد‪.‬‬
‫سیستم ‪Online Spooling‬‬
‫• زمانبند کار لیستی از کارها و مدارک ورودی مربوطه را دارد‪.‬‬
‫او میگوید کدام کار باید انجام شود‪ .‬تا مدارک ورودی یک‬
‫کار کامل نشده انرا شروع نمیکند‪.‬‬
‫سیستم ‪Online Spooling‬‬
‫• پردازنده‪ ،‬کار را انجام میدهد و بعد اولویت مدارک خروجی‬
‫را به زمانبند خروجی میدهد‪ .‬او نیز به ترتیب اولویت کار را‬
‫به چاپگر میفرستد‬
‫سیستم ‪Online Spooling‬‬
‫• مدیر دیسک وظیفه خواندن و نوشتن یک بالک از‬
‫اطالعات را دارد‪.‬‬
‫سیستم ‪Online Spooling‬‬
‫• هماهنگ کننده یا ‪ Coordinator‬مسئول زمانبندی‬
‫پردازشهای سیستم است‪.‬‬
‫مزایا‬
‫•‬
‫•‬
‫•‬
‫•‬
‫راندمان باال در ‪ CPU‬و وسایل ‪( I/O‬به کمک وقفه)‬
‫گردش سریعتر‬
‫دسترسی با اولویت (برخالف نوار که سریالی است)‬
‫استفاده همزمان از چند مدرک ورودی و خروجی (چون در دیسک هستند)‬
‫اشتراک زمانی )‪(Time Sharing‬‬
‫• در سیستمهای قبلی در پردازنده‪ ،‬هر برنامه زمانی اغاز میشود که برنامه قبلی تمام شده‬
‫باشد و امکان محاوره (جواب دستور همان لحظه) وجود ندارد‪.‬‬
‫• در نسل سوم معمول شد‪.‬‬
‫• تعمیم یافته چند برنامگی‬
(Time Sharing) ‫اشتراک زمانی‬
(Time Sharing) ‫اشتراک زمانی‬
‫سیستمهای بی درنگ‬
‫• سیستم باید در بازه زمانی مشخص حتما جواب دهد‪.‬‬
‫• زمان در اشتراک زمانی مطلوب است ولی تضمینی نیست‪.‬‬
‫• زمان در سیستم دسته ای اصال معنا ندارد‪.‬‬
‫سیستمهای بی درنگ‬
‫• سخت‬
‫• نرم‬
‫سیستمهای بی درنگ سخت‬
‫• حافظه ثانویه ممنوع‪( .‬حافظه ‪ ROM‬به جای ان)‬
‫• سیستم عامل پیشرفته ممنوع در بعضی موارد کال ممنوع‬
‫• اشتراک زمانی و حافظه مجازی ممنوع‪.‬‬
‫مناسب برای کاربردهای صنعتی‪ ،‬پزشکی‪ ،‬کنترل موشک و ‪...‬‬
‫سیستمهای بی درنگ نرم‬
‫• یک وظیفه بحرانی نسبت به سایر امور ارجح است‪.‬‬
‫• برای صنعت ریسک اور است زیرا مهلت زمانی )‪ (Deadline‬را تضمین نمیکند‪.‬‬
‫• برای مالتی مدیا‪ ،‬رزرواسیون هواپیمای ی و ‪ ...‬خوب است‬
‫سیستمهای چند نخی )‪(Multithreading‬‬
‫• همان سیستم اشتراک زمانی است‪.‬‬
‫• یک پردازش میتواند به بندهای ی (نخهای ی) تقسیم شده و همزمان اجرا شود‪.‬‬
‫• فقط برای برنامه های ی که وظایف مستقل انجام میدهند‬
(Multithreading) ‫سیستمهای چند نخی‬
‫سیستمهای توزیع شده‬
(Distributed Systems)
‫مزایا‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫تسریع محاسبات‬
‫اشتراک منابع‬
‫استفاده از بانکهای اطالعاتی حجیم‬
‫قابلیت اعتماد با کپ ی چندگانه اطالعات‬
‫ارتباطات مثل پست الک ترونیکی و ‪...‬‬
‫معایب‬
‫• اعتماد پایین تر بدلیل نویز و خطای شبکه‪.‬‬
‫• خرابی یک سیستم باعث مختل کل سیستم‬
‫– البته با کپ ی چندگانه امنیت افزایش می یابد‬
‫سیستمهای توزیع شده‬
(Distributed Systems)
‫سیستمهای چند پردازنده ای‬
‫)‪(Multiprocessor‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سیستمهای ی که چند ‪ CPU‬دارند‪.‬‬
‫نیاز به سیستم عامل مخصوص دارد‪.‬‬
‫برای اجرای چند نخ روی چند ‪.CPU‬‬
‫‪ CPU‬ها میتوانند بطور اشتراکی از حافظه‪ ،Bus ،‬امکانات ورودی و خروجی‬
‫استفاده کنند‪.‬‬
‫مزایا‬
‫• زیاد شدن توان عملیاتی (تعداد کار در واحد زمان)‬
‫• صرفه جوی ی در هزینه ها‬
‫• مقاومت در مقابل خطا‬
‫– خرابی یک ‪ CPU‬فقط باعث تنزل مطبوع )‪ (Graceful Degradation‬میگردد‬
‫سیستمهای چند پردازنده ای‬
(Symmetric Multi Processing= SMP) ‫• متقارن‬
(ASymmetric Multi Processing= ASMP) ‫• نامتقارن‬
‫سیستمهای چند پردازنده ای نا متقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫یک ‪ CPU‬برای سیستم عامل مابقی برای برنامه های کاربران‬
‫ساخت این سیستم عامل راحت و تقریبا شبیه سیستم عامل تک پردازنده میباشد‬
‫مناسب سخت افزار نامتقارن (مثال دو پردازنده که از تمام حافظه مشترکا استفاده نمیکنند)‬
‫غیر قابل حمل )‪ (non-portable‬بدلیل سخت افزارهای متفاوت‬
‫سیستمهای چند پردازنده ای متقارن‬
‫• سیستم عامل میتواند روی هر یک از ‪CPU‬های ازاد یا روی تمام انها همزمان اجرا شود‬
‫• مزایا نسبت به نا متقارن‪:‬‬
‫– باالنس بار سیستم (سیستم عامل یک پردازش سنگین است)‬
‫– در نامتقارن خرابی ‪ CPU‬سیستم عامل = خرابی سیستم‬
‫– قابل حمل‬
‫نک ته‬
‫•‬
‫سیستمهای توزیع از نوع ارتباط ضعیف و سیستمهای چند پردازنده از نوع ارتباط قوی میباشند‬
‫اجزای سیستم عامل‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫مفسر فرمان‬
‫مدیریت پردازش‬
‫مدیریت حافظه (اصلی و جانبی)‬
‫مدیریت فایل‬
‫مدیریت ‪I/O‬‬
‫سایر وضایف‬
‫–‬
‫–‬
‫–‬
‫–‬
‫تشخیص خطا‬
‫حسابرسی‬
‫مدیریت کاربران‬
‫‪...‬‬
(Command Interpreter) ‫مفسر فرمان‬
‫مدیریت‬
‫پردازش (کاربر و سیستم)‬
‫•‬
‫• حذف‬
‫• زمانبندی‬
‫• مدیریت همزمانی و جلوگیری از بن بست‬
‫ایجاد (از روی برنامه‪ -‬در واقع پردازش برنامه در حال اجراست)‬
‫مدیریت‬
‫حافظه (اصلی و جانبی)‬
‫برنامه برای پردازش باید به حافظه اصلی منتقل شود‬
‫• تخصیص حافظه به برنامه‬
‫– و اینکه در سیستم چند برنامه ای هر بخش از حافظه به کدام پروسه تخصیص یابد‬
‫• بازپس گیری‬
‫• محافظت از تداخل فرایندها‬
‫• مدیریت حافظه مجازی (تخصیص ‪ -‬بازپس گیری ‪ -‬محافظت )‬
‫مدیریت فایل‬
‫دید منطقی یکسان از اطالعات ذخیره شده بر روی حافظه های کمکی فایل نام دارد‪ .‬بدین ترتیب ذخیره سازی‬
‫فیزیکی از دید کاربر پنهان میشود‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫ایجاد و حذف فایلها‬
‫ایجاد و حذف پوشه ها‬
‫کپ ی و انتقال‬
‫تغییرات روی فایلها و پوشه ها‬
‫مدیریت قرار گیری روی رسانه‬
‫مدیریت دسترسی های مختلف به فایلهای مشترک‬
‫مدیریت ‪I/O‬‬
‫سیستم عامل جزئیات برخورد با این وسائل را از دید کاربر پنهان میکند‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫مدیریت بافرها‬
‫اسپولینگ‬
‫اجرای درایورهای وسائل مختلف ‪I/O‬‬
‫جلوگیری از تداخل وسائل مختلف ‪I/O‬‬
‫جلوگیری از بن بست‬
‫تخصیص وسائل مختلف ‪ I/O‬به پردازشها‬
‫سیستم عاملها از نظر ساختاری‬
‫•‬
‫•‬
‫•‬
‫•‬
‫یکپارچه‬
‫الیه ای‬
‫ماشین مجازی )‪(VM‬‬
‫مشتری – خدمتگذار )‪(Client-Server‬‬
‫مطلب اخر‬
‫زبان برنامه نویسی‬
‫• اسمبلی ‪ :‬سیستم عاملهای اولیه (مثل ‪)DOS‬‬
‫• ‪ C‬یا ‪ : C++‬اک ثر سیستم عاملهای امروزی (مثل ‪،UNIX ،Windows‬‬
‫‪ OS/2‬و ‪)...‬‬
‫مزیت زبان سطح باال در طراحی سیستم عامل‬
‫• قابلیت حمل‬
‫• سادگی پیاده سازی‬
‫• تغییر و بسط بهتر‬
‫مگر نه اینکه اسمبلی برنامه های ی کم حجمتر و سریعتر ایجاد میکند‪ .‬پس‬
‫چرا‪...‬‬