PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : معرفی و بررسی سیستم عامل Amoeba



Borna66
02-09-2012, 01:54 PM
اگر بخواهيم مروري سريع بر سيستم هاي عامل در دوران هاي مختلف تاريخ داشته باشيم، نياز نيست خيلي دور برويم. تاريخ سيستم عامل را مي توان به چند دوره زير تقسيم كرد:
- تا دهه 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.