# سیستم عامل ها > سیستم عامل های آزاد > توسعه‌ی لینوکس و نرم افزارهای آزاد > سوال: سیستم های توزیع شده

## girl_computer

سلام
سیستم های توزیع شده چیست؟
معماری؟
مزایا و معایب؟
کاربردها؟
ممنون میشم دوستان کمک کنن

----------


## iman.only2008

سلام 
از دهه نود با توسعه ي شبكه هاي كامپيوتري و پيشرفتهايي كه در تكنولوژي ارتباطات مخابراتي حاصل شد اين بحث شكل گرفت كه ما كامپيوترهاي يك منطقه ،يك شهر ،يك كشور و يا حتي كل دنيا را به شكلي با هم *ارتباط* بدهيم كه *تمام اين كامپيوترها* از ديدگاه ناظر خارجي *يك سيستم* single يا واحد به نظر برسند و درواقع تمام اينها باهم *يك مساله* را حل كنند
در بحث شبكه هاي كامپيوتر ي استقلال كامپيوترها امري واضح است شما اگر در يك مجوعه اي از كامپيوترها كه توسط اتصالات شبكه اي به هم ارتباط دارند 100000تا كامپيوتر داشته باشيد هر يك از كامپيوترها استقلال سخت افزاري ونرم افزاري كاملي دارند به عبارت ديگر هر كدام از ماشينها *مساله خودشان* را حل ميكنند  تنها شبكه بودن آنها بايكديگر اين امكان را به آنها ميدهد كه اين ها امكان نقل و انتقال ديتا راداشته باشند
بنابراين  ما در سيستمهاي توزيع شده بدنباليكسيستم واحد از مجموعه اي از كامپيوترهاي مستقل هستيم كه همه با هم يك مساله را حل كنند .( سيستم مجموعه اجزايي كه به گونه اي به هم پيوسته هستند كه يك هدف واحد را دنبال كنند—بنابراين اجزاي يك سيتم نميتوانند به دنبال اهداف متفاوتي باشند)
     تا سال  95 اين گونه تصور ميشد كه نقش ارتباطي و اتصالي  را بايد به عهده سيستم عامل بايد گذاشت و اين سيستم عامل هست كه اين ارتباط و هماهنگي و سيستماتيك بودن تمام ماشينها را مهيا ميكند ولي بعدا به اين نتيجه ميرسند كه به لايه و واحدي به نام middleware  نيازمند هستند كه به كمك آن اتصال بين سيستمها و ارتباط سيستماتيك را برقرار كرد .
شعار ما د رسيستمهاي توزيع شده درحقيقت تمركز زدايي است يعني هيچ نقطه ي مركز ي براي جمع شدن اطلاعات و تصميم گيري وجود نداشته باشد تصميم گيريها و اطلاعات كاملا توزيع شده باشد
ضرورت سيستمهاي توزيع شده:
ما همواره در مباحث مهندسي و توليدات يك مساله اي داريم تحت عنوان performance per cost يعني نسبت كارايي به هزينه .
در صورتي كه ما ميخواستيم يك ابر كامپيوتر يا سوپر كامپيوتر كه به لحاظ پردازشي بسيار قدرتمند است را بسازيم لازم بود كه تعداد بسيار زيادي cpu را كنار هم قراردهيم ماژول هاي حافظه را داشته باشيم ارتباطات اين ها باهم را برقرا ر كنيم  كه در نتيجه هزينه ي بسيار بالايي را بايد صرف ساخت آن ميكرديم  تا كارايي بالايي را به ما بدهد از طرفي ممكن بود كه خيلي وقت ها نيز اين سوپر كامپيوتر ما بيكار باشد. 
حال اگر ما بتوانيم با  يك رويكرد سيستمي توزيع شد ه و با كمك لايه middleware  تعداد زياد ي از كامپيوتر هاي جهان را كه در شبكه وب كار ميكنند و بسيار  ي از آنها ممكن است ا ز توان پردازشي cpu خود استفاده كاملي نكنند (يعني شايد در اما ر 80 درصد ماشينها كاراييشان در آن لحظه زير 20 درصد باشد يعني 80 درصد ماشينها بيش از 80 درصد توان سي پي يو شان آزاد است ) بتوانيم اين ماشين ها را به هم متصل كنيم بدين ترتيب ميتوانيم يك app خيلي سنگين را چون شطرنج (با آن درخت min max وحشتناكش)براي سطوح پيش بيني بالاي حركات احتمالي حريف،نرم افزارهاي بررسي الگوهاي هواشناسي.....با هزينه اي بسيار پايين تر و كارايي وسرعت مقبول اجرا كنيم.
معماري ها
1- معماري لايه اي:كه در آنها تقسيم كار عمودي انجام ميشد.معروفترين جايي كه از اين سبكه معماري استفاده كرد شبكه هاي كامپيوتري با ارائه مدل OSI بودند 
2- معماريهاي مبتني بر شي object base
3- مبتني بر مركز داده ها(معماريهاي مبتني بر datacenter)   
4- مبتني بر رويداد يا (event base )
---------------------------------------------------------------------------------------
 شاد باشيد

----------

