اسلاید دوم

Download Report

Transcript اسلاید دوم

‫سیستمهاي عامل‬
Operating Systems
‫ويليام استالينگز‬
Http://www.h-sabbagh.ir
Email:[email protected]
‫دانشگاه پیام نور مركز بیرجند‬
‫فصل دوم‪:‬‬
‫نگاهی کلی به‬
‫سیستم عامل‬
‫مباحث این فصل‪:‬‬
‫‪ ‬اهداف و وظایف سیستم عامل‬
‫‪ ‬سیستم عامل به عنوان رابط بین کاربر و کامپیوتر‬
‫‪ ‬سیستم عامل به عنوان مدیر منابع‬
‫‪ ‬سهولت تکامل تدریجی سیستم عامل ها‬
‫‪ ‬تکامل تدریجی سیستم عامل ها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫پردازش ردیفی‬
‫سیستم عامل های دسته ای ساده‬
‫سیستمهای چند برنامه ای دسته ای‬
‫سیستم های اشتراک زمانی‬
‫‪ ‬دستاوردهای اصلی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرایندها‬
‫مدیریت حافظه‬
‫حفاظت و ایمنی اطالعات‬
‫زمانبندی و مدیریت منابع‬
‫ساختار سیستم‬
‫سیستم عامل چیست؟‬
‫‪ ‬سیستم عامل یک برنامه است که اجرای برنامه های کاربردی را کنترل میکند ‪.‬‬
‫‪ ‬سیستم عامل بصورت یک رابط میان سخت افزار و کاربر عمل میکند‪.‬‬
‫‪ 3 ‬هدف سیستم عامل‪:‬‬
‫‪ ‬سهولت‪ OS :‬استفاده از کامپیوتر را اسان میکند‪.‬‬
‫‪ ‬کارامدی‪ OS :‬موجب استفاده کارامد تر از منابع سیستم میشود‪.‬‬
‫‪ ‬قابلیت رشد‪ OS :‬باید به گونه ای باشد که قابلیت رشد داشته باشد و بايد طوري ساخته شود كه‬
‫توسعه موثر ان‪ ،‬امتحان‪ ،‬و معرفي وظايف جديد بدون تداخل با سرويس هاي فعلي امكان پذير‬
‫باشد‪.‬‬
‫سیستم عامل ‪ :‬رابط بین کاربر و کامپیوتر‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫کاربر نهای ی با سخت افزار سروکار ندارد‪.‬‬
‫یک کاربرد توسط برنامه ساز با استفاده از یک زبان برنامه سازی ایجاد میشود‪.‬‬
‫برنامه های سودمند برنامه های ی هستند که به دفعات استفاده میشوند‪ .‬و به ایجاد برنامه‪ ،‬مدیریت پرونده‬
‫ها و کنترل ‪ I/O‬کمک می کنند‪.‬‬
‫مهمترین برنامه سیستمی سیستم عامل است‪ ،‬که به صورت میانجی بین سخت افزار و برنامه ساز است‪.‬‬
‫الیه ها و منظرهای یک سیستم کامپیوتری‪:‬‬
‫خدمات سیستم عامل‪:‬‬
‫‪‬‬
‫توسعه برنامه ‪:‬برنامه های سودمندی مثل ویراستار‪ ،‬اشکال زدا که از طریق ‪ OS‬قابل دسترسند و ابزار تولید‬
‫برنامه های کاربردی هستند‪.‬‬
‫اجرای برنامه ‪OS :‬تمام مراحل اجرا (بارکردن داده ها و دستورات در حافظه‪ ،‬مقدار گذاری ‪ I/O‬و تهیه‬
‫سایر منابع) را زمان بندی میکند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫دسترسی به ‪ : I/O‬فراهم کردن واسطی یکنواخت برای تمام دستگاه های ‪I/O‬‬
‫کنترل دسترسی به پرونده ها ‪ :‬راهکارهای حفاظتی برای دسترسی به سیستم پرونده ها‬
‫دسترسی به سیستم ‪:‬در سیستم اشتراکی‪ OS ،‬دسترسی به منابع را کنترل میکند‪.‬‬
‫کشف و پاسخ خطا ‪ :‬عکس العمل مناسب در برابر خطاهای حین اجرا‬
‫حسابداری‪ :‬جمع اوری امار استفاده از منابع‬
‫‪‬‬
‫سیستم عامل به عنوان مدیر منابع‪:‬‬
‫‪ ‬کامپیوتر مجموعه ای از منابع برای انتقال‪ ،‬ذخیره سازی‪ ،‬و پردازش داده هاست‪.‬‬
‫‪ ‬سیستم عامل مسئول مدیریت منابع است‪.‬‬
‫‪ ‬سیستم عامل مانند سایر نرم افزارهاست‬
‫‪ ‬یک برنامه و یا مجموعه ای از برنامه هاست و مانند سایر نرم افزار ها اجرا میشود‪.‬‬
‫‪ ‬سیستم عامل کنترل را به پردازنده واگذار می کند‪.‬‬
‫سیستم عامل به عنوان مدیر منابع‪:‬‬
‫هسته‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بخشی از سیستم عامل که در حافظه اصلی قرار دارد‪.‬‬
‫هسته سیستم عامل بیشترین تعداد دفعات استفاده را دارد‪.‬‬
‫تخصیص حافظه مشترکا توسط سیستم عامل و سخت افزار مدیریت حافظه در پردازنده کنترل‬
‫می شود‪.‬‬
‫سیستم عامل در مورد زمان استفاده از ‪ I/O‬تصمیم می گیرد‪.‬‬
‫سیستم عامل میزان تخصیص پردازنده به یک کار را مشخص می کند‪.‬‬
‫دالیل تغییر سیستم عامل در طول زمان‪:‬‬
‫‪‬‬
‫یک سیستم عامل ممکن است به دالیل زیر در طول زمان تغییر کند‪:‬‬
‫‪ ‬ارتقاء و انواع جدید سخت افزار‪ :‬به عنوان مثال‪ ،‬نسخه هاي اوليه سيستم عامل‬
‫‪‬‬
‫‪‬‬
‫يونيكس و ‪ IBM OS/2‬از راهكار صفحه بندي استفاده نكردند‪ ،‬زيرا بر روي‬
‫ماشين هاي ي اجرا مي شدند كه فاقد سخت افزار صفحه بندي بودند‪.‬‬
‫ارائه خدمات جدید‪ :‬در پاسخ به تقاضاي كاربران يا مديران سيستم‪ ،‬سيستم عامل‬
‫تكامل مي يابد تا سرويس هاي جديدي را ارائه كند‪.‬‬
‫رفع خطاهای کشف شده در سیستم عامل‪ :‬سيستم عامل خطاهاي ي دارد كه در‬
‫طول زمان كشف مي شوند و بايد برطرف گردند‪ .‬البته‪،‬برطرف كردن خطا ممكن‬
‫است خطاهاي جديدي را وارد سيستم كند‪.‬‬
‫تکامل تدریجی سیستم عامل (پردازش ردیفی) ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در اولین کامپیوترها سیستم عاملی وجود نداشت‪.‬‬
‫برنامه ها به زبان ماشین بر روی کارت نوشته می شد و به دستگاه ورودی (نوار خوان) بار می شد‪.‬‬
‫در صورت ایجاد خطا(توسط چراغها بیان می شد) کاربر ثبات ها و حافظه اصلی را بررسی می کرد‪.‬‬
‫دومساله اصلی ‪:‬‬
‫زمانبندی ‪ :‬هر کاربر باید از برگه های نوبت گیری استفاده کند ( ا‬
‫معموال نیم ساعته)‪ .‬در صورت کامل نشدن‬
‫در موقع مقرر برنامه خاتمه می یافت تا ا‬
‫بعدا دوباره از ابتدا اجرا شود و در صورت اینکه زودتر تمام میشد‬
‫کامپیوتر معطل میماند‪.‬‬
‫زمان نصب ‪ :‬هر برنامه شامل بار کردن مترجم‪ ،‬کد منبع به حافظه‪ ،‬ذخیره سازی برنامه ترجمه شده بود‪.‬‬
‫هر یک از این کارها متضمن قرار داشتن اطالعات بر روی نوار ورودی بود‪ .‬در صورت بروز خطا کاربر کار را‬
‫از اول شروع میکرد‪.‬‬
‫تکامل تدریجی سیستم عامل‪(:‬پردازش دسته ای)‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ماشین های اولیه بسیار گران بودند و بنابراین حداک ثر استفاده از ماشین مهم بود‬
‫از برنامه ای به نام ناظر استفاده میشود‪.‬‬
‫کاربر دسترسی مستقیم به ماشین ندارد‪ .‬کاربر برنامه را بر روی کارت به متصدی میداد و متصدی‬
‫کارتها را به طور ردیفی در دستگاه نوار خوان قرار میداد تا مورد استفاده ناظر قرار بگیرد و ناظر‬
‫به طور خودکار برنامه بعدی را بارگذاری میکرد‪.‬‬
‫چون ناظر اک ثر عملیات را انجام میدهد بخش اعظمی از ان در حافظه است که به ان ناظر‬
‫ماندگار می گویند‪.‬‬
‫پردازنده در یک زمان در حال پردازش ناظر مقیم است‪ ،‬ناظر کارها را یکی یکی از دستگاه‬
‫ورودی می خواند‪ .‬با خوانده شدن کار کنترل به برنامه کاربر منتقل میشود و پس از خاتمه‬
‫برنامه‪ ،‬کنترل دوباره به ناظر بر میگردد تا کار بعدی را به حافظه بخواند‪.‬‬
‫وضعیت حافظه برای ناظر ماندگار‪:‬‬
‫ویژگی های مطلوب سخت افزاری در سیستم پردازش دسته ای‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫حفاظت از حافظه اصلی ‪ :‬در صورت اجرای برنامه کاربر‪ ،‬ناظر ماندگار نباید در‬
‫حافظه تغییر کند‪ ،‬در صورت چنین تالشی پردازنده باید خطا را کشف و کنترل را به‬
‫ناظر برگرداند‪ .‬سپس ناظر باید ان کار را قطع و کار بعدی را به داخل حافظه بار‬
‫نماید‪.‬‬
‫زمان سنج‪ :‬سیستم نباید در انحصار اجرای یک برنامه باشد‪ ،‬با زمان سنج می توان‬
‫کارها را زمانبندی کرد‪.‬‬
‫دستورالعمل های ممتاز‪ :‬دستورالعمل های ی که تنها توسط ناظر اجرا می شوند(مثل‬
‫‪)I/O‬‬
‫وقفه ها‪ :‬این خصوصیت به سیستم عامل انعطاف بیشتری میدهد‪.‬‬
‫حافظت از حافظه‪:‬‬
‫‪ ‬برنامه های کاربر در حالت کاربر اجرا می شوند‪.‬‬
‫‪ ‬بعضی دستورالعمل ها نمی توانند اجرا شوند‪.‬‬
‫‪ ‬ناظر در حالت سیستم اجرا می شود‪.‬‬
‫‪ ‬به حالت سیستم حالت هسته یا ممتاز نیز گ فته می شود‪.‬‬
‫‪ ‬دستورالعملهای ممتاز در حالت ممتاز اجرا می شوند‪.‬‬
‫‪ ‬قسمت های محافظت شده از حافظه ممکن است در این حالت در دسترس باشند‬
‫سیستم عامل چند برنامه ای دسته ای ‪:‬‬
‫‪ ‬با پردازش دسته ای هم به علت اینکه اک ثر برنامه به اجرای دستورالعمل های ‪I/O‬‬
‫مربوط می شود‪ ،‬و عدم تطابق سرعت ‪ I/O‬و ‪ ،CPU‬باز هم پردازنده اک ثر وقت خود‬
‫را بیکار است‪ .‬اگر ناحیه کاربر چندین برنامه در حال اجرا را در خود داشته باشد میتوان‬
‫در حین اجرای عمل ‪ I/O‬برای یک برنامه ‪ ،‬سیستم عامل برنامه دیگر را اجرا کند‪.‬‬
‫‪ ‬نک ته ‪ :‬چون سیستم عامل چند برنامه ای نیاز به مدیریت حافظه و همچنین الگوریتم‬
‫های زمانبندی دارد از سیستم عامل تک برنامه ای پیچیده تر است ‪.‬‬
‫شكل ‪ 2_4‬مثالي از بهره وري سيستم‪.‬‬
‫شكل ‪ 2_5‬مثالي از چندبرنامه اي‪.‬‬
‫جدول ‪ 2_1‬صفات اجراي برنامه‪.‬‬
‫صفت‬
‫‪JOB1‬‬
‫‪JOB2‬‬
‫‪JOB3‬‬
‫نوع كار‬
‫مدت‬
‫حافظه موردنياز‬
‫نياز به ديسك دارد؟‬
‫نياز به پايانه دارد؟‬
‫محاسبات زياد‬
‫‪ 5‬دقيقه‬
‫‪50 K‬‬
‫ندارد‬
‫ندارد‬
‫ندارد‬
‫‪ I/O‬زياد‬
‫‪ 15‬دقيقه‬
‫‪100 M‬‬
‫ندارد‬
‫دارد‬
‫ندارد‬
‫‪ I/O‬زياد‬
‫‪ 10‬دقيقه‬
‫‪75 M‬‬
‫دارد‬
‫ندارد‬
‫دارد‬
‫نياز به چاپگر دارد؟‬
‫جدول ‪ 2_2‬صفات اجراي برنامه‪.‬‬
‫موضوع‬
‫تك برنامه اي‬
‫چندبرنامه اي‬
‫استفاده از پردازنده‬
‫استفاده از حافظه‬
‫استفاده از ديسك‬
‫استفاده از چابگر‬
‫زمان مصرفي‬
‫نرخ توان عملياتي‬
‫ميانگين زمان پاسخ‬
‫‪%20‬‬
‫‪%33‬‬
‫‪%33‬‬
‫‪%33‬‬
‫‪ 30‬دقيقه‬
‫‪6‬كار در ساعت‬
‫‪ 18‬دقيقه‬
‫‪%40‬‬
‫‪%67‬‬
‫‪%67‬‬
‫‪%67‬‬
‫‪ 15‬دقيقه‬
‫‪12‬كار در ساعت‬
‫‪ 10‬دقيقه‬
‫شكل ‪ 2_6‬نمودارهاي بهره وري‪.‬‬
‫فرض كنيد هر سه كار همزمان در يك سيستم عامل چندبرنامه اي اجرا مي شوند‪ .‬چون رقابت كارها‬
‫براي منابع اندك است‪ ،‬هر سه كار در حداقل زمان اجرا مي شوند (با فرض اين كه زمان كافي‬
‫پردازنده در اختيار ‪JOB2‬و ‪ JOB3‬قرار مي گيرد تا اعمال ورودي و خروجي خود را فعال نگه‬
‫دارند)‪.‬كامل شدن ‪ JOB1‬به مدت ‪ 5‬دقيقه طول مي كشد‪ .‬در اين مدت‪ ،‬يك سوم از ‪ JOB2‬و‬
‫نصف ‪ JOB3‬اجرا مي شود‪.‬تمام كارها در مدت ‪15‬دقيقه اجرا مي شوند‪ .‬اين بهبود با مطالعه ستون‬
‫چند برنامه اي در جدول ‪ 2_2‬مشخص مي شود‪ .‬اين مقادير از شكل ‪( 2_6‬ب) به دست مي ايند‪.‬‬
‫سیستم عامل اشتراک زمانی‪:‬‬
‫‪ ‬در بعضی مواقع مثل پردازش تراکنش حالت محاوره ای ضروری است‪ .‬لذا سیستم های اشتراک‬
‫زمانی بوجود امدند‪.‬‬
‫‪ ‬چند برنامگی امکان رسیدگی به کار های محاوره ای را میدهد‪ .‬وقت پردازنده بین کارها تقسیم‬
‫میشود‪ .‬در این روش در صورت وجود ‪ n‬کاربر به هر یک از کاربران‪ 1/n‬وقت پردازنده‬
‫میرسد ‪.‬‬
‫جدول ‪ 2_3‬مقايسه چندبرنامه اي دسته اي و اشتراك زماني‪.‬‬
‫موضوع‬
‫چندبرنامه اي دسته اي‬
‫اشتراك زماني‬
‫هدف اصلي‬
‫حداكثر استفاده از پردازنده‬
‫حداقل زمان پاسخ‬
‫منبع دستوردهنده به‬
‫سيستم عامل‬
‫دستورالعملهاي زبان كنترل‬
‫كار كه همراه كار وجود دارد‬
‫فرمان هايي كه از طريق‬
‫پايانه وارد مي شوند‬
‫مقایسه چند برنامه ای و اشتراک زمانی‪:‬‬
‫‪‬‬
‫هدف‬
‫‪ ‬از چند برنامه ای دسته ای ‪ :‬استفاده حداک ثر از پردازنده‬
‫‪ ‬از اشتراک زمانی ‪ :‬حداقل زمان پاسخ‬
‫‪‬‬
‫منبع دستورات به سیستم عامل‬
‫‪ ‬در چند برنامه ای‪ :‬دستورات زبان کنترل کار‬
‫‪ ‬در اشتراک زمانی ‪ :‬فرمان های ی که از پایانه وارد می شوند‪.‬‬
‫)‪CTSS(Compatible Time Sharing System‬‬
‫‪ ‬این سیستم روی ماشینی با ‪ 32000‬کلمه حافظه ‪ 32‬بیتی اجرا می شد‪ 5000 .‬کلمه برای ناظر ماندگار و‬
‫‪ 27000‬کلمه برای برنامه کاربر و داده هایش‬
‫‪ ‬یک برنامه همیشه طوری بار می شود که از ادرس ‪ 5000‬شروع شود بنابراین کار ناظر و هم مدیریت‬
‫حافظه اسان تر می شد‪.‬‬
‫‪ ‬در این سیستم در هر ‪ 0/2‬ثانیه وقفه ای صادر می شد که موجب می شد پردازنده کنترل را به کار دیگری‬
‫بدهد‪.‬‬
‫‪ ‬برای حفظ وضعیت کاربر قبلی ابتدا برنامه ها و وضعیتش روی دیسک ذخیره می شد‪.‬‬
‫مثالی برای درک عملکرد ‪: CTSS‬‬
‫‪ ‬مثال‪:‬اگر تعداد کلمات مورد نیاز هر کار بصورت زیر باشد نحوه انجام عملیات به صورت زیر‬
‫است‪.‬‬
‫‪Job1: 15000 ‬‬
‫‪Job3: 5000 ‬‬
‫‪Job2: 20000‬‬
‫‪Job4: 10000‬‬
‫‪ ‬ترتیب انجام کار ها ‪:‬‬
‫‪‬‬
‫‪Job1Job2Job3Job1Job4Job2‬‬
‫مثالی برای درک عملکرد ‪: CTSS‬‬
‫‪ 5000 ‬کلمه اول را ناظر اشغال میکند و‬
‫از محل ‪ Job1 5000‬بار میشود‪.‬‬
‫ناظر‬
‫‪JOB1‬‬
‫‪FREE‬‬
‫‪FREE‬‬
‫مثالی برای درک عکلکرد ‪: CTSS‬‬
‫‪ ‬چون ‪ Job2‬از ‪Job1‬بزرگ تراست‪،‬‬
‫کل ‪ Job1‬بر روی دیسک ذخیره میشود‬
‫و ‪ Job2‬بار میشود‪.‬‬
‫ناظر‬
‫‪JOB2‬‬
‫‪JOB1‬‬
‫‪FREE‬‬
‫‪FREE‬‬
‫مثالی برای درک عملکرد ‪: CTSS‬‬
‫‪ ‬چون ‪ Job3‬از ‪ Job2‬کوچک تر است مقداری از‬
‫‪ Job2‬بر روی دیسک ذخیره میشود و‬
‫‪ Job3‬از محل ‪5000‬بار میشود‪.‬‬
‫ناظر‬
‫‪JOB3‬‬
‫‪( JOB2‬‬
‫)‬
‫‪FREE‬‬
‫‪FREE‬‬
‫مثالی برای درک عملکرد ‪: CTSS‬‬
‫‪ Job1 ‬بزرگ تر از ‪ Job3‬و کوچک تر از ‪Job2‬‬
‫است‪ ،‬کل ‪ Job2‬و مقداری از ‪ Job2‬روی‬
‫دیسک ذخیره میشود و ‪ Job1‬از‬
‫محل ‪ 5000‬بار میشود‪.‬‬
‫ناظر‬
‫‪JOB3‬‬
‫‪JOB1‬‬
‫‪FREE‬‬
‫)‪(JOB2‬‬
‫‪FREE‬‬
‫)‪(JOB2‬‬
‫‪FREE‬‬
‫مثالی برای درک عملکرد ‪: CTSS‬‬
‫‪ ‬چون ‪ Job4‬کوچک تر از ‪ ،Job1‬مقداری از‬
‫‪ Job1‬روی دیسک ذخیره میشود و کل ‪Job4‬‬
‫از محل ‪ 5000‬به بعد بار می شود‬
‫ناظر‬
‫‪JOB4‬‬
‫‪JOB1‬‬
‫)‪(JOB2‬‬
‫)‪(JOB1‬‬
‫‪FREE‬‬
‫)‪(JOB2‬‬
‫‪FREE‬‬
‫مثالی برای درک عملکرد ‪: CTSS‬‬
‫‪ ‬در این مرحله کل ‪ Job4‬و بخشی از ‪Job1‬‬
‫که در حافظه قرار دارد بر روی دیسک‬
‫نوشته میشود و کل ‪ Job2‬بار میشود‪.‬‬
‫ناظر‬
‫‪JOB2‬‬
‫‪JOB4‬‬
‫‪JOB1‬‬
‫)‪(JOB2‬‬
‫)‪(JOB1‬‬
‫‪FREE‬‬
‫)‪(JOB2‬‬
‫‪FREE‬‬
‫دستاوردهای اصلی توسعه و ایجاد سیستم عامل‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرایند ها‬
‫مدیریت حافظه‬
‫حفاظت ایمنی و اطالعات‬
‫زمانبندی و مدیریت منابع‬
‫ساختار سیستم‬
‫تعاریف فرایند‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫واژه فرایند عمومی تر از واژه کار است‪ ،‬تعریف یک برنامه در حال اجرا‬
‫یک رویداد از یک برنامه که که روی کامپیوتر اجرا میشود‪.‬‬
‫هر موجودیت که به پردازنده نسبت داده شود و روی ان اجرا شود‪.‬‬
‫واحدی از فعالیت که بوسیله دنباله ای از اجرا‪ ،‬حالت موجود و مجموعه ای از منابع سیستم که به ان‬
‫مربوط شده است مشخص میگردد‪.‬‬
‫مفهوم فرايند‪ ،‬زيربناي ي است‪ .‬فرايند از سه مولفه تشكيل شده است‪:‬‬
‫• برنامه اجراي ي‪.‬‬
‫• داده هاي موردنياز برنامه (متغيرها‪ ،‬فضاي كاري‪ ،‬ميانگيرها و غيره)‪.‬‬
‫• بستر اجراي برنامه‪.‬‬
‫مولفه سوم اساسي است‪.‬بستر اجرا ياحالت فرايند شامل اطالعاتي است كه سيستم عامل براي مديريت بر فرايند و‬
‫پردازنده براي اجراي صحيح فرايند نياز دارد‪.‬‬
‫محورهای اصلی در ایجاد و توسعه سیستم کامپیوتری‪:‬‬
‫‪ ‬چند برنامگی ‪ :‬هدف ‪ :‬مشغول نگه داشتن همزمان پردازنده و ‪ I/O‬برای کارای ی بیشتر‬
‫(ابزار اصلی = وقفه)‬
‫‪ ‬اشتراک زمانی ‪ :‬سیستم اماده واکنش به نیاز های هر یک از کاربران‬
‫‪ ‬سیستم های تراکنش بالدرنگ ‪ :‬کاربران در حال وارد کردن تغییرات خود در یک بانک‬
‫اطالعاتی هستند‪.‬‬
‫‪ ‬هدف اشتراک زمانی و سیستم تراکنش بالدرنگ ‪ :‬حداقل زمان پاسخ گوی ی‬
‫‪ ‬تفاوت اشتراک زمانی و سیستم تراکنش بالدرنگ ‪ :‬سیستم تراکنش بالدرنگ محدود به دو یا سه‬
‫کاربرد ولی اشتراک زمانی کاربرد های مختلف دارد‪.‬‬
‫خطاهای یک سیستم اشتراک زمانی و چند برنامه ای ‪:‬‬
‫‪‬‬
‫همگام سازی نامناسب ‪ :‬اغلب یک روال منتظر رسیدن عالمتی از طرف روال دیگر است‪ .‬طراحی‬
‫نامناسب راهکار عالمت دهی میتواند موجب از دست رفتن عالمت ها شود‪.‬‬
‫‪‬‬
‫شکست در انحصار متقابل‪ :‬در هر زمان تنها یک فرایند به یک منبع دسترسی داشته باشد‪ ،‬در غیر‬
‫این صورت موجب بروز خطا خواهد شد‪.‬‬
‫‪‬‬
‫عملکرد غیر قطعی برنامه‪ :‬به دلیل دسترسی برنامه های مختلف به حافظه ممکن است برنامه در‬
‫نتیجه یکدیگر اثر بگذارند‪.‬‬
‫‪‬‬
‫بن بست ها‪ :‬ممکن ‪ 2‬یا چند برنامه بخاطر یکدیگر معطل باشند‪ .‬ا‬
‫مثال دو برنامه هر کدام یک منبع‬
‫را کنترل کند که دیگری به ان نیاز دارد‪.‬‬
‫اجزاء فرایند‪:‬‬
‫‪ ‬هر فرایند ‪ 3‬جزء دارد‪:‬‬
‫‪ ‬یک برنامه قابل اجرا‬
‫‪ ‬داده های مورد نیاز فرایند‪.‬‬
‫‪ ‬متن یا وضعیت اجرای برنامه ‪ :‬این جزء از همه مهمتر است‪ ،‬و پردازنده‬
‫برای اجرای مجدد برنامه و مدیریت فرایند به ان نیاز دارد‪.‬‬
‫پیاده سازی متداول فرایند‪:‬‬
‫‪ ‬در حافظه اصلی یک بلوک از حافظه برای نگهداری برنامه و داده ها و متن برنامه تخصیص داده‬
‫میشود‪.‬‬
‫‪ ‬هر فرایند در فهرست فرایند ها که توسط سیستم عامل ایجاد و نگهداری میشود ثبت شده است‪.‬‬
‫‪ ‬در فهرست برای هر فرایند یک مدخل (شامل اشاره گری به بلوک فرایند در حافظه) وجود دارد‪.‬‬
‫‪ ‬ثبات شاخص فرایند‪ ،‬حاوی شاخص عنصری از فهرست است که اکنون پردازنده را کنترل می کند‪.‬‬
‫پیاده سازی متداول فرایند‪:‬‬
‫‪ PC ‬یا شمارنده برنامه به دستورالعمل بعدی اشاره میکند‪.‬‬
‫‪ 2 ‬ثبات پایه و حد ناحیه ای از حافظه که توسط فرایند اشغال شده را‬
‫مشخص می کنند‪.‬‬
‫‪ ‬امکان دارد بروز وقفه حین اجرای فرایند ‪ B‬موجب توقف ‪ B‬و اجرای ‪A‬‬
‫شود‪.‬‬
‫پیاده سازی متداول فرایند‪:‬‬
‫سیستم عامل و مدیریت حافظه ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫جداسازی فرایند ها ‪ OS :‬باید از مداخله فرایند ها در داده های یکدیگر جلوگیری کند‪.‬‬
‫تخصیص و مدیریت خودکار‪ :‬در صورت نیاز باید به طور پویا به برنامه جا اختصاص‬
‫داده شود‪.‬‬
‫حمایت از برنامه سازی مؤلفه ای ‪ :‬برنامه نویس باید قادر به ایجاد حذف و تغییر‬
‫اندازه مؤلفه ها باشد‪.‬‬
‫حفاظت و کنترل دسترسی‪ OS :‬باید اشتراک فرایند ها به داده ها و حافظه را کنترل‬
‫کند‪.‬‬
‫حافظه دراز مدت ‪ :‬برای نگهداری داده ها و فرایند ها به مدت طوالنی نیاز به حافظه‬
‫دراز مدت است‪.‬‬
‫حافظه مجازی‪:‬‬
‫‪ ‬حافظه مجازی‪ :‬اجازه میدهد برنامه ها حافظه را از نقطه نظر منطقی و بدون توجه به اندازه‬
‫فیزیکی حافظه ادرس دهی کنند‪.‬‬
‫‪ ‬در سیستم پرونده و حافظه مجازی‪ ،‬اطالعات میتوانند برای مدت طوالنی ذخیره شوند‪.‬‬
‫اطالعات در اشیائی به نام پرونده ذخیره میشوند‪.‬‬
‫صفحه بندی‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هر فرایند دارای تعدادی بلوک با طول ثابت به نام صفحه میباشد‪.‬‬
‫ادرس مجازی شامل شماره صفحه و یک انحراف در صفحه است‪.‬‬
‫هر صفحه ممکن است در هر جای حافظه اصلی قرار بگیرد‪.‬‬
‫سیستم صفحه بندی یک نگاشت پویا بین ادرس مجازی و ادرس فیزیکی در حافظه اصلی بوجود‬
‫می اورد‪.‬‬
:‫حافظه مجازی‬
Secondary memory (disk) can
hold many fixed-length pages. A
User program consists of some
Number of pages. Pages for all
Program plus the operating system
Are on disk, as are files
:‫حافظه مجازی‬
Main memory consists of a
Number of fixed-length frames,
Each equal to the size of a page.
For a program to execute, some
Or all of it’s pages must be in main memory
‫ادرس دهی حافظه مجازی‪:‬‬
‫حفاظت و اطالعات ایمنی‪:‬‬
‫‪ ‬با رشد سیستم های اشتراک زمانی و شبکه نیاز به حفاظت اطالعات بیشتر شد‪ .‬بخش اعظم این‬
‫کار توسط سیستم عامل انجام میشود‪ .‬و به ‪ 3‬گروه زیر تقسیم میشود‪.‬‬
‫‪ ‬کنترل دسترسی ‪ :‬تنظیم کنترل دسترسی کاربران به داده ها و منابع‬
‫‪ ‬کنترل جریان اطالعات ‪ :‬تنظیم جریان داده ها در داخل سیستم و تحویل‬
‫ان به کاربر‬
‫‪ ‬گواهی‪ :‬اثبات اینکه مراحل باال به درستی انجام شده‪.‬‬
‫زمانبندی و مدیریت منابع‪:‬‬
‫‪ ‬یکی از وظایف سیستم عامل مدیریت منابع و زمانبندی استفاده از انها توسط‬
‫فرایندهاست‪.‬‬
‫‪ ‬سیاست تخصیص منابع به فرایند ها باید ‪ 3‬شرط زیر را براورده سازد‪:‬‬
‫‪ ‬انصاف‪ :‬همه فرایندهای خواستار یک منبع باید حق دستیابی یکسان داشته باشند‪.‬‬
‫‪ ‬حساسیت در مقابل تفاوت ها ‪ :‬ممکن است نیاز باشد سیستم عامل بین کارهای با کالسهای‬
‫مختلف تقاوت بگذارد‪.‬‬
‫‪ ‬کارای ی‪ :‬باید به گونه باشد که توان عملیاتی حداک ثر‪ ،‬حداقل زمان پاسخ‪ ،‬و در مورد سیستم های‬
‫اشتراکی حداک ثر کاربران را حمایت کند‪.‬‬
‫اجزای اصلی سیستم عامل برای زمانبندی و تخصیص منابع‪:‬‬
‫‪ ‬صف کوتاه مدت‪ :‬شامل فرایند های ی که در حافظه اصلی قرار دارند و در انتظار توزیع وقت‬
‫پردازنده برای اجرا هستند‪.‬‬
‫‪ ‬صف دراز مدت‪ :‬فهرستی از کارهای جدید که برای اجرا ابتدا باید توسط پردازنده به صف کوتاه‬
‫مدت منتقل شوند‪.‬‬
‫‪ ‬صف دستگاه ‪: I/O‬فرایندهای ی که متقاضی استفاده از یک دستگاه ‪ I/O‬هستند در صف ان‬
‫دستگاه قرار میگیرند‪.‬‬
‫ساختار سیستم‪:‬‬
‫‪ ‬میتوان سیستم عامل را به صورت چند سطح در نظر گرفت که هر سطح زیر مجموعه ای از‬
‫اعمال را نشان میدهد‪ .‬سطوح پایین تر اعمال ابتدای ی تر را انجام میدهند‪.‬‬
‫‪ 4 ‬سطح اول مربوط به سخت افزار میشود و جزء سیستم عامل نیستند‪.‬‬
‫ساختار سیستم‪:‬‬
‫‪ ‬سطح ‪:1‬‬
‫‪ ‬مدارهای الک ترونیکی‬
‫‪ ‬ثبات ها‪ ،‬دروازه ها ‪ ،‬گذرگاه ها‬
‫‪ ‬عملیات‪ :‬پاک کردن‪ ،‬انتقال‪ ،‬فعال کردن‪ ،‬مکمل گیری‬
‫‪ ‬سطح‪: 2‬‬
‫‪ ‬مجموعه دستورالعملها‬
‫‪ ‬پشته ارزیابی‪ ،‬مفسر ریز برنامه داده های عددی و برداری‬
‫‪ ‬بار کردن‪ ،‬ذخیره کردن‪ ،‬جمع کردن‪ ،‬تفریق کردن‪ ،‬انشعاب‬
‫ساختار سیستم‪:‬‬
‫‪ ‬سطح‪: 3‬‬
‫‪ ‬رویه ها‬
‫‪ ‬رویه ها ‪ ،‬پشته فراخوانی‬
‫‪ ‬عالمت زدت پشته‪ ،‬فراخوانی ‪ ،‬بازگشت‬
‫‪ ‬سطح‪: 4‬‬
‫‪ ‬وقفه ها‬
‫‪ ‬برنامه گرداننده وقفه‬
‫‪ ‬احظار‪ ،‬نقاب زدن‪ ،‬رفع نقاب‪ ،‬تالش کردن‬
‫ساختار سیستم‪:‬‬
‫‪ ‬سطح‪: 5‬‬
‫‪ ‬فرایند های اولیه‬
‫‪ ‬فرایند های اولیه‪ ،‬راهنما ها‪ ،‬فهرست اولیه‬
‫‪ ‬فهرست اماده‬
‫‪ ‬سطح‪: 6‬‬
‫‪ ‬حافظه ثانویه محلی‬
‫‪ ‬بلوک های داده‪ ،‬کانال های دستگاه‬
‫‪ ‬خواندن‪ ،‬نوشتن‪ ،‬تخصیص‪ ،‬رها کردن‬
‫ساختار سیستم‪:‬‬
‫‪ ‬سطح ‪: 7‬‬
‫‪ ‬حافظه مجازی‬
‫‪ ‬قطعه ها ‪ ،‬صفحه ها‬
‫‪ ‬خواندن‪ ،‬نوشتن‪ ،‬واکشی‬
‫‪ ‬سطح ‪: 8‬‬
‫‪ ‬ارتباطات‬
‫‪ ‬لوله ها‬
‫‪ ‬ایجاد‪ ،‬تخریب‪ ،‬بازکردن‪ ،‬خواندن‪ ،‬نوشتن‪ ،‬بستن‬
‫ساختار سیستم‪:‬‬
‫‪ ‬سطح ‪: 9‬‬
‫‪ ‬سیستم پرونده ها‬
‫‪ ‬پرونده ها‬
‫‪ ‬ایجاد‪ ،‬تخریب‪ ،‬بازکردن‪ ،‬خواندن‪ ،‬نوشتن‪ ،‬بستن‬
‫‪ ‬سطح ‪: 10‬‬
‫‪ ‬دستگاه ها‬
‫‪ ‬دستگاه های خارجی مثل چاپگر‪ ،‬صفخات نمایش‪... ،‬‬
‫‪ ‬بازکردن‪ ،‬خواندن‪ ،‬نوشتن‪ ،‬بستن‬
‫ساختار سیستم‪:‬‬
‫‪ ‬سطح ‪: 11‬‬
‫‪ ‬فهرست راهنما ها‬
‫‪ ‬فهرست راهنما ها‬
‫‪ ‬ایجاد‪ ،‬تخریب‪ ،‬اتصال‪ ،‬انفصال‪ ،‬جستجو ‪ ،‬فهرست کردن‬
‫‪ ‬سطح ‪: 12‬‬
‫‪ ‬فرایند های کاربر‬
‫‪ ‬محیط برنامه نویسی کاربر‬
‫‪ ‬خروج‪ ،‬کشتن ‪ ،‬تعلیق‪ ،‬ازسرگیری‬
‫ساختار سيستم‪:‬‬
‫‪ ‬سطح ‪: 13‬‬
‫‪ ‬پوسته‬
‫‪ ‬محیط برنامه نویسی کاربر‬
‫‪ ‬دستورات به زبان پوسته‬
‫سیستم عامل های مدرن‪:‬‬
‫‪ ‬معماری ریزهسته‪:‬‬
‫‪ ‬در این معماری تنها تعداد کمی توابع ضروری در هسته قرار می گیرند‪.‬‬
‫‪ ‬این دستورالعمل ها عبارتند از‪:‬‬
‫‪ ‬زمان بندی پایه ای‬
‫‪ ‬دسترسی به فضای ادرس‬
‫‪ ‬ارتباط بین فرایند ها‬
‫سیستم عامل های مدرن‪:‬‬
‫‪ ‬چند نخی‬
‫‪ ‬در این فن فرایند ها به نخهای ی تبدیل میشوند که می توانند به طور همزمان اجرا شوند‪.‬‬
‫‪ ‬نخ یک واحد کاریست که میتواند وقت پردازنده را به خود اختصاص دهد‪.‬‬
‫‪ ‬فرایند عبارتست از مجموعه ای از یک یا چند نخ و منابع تخصیص داده شده‬
‫سیستم عامل های مدرن‪:‬‬
‫‪ ‬چند پردازشی متقارن‪:‬‬
‫‪ ‬در این روش چندین پردازنده مستقل وجود دارد‪.‬‬
‫‪ ‬پردازنده ها از امکانات حافظه اصلی و دستگاه های ورودی خروجی به صورت اشتراکی استفاده می‬
‫کنند‪.‬‬
‫‪ ‬هر پردازنده میتواند فرایندی مجزا را اجرا کند‪.‬‬
‫سیستم عامل های مدرن‪:‬‬
‫‪ ‬سیستم عامل توزیعی‬
‫‪ ‬تصور یک فضای حافظه اصلی واحد‪ ،‬یک فضای حافظه ثانویه واحد‪ ،‬و دیگر امکاناتی که دسترسی‬
‫به انها یکنواخت شده است را ارائه میدهد‪.‬‬
‫‪ ‬طراحی شیء گرا‬