تحقیق درباره سيستم هاي Multiprogramming

راهنمای سایت

سایت اقدام پژوهی -  گزارش تخصصی و فایل های مورد نیاز فرهنگیان

1 -با اطمینان خرید کنید ، پشتیبان سایت همیشه در خدمت شما می باشد .فایل ها بعد از خرید بصورت ورد و قابل ویرایش به دست شما خواهد رسید. پشتیبانی : بااسمس و واتساپ: 09159886819  -  صارمی

2- شما با هر کارت بانکی عضو شتاب (همه کارت های عضو شتاب ) و داشتن رمز دوم کارت خود و cvv2  و تاریخ انقاضاکارت ، می توانید بصورت آنلاین از سامانه پرداخت بانکی  (که کاملا مطمئن و محافظت شده می باشد ) خرید نمائید .

3 - درهنگام خرید اگر ایمیل ندارید ، در قسمت ایمیل ، ایمیل http://up.asemankafinet.ir/view/2488784/email.png  را بنویسید.

http://up.asemankafinet.ir/view/2518890/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86.jpghttp://up.asemankafinet.ir/view/2518891/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%20%D8%AE%D8%B1%DB%8C%D8%AF%20%DA%A9%D8%A7%D8%B1%D8%AA%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%AA.jpg

لیست گزارش تخصصی   لیست اقدام پژوهی     لیست کلیه طرح درس ها

پشتیبانی سایت

در صورت هر گونه مشکل در دریافت فایل بعد از خرید به شماره 09159886819 در شاد ، تلگرام و یا نرم افزار ایتا  پیام بدهید
آیدی ما در نرم افزار شاد : @asemankafinet

تحقیق درباره سيستم هاي چند برنامگي

بازديد: 969

 

سيستم هاي چند برنامگي Multiprogramming

در نسل سوم كامپيوترها (80-1965) از مدارات مجتمع (Integrated Circuit=IC) براي ساخت كامپيوترها استفاده شد. به طور كلي برنامه را مي توان به دو دسته تقسيم كرد: يكي برنامه ها با تنگناي محاسباتي (CPU bound يا CPU Limited) مانند محاسبات علمي سنگين كه بيشتر زمان كامپيوتر صرف محاسبات CPU مي شود و ديگري برنامه ها با تنگناي (I/O Limited) I/O مانند برنامه هاي تجاري كه بيشتر زمان كامپيوتر صرف ورود داده ها و خروج اطلاعات مي شود.

يك اشكال مهم سيستم هاي دسته اي اين است كه وقتي كار جاري براي تكميل عمليات I/O مثلاًٌ بر روي نوار گردان منتظر مي شود، در اين حال CPU بيكار مي ماند مجبور است صبر كند تا عمليات I/O به اتمام برسد. در برنامه هاي CPU Limited اين اتلاف وقت اندك است ولي در برنامه هاي I/OLimited ممكن است حدود 80 تا 90 درصد وقت CPU به هدر برود.

براي رفع اين مشكل از تكنيك multiprogramming استفاده مي شود. بدين ترتيب كه حافظه به چند قسمت تقسيم شده و در هر قسمت يك برنامه مجزا قرار داده مي شود. وقتي كه يك كار براي تكميل عمليات I/O منتظر مي ماند، پردازنده به كار ديگري داده مي شود. اگر تعداد كارهاي موجود در حافظه كافي باشد مي توان CPU را تقريباً صد درصد مشغول نگه داشت. البته نگهداري همزمان چند برنامه در حافظه نياز به مديريت خاص حافظه دارد تا برنامه ها بر همديگر اثر سوء نداشته باشند. لذا مديريت حافظه بحث مهمي در سيستم عالم مي باشد.

پس سيستم هاي چند برنامگي فقط يك پردازنده دارند و به كمك مكانيزم وقفه بين كارهاي I/OLimited , CPU-limited سوئيچ مي شود و به ظاهر اجراي اين برنامه ها به صورت موازي و همزمان صورت مي گيرد و بدين ترتيب بهره وري از سيستم افزايش مي يابد.

يك شيوه براي بالا بردن راندمان CPU آن است كه تعداد كار CPU – Limited را با I/OLimited مخلوط كنيم. ولي در عمل امكان تقسيم بندي كارها قبل از اجراء شدنشان وجود ندارد. از طرف ديگر برنامه اي ممكن است در ابتدا CPU – Limited باشد ولي در حين اجراء تبديل به I/OLimited گردد.

 

