اگر بخواهيم مروري سريع بر سيستمهاي عامل در دورانهاي مختلف تاريخ داشته باشيم، نياز نيست خيلي دور برويم. تاريخ سيستم عامل را ميتوان به چند دوره زير تقسيم كرد:
- تا دهه 70، اشتراك زماني (1 كامپيوتر و چند كاربر)
- دهه 80، كامپيوتر شخصي (1 كامپيوتر براي هر كاربر)
- از دهه 90، محاسبات موازي (تعداد زيادي كامپيوتر براي هر كاربر)
تا پايان دهه 80، كامپيوترها بزرگ و سنگين بودند و در مركز كامپيوتر كار ميكردند. بسياري از سازمانها فقط يك كامپيوتر داشتند. در اواخر دهه 80، قيمتها تا حدي پايين آمد كه هر نفر ميتوانست يك كامپيوتر شخصي داشته باشد. اين ماشينها حتي قابليت شبكه كردن با يكديگر را نيز داشتند. بهاين ترتيب، از اوايل دهه 80 امكان اشتراكگذاري فايلها و دسترسي از راه دور به منابع سيستمي مختلف ايجاد شد.
امروزه برخي سيستمها بيش از يك پردازنده را بهازاي هر كاربر ارائه ميدهند. حالا اين ميتواند بهشكل چند كامپيوتر موازي باشد و يا حتي تعداد زيادي از پردازندهها كه در يك جامعه كوچك با يكديگر كار ميكنند.
چنين سيستمهايي را سيستمهاي موازي يا سيستمهاي كامپيوتري توزيعشده ميگويند. اين سيستمها اين سوال را در ذهن ميآورند كه چهنرمافزارهايي ميتواند در اين سيستمها بهكار گرفته شود. براي پاسخ به اين سوال، گروهي تحت هدايت پروفسور تننباوم در دانشگاه وريژه هلند گرد هم آمده و از سال 1980 تاكنون در مورد سيستمهاي توزيع شده تحقيق ميكنند.
نتيجه اين تحقيقات، سيستم عامل توزيعشده جديدي است كه آموبا (آميب / Amoeba) نام دارد و براي محيطهايي طراحي شده است كه از تعداد زيادي كامپيوتر تشكيل شده است. آموبا براي دانشگاهها و ديگر موسسات تحقيقاتي رايگان است.
آموبا چيست؟آموبا سيستم عامل چند منظوره توزيع شده است. اين سيستم عامل ميتواند از چندين ماشين بهره بگيرد و با آنها طوري رفتار كند كه انگار يك سيستم واحد و يكپارچه است. بهطور كلي، كاربران از تعداد و محل پردازندههايي كه براي اجراي دستورات وي بهكار گرفته ميشود، مطلع نيستند. همچنين اطلاعات و محل سرورهاي فايلي كه فايلهاي آنها در آن ذخيره ميشود نيز نامشخص است.
از ديدگاه كاربر، آموبا درست همانند يك سيستم عامل سنتي اشتراك زماني است. آموبا يك پروژه ناتمام است و هنوز در مرحله تكميل بهسر ميبرد. اين سيستم عامل بهعنوان بستري براي تحقيق و توسعه كد در سيستمهاي موازي و زبانها و پروتكلهاي مرتبط با آن بهكار ميآيد.
همچنين اين سيستم ميتواند يونيكس را شبيهسازي كند و ظاهري درست همانند يونيكس دارد. البته اين سيستم بهعنوان جايگزيني براي يونيكس نيست و تنها عملكردي مشابه دارد. اين سيستم عامل براي دانشجويان و محققاني كه ميخواهند كد منبع سيستمعامل را مشاهده كنند و طريقه عملكرد آن را از نزديك ببينند، بسيار مناسب است. اين سيستم عامل همچنين براي برنامهنويسي بهروش توزيع شده (چند كاربر بهطور مجزا روي چند پروژه مختلف كار كنند) و سيستمهاي موازي (يك كاربر از 50 پردازنده استفاده كند تا شترنجي را بهطور موازي بازي كند) استفاده ميشود.
البته ايجاد نرمافزارها براي اين سيستمعامل ساده است، همانند دستور make در يونيكس، يك دستور مشابه بهنام amake وجود دارد.
هدف از طراحي آموبا
هدف اصلي از طراحي آموبا بهشرح زير است:
- توزيع: اتصال چندين ماشين بهيكديگر
- موازيسازي: اجراي يك كار روي چندين پردازنده
- شفافيت: كلكسيونكردن كامپيوترهاي مختلف و نمايش آن بهصورت يك سيستم واحد
- بازدهي: دستيابي به تمام موارد بالايي، با كيفيت مناسب.
همانطور كه گفتيم، آموبا سيستمي توزيع شده است و در آن چندين ماشين كه به يكديگر متصل هستند را كنترل و مديريت ميكند. نيازي نيست كه اين ماشينها همه از يك نوع باشند. اين ماشينها ميتوانند در يك شبكه LAN به يكديگر متصل شوند. آموبا از پروتكل شبكه قدرتمند FLIP استفاده ميكند. اگر يك ماشين آموبا بيشتر از يك رابط شبكه داشته باشد، بهطور خودكار بهعنوان مسيرياب بين چند شبكه بهكار گرفته خواهد شد و شبكههاي LAN مختلف را بهيكديگر متصل خواهد كرد.
آموبا همچنين سيستمي موازي است. اين يعني ميتوان يك كار يا يك برنامه را با چندين پردازنده مختلف بهطور موازي انجام داد تا سرعت بيشتري در اجراي آن بهدست آورد. براي مثال، براي حل مساله فروشنده دورهگرد، ميتوان از ده و يا صد پردازنده استفاده كرد تا در فاصله زماني بسيار كوتاهتري مساله را حل كرد.
هر چه تعداد ريزپردازندههاي موجود در سيستم بيشتر باشد، نتيجه بهتري حاصل ميشود. به اين مجموعه از ريزپردازندهها، موتور محاسبه گفته ميشود.
يكي ديگر از اهداف كليدي، بحث شفافيت است. نيازي نيست كاربر از تعداد يا محل پردازندهها آگاه باشد و يا حتي بداند فايلهايش در كجا ذخيره شده است. همچنين مشكلاتي چون تكرر فايلها در نقاط مختلف بهطور خودكار رفع ميشود و نيازي به دخالت دستي كاربر نيست.
بهعبارت ديگر، كاربر به يك ماشين متصل نميشود و به يك سيستم كلي متصل ميشود. مفهومي بهنام كامپيوتر شخصي وجود ندارد و وقتي كاربر به ماشين متصل ميشود، كاربر دستور اتصال به سروري را وارد نميكند كه از چندين پردازنده بهره بگيرد. از ديد كاربر كل سيستم مثل يك سيستم اشتراك زماني است.
در سيستمهاي عامل، پايداري و بازدهي همواره يك دغدغه كليدي بوده. بنابراين تلاشهاي زيادي براي رفع اين دغدغهها انجام شده است. مكانيزم پايه ارتباطات بهبودهاي زيادي داشته است و بر اساس همين تلاشها، پيغامهاي ارسالي و پاسخهاي دريافتي در كمترين تاخير ممكن ارسال و دريافت ميشوند. همچنين امروزه امكان انتقال دادهها با پهناي باند بالا ميان كامپيوترها رواج يافته است. بلوكهاي داده پايه اصلي زيرسيستمها و برنامههاي با بازدهي بالا در آموبا هستند.
معماري سيستم
از آنجايي كه سيستمهاي توزيع شده و موازي از سيستمهاي كامپيوتر شخصي كاملا متفاوت هستند، شايان ذكر است كه در ابتدا نوع پيكربندي سختافزاري كه براي استفاده از آموبا مورد نياز است، را توضيح دهيم. يك سيستم عادي آموبا از سه كلاس اصلي عملكردي در هر ماشين تشكيل ميشود.
نخست: هر كاربر يك دستگاه براي استفاده و اجراي رابط كاربري خود دارد، اين رابط كاربري مبتني بر سيستم پنجرهاي X است. اين ايستگاه ميتواند يك ايستگاه كاملا معمولي باشد، يا يك پايانه بسيار خاص X. اين دستگاه كاملا به اجراي رابط كاربري بر ميگردد و كاري به باقي سيستمها ندارد.
دوم: يك سبد از پردازندهها وجود دارند كه بهطور خودكار به هر كاربر تخصيص داده ميشوند. اين پردازندهها ميتوانند بخشي از يك كامپيوتر با چند پردازنده و يا بخشي از يك شبكه با چند كامپيوتر باشند، حتي ميتوان مجموعهاي از مادربوردها را بههم متصل كرد و اين سيستمعامل را روي آن اجرا كرد.
بهطور معمول هر پردازنده چندين مگابايت حافظه شخصي دارد، اين حافظه نيازي هم نيست حافظه بهاشتراك گذاشته شده باشد، چرا كه هر پردازنده ميتواند هر فضايي را كه ميخواهد تهيه كند. البته حافظه اشتراكي براي پردازندهها ممنوع نيست.
ارتباطات بهاين طريق انجام ميشود كه بستهها از طريق شبكه LAN ارسال ميشود و تمام پردازشها در سبد پردازندهها انجام ميشود.
سوم: سرورهاي مختص يك كار خاص وجود دارند، مثلا سرورهايي وجود دارند كه بهآنها فايلسرور ميگويند و كارشان فقط در مورد فايلها و ديسكها است. اين سرورها هميشه در حال اجرا هستند. اين پردازندهها ميتوانند متعلق به سبد پردازندهها باشند يا بهطور مستقل فعاليت كنند. تمام اين مولفهها بايد از طريق يك شبكه سريع بهيكديگر متصل شوند. در حال حاضر تنها شبكههاي اترنت پشتيباني شدهاست اما در آينده ديگر شبكهها نيز پيادهسازي ميشوند.
ميلاد پيكانيمنبع
Andrew S. Tanenbaum & Gregory J. Sharp,
“The Amoeba Distributed Operating System”
Vrije University.


 
 
 



 
            
            
 
             آموبا، يك سيستم عامل توزيع شده
 آموبا، يك سيستم عامل توزيع شده
                 
                    
                    
                    
                         پاسخ با نقل قول
  پاسخ با نقل قول
Bookmarks