سیستم عامل های متقارن و نامتقارن

کامپیوترها می‌توانند به جای یک CPU چندین CPU داشته باشند که در اینصورت به آنها سیستم multiprocessing میگویند. جهت استفاده از این سیستمها نیاز به یک سیستم عامل خاص می‌باشد که بتواند چندین برنامه یانخهای یک فرایند را به صورت موازی واقعی روی آنها اجراء کند . سیستم عامل multitasking برای اجراء چند نخ بر روی یک CPU و سیستم عامل multiprocessing برای اجرای چند نخ بر روی چند CPU به کار می‌روند.
دوشنبه، 28 دی 1388
تخمین زمان مطالعه:
موارد بیشتر برای شما
سیستم عامل های متقارن و نامتقارن
سیستم عامل های متقارن و نامتقارن
سیستم عامل های متقارن و نامتقارن






کامپیوترها می‌توانند به جای یک CPU چندین CPU داشته باشند که در اینصورت به آنها سیستم multiprocessing میگویند. جهت استفاده از این سیستمها نیاز به یک سیستم عامل خاص می‌باشد که بتواند چندین برنامه یانخهای یک فرایند را به صورت موازی واقعی روی آنها اجراء کند .
سیستم عامل multitasking برای اجراء چند نخ بر روی یک CPU و سیستم عامل multiprocessing برای اجرای چند نخ بر روی چند CPU به کار می‌روند.
در سیستم چند پردازنده‌ای , CPUها باید بتواند ازحافظه , امکانات ورودی و خروجی وگذرگاه BUS سیستم به صورت اشتراکی استفاده کنند . مزایای این سیستمهای عبارتند از :
زیاد شدن توان عملیاتی ( throughput ) .منظور از throughput تعداد کارهایی است که در یک واحد زمانی تمام می‌شوند. بدیهی است هر چقدر تعداد پردازنده‌ها بیشتر باشد تعداد کارهای تمام شده در یک پریود زمانی نیز بیشتر خواهد بود. البته این نسبت خطی نیست , مثلا اگر تعداد پردازنده‌ها n باشد سرعت اجراء برنامه‌ها nبرابر نمی‌شود چرا که بخشی از وقت پردازنده‌ها جهت مسائل کنترلی و امنیتی وسوئیچ کردنها به هدر می‌رود.
صرفه جویی در هزینه‌ها , از آنجا که پردازنده‌ها منابع تغذیه , دیسکها , حافظه‌ها و ادوات جانبی را به صورت مشترک استفاده می‌کنند در هزینه‌های سخت افزاری صرفه‌جویی می‌شود.

سیستم عامل های متقارن و نامتقارن

تحمل پذیری در برابر خطا ( fault-tolerant) سیستم های مالتی پروسسور قابلیت اعتماد را افزایش می‌دهند چرا که خرابی یک CPU سبب توقف سیستم نمی‌شود بلکه تنها سبب کند شدن آن خواهدشد .استمرار عمل با وجود خرابی نیازمند مکانیزمی است که اجازه دهد خرابی جستوجو شده , تشخیص داده شده و در صورت امکان اصلاح شود (یا کنار گذاشته شود). این توانایی به ادامه سرویس , متناسب با سطح بقای سخت افزار ,تنزل مطبوع یا graceful degradation نامیده می‌شود.
سیستمهای عاملهای چند پردازنده‌ای به دو دسته کلی متقارن و نامتقارن تقسیم می‌شوند.:
در سیستم چند پردازنده‌ای نامتقارن ( Asymmetric Multi Processing = ASMP ) یک پردازنده جهت اجراء سیستم عامل و پردازنده‌های دیگر جهت اجرای برنامه‌های کاربران استفاده می‌شود. از آنجا که کد سیستم عامل تنها روی یک پروسسور اجراء می‌شود, ساخت این نوع سیستم عامل نسبتا ساده است و از تعمیم سیستم عامل تک پردازنده‌‌ای به دست می‌آید.
این نوع سیستم عامل‌ها برای اجراء روی سخت افزارهای نامتقارن مناسب هستند, مانند کمک پردازنده‌ و پردازنده‌ای که به هم متصل هستند یا دو پردازنده‌ای که از تمام حافظه‌موجود مشترکا" استفاده نمی‌کنند . یکی از معایب سیستم عامل نامتقارن غیر قابل حمل بودن (non-portable) آن است . یعنی برای سخت افزارهای مختلف باید سیستم عاملهای مختلفی نوشته شود چرا که نامتقارنی می‌تواند حالات مختلف داشته باشد.
در سیستم چند پردازنده‌ای متقارن ( symmetric Multi Processing = ASMP ) سیستم عامل می‌تواند روی هر یک از پروسسورهای آزاد یا روی تمام پردازنده‌ها همزمان اجراء شود. در این حالت حافظه بین تمام آنها مشترک می‌باشد. تمام پردازنده‌ها اعمال یکسانی را می‌توانند انجام دهند. سیستم متقارن از چند جنبه نسبت به نوع نامتقارن برتری دارد:
از آنجا که سیستم عامل خود یک پردازش سنگین است اگر فقط روی یک CPU ها اجراء شود باعث می‌گردد که آن پردازنده همواره بار سنگینی داشته باشد, در حالیکه احتمالاً پردازنده‌های دیگر بی کار هستند لذا اجراء سیستم عامل روی چند پردازنده باعث متعادل شدن ( balancing ) بار سیستم می‌شود.
در سیستم نامتقارن اگر پردازنده اجراء کننده سیستم عامل خراب شود کل سیستم خراب می‌شود ولی در سیستم متقارن از این نظر امینت بیشتر است چرا که اگر یک پردازنده از کار بیفتد سیستم عامل می‌تواند روی پردازنده‌های دیگر اجراء شود.
بر عکس سیستم عامل نامتقارن , سیستم عامل قابل حمل ( portable ) بر روی سیستم های سخت افزاری مختلف است .
سیستم عامل SUNOS ورژن 4 از نوع نامتقارن و سیستم عامل Solaris2 ورژن و همچنین windows NT از نوع متقارن می‌باشند.
وجود پردازنده‌های متعدد از دید کاربر مخفی است و زمانبندی نخها ( Thread ) یا فرآیندها ( process ) روی هر یک از پردازنده‌ها به عهده سیستم عامل است .
گرچه Multithriding و Multiprocessing امکانات مستقلی هستند ولی معمولاً با هم پیاده سازی می‌شوند. حتی در یک ماشین تک پردازنده‌ای , چند نخی کارایی را افزایش می‌دهد. همچنین ماشین چند پردازنده‌ای حتی برای فرآیندهای غیر نخی هم کارآمد است .
گاهی اوقات به سیستمهای چند پردازنده‌ای ,سیستمهای Tightly Coupled یا ارتباط محکم نیز گفته می‌شود. چرا که پردازنده‌ها کلاک (Clock), گذرگاه و همچنین حافظه مشترکی دارند.
ارسال مقاله توسط عضو محترم سایت با نام کاربری : masood1371


s


نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.