سيستم هاي اشتراك زماني Time –Sharing

اين سيستم ها از اويل سالهاي 1970 در نسل سوم كامپيوترها معمول شدند. سيستم اشتراك زماني در واقع تعميم سيستم چند برنامگي است.

در سيستم هاي چند برنامگي كاربر ارتباطي با كامپيوتر نداشت و خطايابي برنامه ها مشكل بود چرا كه زمان برگشت نسبتاً طولاني اجازه آزمايش كردن متعدد را نمي داد. در سيستم اشتراك زماني كاربر به كمك ترمينال (Terminal) كه شامل كي بورد (براي ورودي) و مونيتور (براي خروجي) است با كامپيوتر به صورت محاوره اي (interactive) رابطه برقرار مي سازد. كاربر مستقيماً دستوراتي را وارد كرده و پاسخ سريع آن را روي مونيتور دريافت مي كند. در اين سيستم ها چندين كاربر به كمك ترمينالهائي كه به كامپيوتر وصل است همزمان مي توانند از آن استفاده كنند. در سيستم اشتراك زماني فقط يك پردازنده وجود دارد كه توسط مكانيزمهاي زمانبندي بين برنامه هاي مختلف كابرها با سرعت زياد (مثلاً در حد ميلي ثانيه) سوئيچ مي شود و بنابراين هر كاربر تصور مي كند كل كامپيوتر در اختيار اوست. در اينجا تاكيد بر روي ميزان عملكرد كاربر است يعني هدف فراهم كردن وسايل مناسب براي توليد ساده نرم افزار و راحتي كاربر مي باشد و نه بالا بردن ميزان كاربرد منابع ماشين. كاربر مي تواند در هر زمان دلخواه برنامه خود را آغاز يا متوقف سازد و يا برنامه را به صورت قدم به قدم اجراء و اشكال زدائي (debug) كند. سيستم هاي دسته اي براي اجراي برنامه هاي بزرگ كه نياز محاوره اي كمي دارند مناسب است ولي سيستم هاي اشتراك زماني براي مواردي كه زمان پاسخ كوتاه لازم است، استفاده مي شوند. در زماني كه كاربري در حال تايپ برنامه اش يا فكر كردن روي خطاهاي برنامه اش مي باشد CPU به برنامه كاربر ديگري اختصاص يافته تا آن را اجراء كند.

در سيستم هاي محاوره اي دستورات به دو صورت پيش زمينه (foreground) و پس زمينه (Backgruond) اجرا مي شوند. در نوع پيش زمينه با وارد كردن، دستور تا هنگامي كه دستور اجرا و تمام نشود اعلان سيستم ظاهر نمي گردد ولي در نوع پس زمينه، پس از ورود دستور، بلافاصله اعلان سيستم ظاهر مي شود تا دستور بعدي وارد گردد ولي در همين حين دستور قبلي در پشت زمينه حال اجرا مي‌باشد.

در اين سيستم اشتراك زماني هنگامي كه چند كاربر همگي يگ برناممه (مثل كامپايلر C) را احضار مي كنند هر يك داراي كپي هايي از ثباتها، فضاي داده اي، فشاي پشته (stack) مخصوص به خود هستند ولي قسمت كد همگي يكسان و مشترك مي باشد. در سيستم اشتراك زماني وجود يك سيستم فايل ضروري است زيرا نمي توان در هر بار اجراي كار مدارك بزرگي را توسط ترمينالها وارد كامپيوتر كرد. لذا داده ها و برنامه هاي كاربر مي بايست در ديسك ذخيره گردند. لذا بخش مديريت فايلها يكي از بخش هاي اصلي سيستم عامل مي باشد. هر چند كه مي توان وظايف مدير فايل (File Manager) و مدير ديسك (Disk Mannager) را در هم آميخت ولي منطقاً اين دو كاملاً متفاومت هستند. مدير ديسك مسئول توزيع فضاي خالي روي ديسك و نقل و انتقالات است، حال آنكه كارهاي مدير فايل بيشتر مربوط به مديريت فهرستها، فايلها، امنيت و كارهاي مربوط به حسابداري (Accouning) است. يكي ديگر از بخشهاي مهم در سيستم اشتراك زماني ترمينال است كه وظيفه تعيين هويت كاربران و پذيرش آنها را بر عهده دارد.

چند برنامگي و اشتراك زماني مباحث اصلي سيستم عاملهاي امروزي مي باشد. از جمله سيستم عاملهاي سنتي و مشهور كه شامل اين ويژگيها مي باشد سيستم عامل UNIX است. موسسه IEEE يك استاندارد به نام POSIX براي UNIX بنا نهاد. POSIX حداقل واسط فراخوان سيستمي را تعريف مي كند كه سيستم هاي UNIX سازگار بايد آن را پشتيباني نمايند.

 

سيستم هاي توزيع شده Loosly coupled

سيستم عامل توزيع شده در يك محيط شبكه اي اجراء مي شود. در اين سيستم قسمتهاي مختلف برنامه كاربر بدون آنكه خود او متوجه شود مي توانند همزمان در چند كامپيوتر مجزا اجراء شده و سپس نتايج نهائي به كامپوتر اصلي كاربر برگردند. كاربران نبايد از اين موضوع باخبر شوند كه برنامه آنها در كجا به اجراء در مي آيد و يا فايلهاي آنها در كجاي شبكه قرار دارد و همه اين كارها بايد توسط سيستم عامل به صورت خودكار انجام گيرد. به عبارتي ديگر سيستم بايد از ديد كاربر شفاف باشد و هر چيز را با نام آن فراخواني كند و كاري به آدرس نداشته باشد.

با توجه به توضيحات فوق سيستم عامل هاي توزيع شده به مراتب پيچيده تر از سيستم عاملهاي شبكه هستند. يكي از مزاياي مهم سيستم هاي توزيع شده سرعت بالاي اجراي برنامه هاست چرا كه يك برنامه همزمان مي تواند از چندين كامپيوتر براي اجرا شدنش استفاده كند. همچنين به علت توزيع شدن اطلاعات، بانكهاي اطلاعاتي حجيم مي توانند روي يكسري كامپيوترهاي شبكه شده قرار بگيرند و لازم نيست كه همه اطلاعات به يك كامپيوتر مركزي فرستاده شود (كه در نتيجه اين نقل و انتقالات حجيم زمان زيادي به هدر مي رود).

در سيستم توزيع شده اگر يكي از كامپيوترهائي كه وظيفة اصلي برنامة جاري را بر عهده دارد خراب شود كل عمل سيستم مختل خواهد شد. از طرف ديگر اگر اطلاعاتي همزمان در چند كامپيوتر به صورت يكسان ذخيره گردد و يكي از كامپيوتر ها خراب شود، داده ها را مي توان از كامپيوترهاي دگير بازيابي كرد و از اين نظر امنيت افزايش مي يابد.

تذكر: به سيستم هاي توزيع شده گاهي اوقات سيستم هاي Loosely Coupled با ارتباط ضعيف نيز مي گويند، چرا كه هر پردازنده كلاك و حافظه مستقلي دارد. پردازنده ها از طريق خطوط مخابراتي مختلفي مثل گذرگاه هاي سريع يا خطوط تلفن با همديگر ارتباط دارند.

چند دليل براي استفاده از سيستم هاي گسترده عبارتند از:

1 – اشتراك منابع

2 – تسريع محاسبات

3 – قابليت اعتماد: اگر در سيستم ها توزيع شده، كامپيوتري خراب شود، كامپيوترهاي ديگر (در صورت طراحي سيستم براي اين منظور) مي توانند كار را ادامه دهند. ولي همانظور كه قبلاً گفتيم اگر سيستم نتواند خطا را تشخيص داده و آن كار را به كامپيوتر ديگر بسپارد برعكس امنيت كاهش مي يابد.

4 – ارتباطات (مثلا پست الكترونيك و انتقال فايلها)

 

سيستم هاي چند پردازنده اي (Tightly coupled)

كامپيوترها مي توانند به جاي يك CPU چندين CPU داشته باشند كه در اين صورت به آنها سيستم هاي multiprocessor مي گويند. جهت استفاده از اين سيستم ها نياز به يك سيستم عامل خاص مي باشد كه بتواند چندين برنامه (يا نخهاي يك فرآيند) را به صورت موازي واقعي روي آنها اجراء كند. سيستم عامل multitasking براي اجراء چند نخ بر روي يك CPU و سيستم عامل multiprocessor براي اجراي چند نخ بر روي چند CPU به كار مي روند. گاهي اوقات به سيستم multiprocessor، سيستم multiprocessing هم مي گويند.

در سيستم چند پردازنده اي، CPU ها بايد بتوانند از حافظه، امكانات ورودي و خروجي و گذرگاه bus سيستم به صورت اشتراكي استفاده كنند. مزاياي اين سيستم ها عبارتند از:

الف) زياد شدن توان عملياتي (throughput): منظور از throughput تعداد كارهائي است كه در واحد زماني تمام مي شوند. بديهي است هر چقدر تعداد پردازنده ها بيشتر باشد تعداد كارهاي تمام شده در يك پريود زماني نيز بيشتر خواهد بود. البته اين نسبت خطي نيست، مثلاً اگر تعداد پردازنده ها n باشد سرعت اجراء برنامه ها n برابر نمي شود.

چرا كه بخشي از وقت پردازنده ها جهت مسائل كنترلي و امنيتي و سوئيچ كردن به هدر مي رود.

ب) صرفه جوئي در هزينه ها: از آنجا كه پردازنده ها منابع تغذيه، ديسكها، حافظه ها و ادوات جانبي را به صورت مشترك استفاده مي كنند در هزينه هاي سخت افزاري صرفه جوئي مي شود.

ج) تحمل پذيري در برابر خطا (fault tolerant). سيستم هاي مالتي پروسسسور قابليت اعتماد را افزايش مي دهند چرا كه خرابي يك CPU سبب توقف سيستم نمي شود بلكه تنها سبب كند شدن آن خواهد شد. استمرار عمل با وجود خرابي نيازمند مكانيزمي است كه اجازه دهد خرابي جست و جو شده، تشخيص داده شده و در صورت امكان اصلاح شود (يا كنار گذاشته شود) اين توانايي به ادامه سرويس، متناسب با سطح بقاي سخت افزار، تنزل مطبوع يا graceful degradation ناميده مي شود.  

سيستم عاملهاي چند پردازنده اي به دو دسته كلي متقارن و نامتقارن تقسيم مي شوند.

در سيستم چند پردازنده اي نامتقارن (Asymmetric Multi Processing=ASMP) يك پردازنده جهت اجراء سيستم عامل و پرونده هاي ديگر جهت اجراي برنامه هاي كاربران استفاده مي شود. از آنجا كه كد سيستم عامل تنها روي يك پروسسور اجراء مي شود، ساخت اين نوع سيستم عامل نسبتاً ساده است و از تعميم سيستم عامل تك پردازنده اي به دست مي آيد. اين نوع سيستم عامل ها براي اجراء روي سخت افزارهاي نامتقارن مناسب هستند، مانند كمك پردازنده و پردازنده اي كه به هم متصل هستند يا دو پردازنده اي كه از تمام حافظه موجود مشتركاً استفاده نمي كنند. يكي از معايب سيستم عامل نامتقارن غير قابل حمل بودن (non – portable) آن است. يعني براي سخت افزارهاي مختلف بايد سيستم عاملهاي مختلفي نوشته شود چرا كه نامتقارني مي تواند حالات مختلفي داشته باشد.

در سيستم چند پردازنده هاي متقارن (Symmetric Multi Processing = SMP) سيستم عامل مي تواند روي هر يك از پروسسورهاي آزاد يا روي تمام پردازنده ها همزمان اجراء شود. در اين حال حافظه بين تمام آنها مشترك مي باشد. تمام پردازنده ها اعمال يكساني را مي توانند انجام دهند. سيستم متقارن از چند جنبه نسبت به نوع نامتقارن برتري دارد:

1 – از آنجا كه سيستم عامل خود يك پردازش سنگين است اگر فقط روي يك CPU اجراء شود باعث مي گردد كه آن پردازنده همواره بار سنگيني داشته باشد، در حاليكه احتمالاً پردازنده هاي ديگر بي كار هستند اجراء سيستم عامل روي چند پردازنده باعث متعادل شدن (balancing) بار سيستم مي شود.

2 – در سيستم نامتقارن اگر پردازنده اجراء كننده سيستم عامل خراب شود كل سيستم خراب مي شود ولي در سيستم متقارن از اين نظر امنيت بيشتر است چرا كه اگر يك پردازنده از كار بيفتد سيستم عامل مي تواند روي پردازنده هاي ديگر اجراء شود.

 3 – بر عكس سيستم عامل نامتقارن، سيستم عامل متقارن قابل حمل (protable) بر روي سيستم هاي سخت افزاري مختلف است.

سيستم عامل SUNOS ورژن 4 از نوع نامتقارن و سيستم عامل Solaris2 ورژن 5 و همچنين Windows NT از نوع متقارن مي باشند.

زمابندي نخها (Thread) يا فرآيندها (process) روي هر يك از پردازنده ها به عهده سيستم عامل است.

گر چه Multiprocessing , multithreasding امكانات مستقلي هستند ولي معمولاً با هم پياده سازي مي شوند. حتي در يك ماشين تك پردازنده هاي، چند نخي كارايي را افزايش مي دهد. همچنين ماشين چند پردازنده اي حتي براي فرايند هاي غير نخي هم كارآمد است.

گاهي اوقات به سيستم هاي چند پردازنده اي، سيستم هاي Tightly Coupled يا ارتباط محكم نيز گفته مي شود. چرا كه پردازنده ها كلاك (Clock)، گذرگاه و همچنين حافظه مشتركي دارند.

بعضي از كتابها سيستم هاي توزيع شده را به صورت زير به دو دسته تقسيم كرده اند:

1 – سيستم هاي با ارتباط سست يا ضعيف (Loosly Coupled) كه تعدادي پردازنده با خطوط ارتباطي بين آنها دارند و هر پردازنده كلاك و حافظه مستقلي دارد.

2 – سيستم هاي با ارتباط محكم (Tightly Coupled) كه پردازنده هايي با كلاك يكسان و حافظه مشترك دارند. با آنكه اين سيستم پيچيده تر است ولي سرعت اجراي آن از نوع قبلي بيشتر مي باشد.

سيستم هاي توزيع شده جهت افزايش سرعت اجراء، افزايش قابليت اطمينان، اشتراك منابع و برقراري ارتباط بين سيستم هاي مختلف استفاده مي گردند.

 

 

منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: دوشنبه 03 فروردین 1394 ساعت: 13:58 منتشر شده است
برچسب ها : ,,,
نظرات(0)

شبکه اجتماعی ما

   
     

موضوعات

پيوندهاي روزانه

تبلیغات در سایت

پیج اینستاگرام ما را دنبال کنید :

فرم های  ارزشیابی معلمان ۱۴۰۲

با اطمینان خرید کنید

پشتیبان سایت همیشه در خدمت شماست.

 سامانه خرید و امن این سایت از همه  لحاظ مطمئن می باشد . یکی از مزیت های این سایت دیدن بیشتر فایل های پی دی اف قبل از خرید می باشد که شما می توانید در صورت پسندیدن فایل را خریداری نمائید .تمامی فایل ها بعد از خرید مستقیما دانلود می شوند و همچنین به ایمیل شما نیز فرستاده می شود . و شما با هرکارت بانکی که رمز دوم داشته باشید می توانید از سامانه بانک سامان یا ملت خرید نمائید . و بازهم اگر بعد از خرید موفق به هردلیلی نتوانستیدفایل را دریافت کنید نام فایل را به شماره همراه   09159886819  در تلگرام ، شاد ، ایتا و یا واتساپ ارسال نمائید، در سریعترین زمان فایل برای شما  فرستاده می شود .

درباره ما

آدرس خراسان شمالی - اسفراین - سایت علمی و پژوهشی آسمان -کافی نت آسمان - هدف از راه اندازی این سایت ارائه خدمات مناسب علمی و پژوهشی و با قیمت های مناسب به فرهنگیان و دانشجویان و دانش آموزان گرامی می باشد .این سایت دارای بیشتر از 12000 تحقیق رایگان نیز می باشد .که براحتی مورد استفاده قرار می گیرد .پشتیبانی سایت : 09159886819-09338737025 - صارمی سایت علمی و پژوهشی آسمان , اقدام پژوهی, گزارش تخصصی درس پژوهی , تحقیق تجربیات دبیران , پروژه آماری و spss , طرح درس