بازگشت به بخش مقالات وب سايت

شرکت طراحي سايت بهپردازان

كليه حقوق اين سايت مربوط به شرکت نرم افزاري بهپردازان - شركت طراحي سايت بهپردازان مي باشد

تعریف کلی سیستم عامل توزیع شده :

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

مزیت مهم سیستمهای توزیع شده سرعت بالای اجرای برنامه‌ها و همچنین توانایی قرار گرفتن بانکهای اطلاعاتی روی یکسری کامپیوترهای شبکه شده به علت توزیع شدن اطلاعات می باشد.

در این سیستم یک برنامه همزمان می‌تواند از چندین کامپیوتر برای اجراء شدنش استفاده کند.

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

 

چرا از سیستم عامل توزیع شده استفاده شد ؟

 

ابتدا:

سیستم های کامپیوتری دائما در حال تحول بودند. از سال 1945 ، زمانی که دوران کامپیوتر مدرن آغاز شد ، تا حدود سال 1985، رایانه ها به قدری بزرگ و گران قیمت بودند که حتی مینی کامپیوتر ها به طور معمول دهها هزار دلار هزینه داشتند. در نتیجه، بسیاری از سازمان ها تنها تعداد انگشت شماری کامپیوتر در اختیار داشتند  و چون راهی برای اتصال آن ها وجود نداشت ، بطور مستقل عمل می کردند.

 

تحول در سیستم:

در اواسط سال 1980 دو پیشرفت در فن آوری شروع به تغییر این وضعیت نمود.  نخستین گام توسعه ریز پردازنده های قدرتمند بود. در ابتدا، این ماشین های 8 بیتی بودند ، اما به زودی 16  ، 32  ، و حتی پردازنده های 64 بیتی تبدیل شدند.  بسیاری از این سیستم ها قدرت محاسباتی قوی تری داشتند که به ابر رایانه معروف بودند.

 

پیشرفت سیستم:

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

بازدهی طرح:

نتیجه این فن آوری این بود که در آن زمان به تنهایی انجام پردازش سریع امکان پذیر نبود ، اما به راحتی با کنار هم قرار دادن چند سیستم متشکل از تعداد زیادی از پردازنده های متصل به شبکه این امکان به وجود میامد که بتوان محاسبات را با سرعت بالاتر انجام داد.  آنها معمولا به نام سیستم های توزیع شده ، در مقایسه با سیستم های قبلی متمرکز، یا سیستم های تک پردازنده کارایی به مراتب بالاتری داشتند.

 

امروزه:

تنها یک امر در ترمیم روش وجود دارد و آن نرم افزار است . سیستم های توزیع شده نیاز به نرم افزاری کاملا متفاوت از سیستم های متمرکز دارند. به طور خاص، سیستم عامل های لازم فقط شروع به پدیدار شدن کردند و تنها چند قدم اول برداشته شده است ، اما هنوز راه طولانی برای رفتن به جلو وجود دارد .

 

کاربرد سیستم های توزیع شده در صنعت و اقتصاد:

حال که با نحوه ی پدید آمدن و نیاز به این سیستم آشنا شدیم ، قصد داریم چند نمونه از بخش هایی را که برای تبادل اطلاعات ، پردازش و دسترسی به بانک اطلاعاتی به این سیستم نیاز دارند ، بررسی کنیم. لازم به ذکر است هرچند سیستم های امروزی از بسیاری از ابر رایانه های قدیم قدرتمندتر و دارای پردازش بهتری هستند با این وجود برای پردازش بسیاری از محاسبات نیازمند سیستم عامل توزیع شده می باشند که در این جا به چند مثال از آن ها می پردازیم.

 

به عنوان یک مثال اگر یک کارخانه پر از روبات را در نظر بگیریم ، هر ربات شامل یک کامپیوتر قدرتمند برای برنامه ریزی، ارتباطات، و کارهای دیگر می باشد. هنگامی که یک ربات در خط مونتاژ متوجه میشود که بخشی از نصب و یا انتقال کار معیوب است ، از روبات دیگری در بخش قطعات می خواهد که آن را با یک قطعه دیگر جایگزین نماید. اگر همه روبات ها از دستگاه های جانبی متصل به کامپیوتر مرکزی استفاده نمایند ، سیستم می تواند برنامه ریزی داشته باشد که تمامی مراحل کار به درستی انجام شوند و این به عنوان یک سیستم توزیع شده عمل می کند.

 

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

 

بنابراین مشاهده کردیم که علاوه بر بالا بردن سرعت پردازش ، این سیستم به بهبود انجام اموری که یک سیستم متمرکز انجام می دهد ، کمک می کند.

 

استفاده از این سیستم:

 

کاربران نباید از این موضوع باخبر شوند که برنامه آنها در کجا به اجراء در می‌آید و یا فایلهای آنها در کجای شبکه قرار دارد و همه این کارها باید توسط سیستم عامل به صورت خودکار انجام گیرد. به عبارتی دیگر سیستم باید از دید کاربر شفاف باشد و هرچیز را با نام آن فراخوانی کند و کاری به آدرس آن نداشته باشد.

 

لذا لازم نیست که همه اطلاعات به یک کامپیوتر مرکزی فرستاده شود که در نتیجه نقل و انتقالات حجیم انجام شده زمان زیادی به هدر می‌رود.

 

به علت تأخیر‌های انتقال در شبکه و نویزهای احتمالی در خطوط انتقالی قابلیت اعتماد اجرای یک برنامه دریک سیستم تنها, بیشتر از قابلیت اجرای آن دریک سیستم توزیع شده است .

همچنین درسیستم توزیع شده اگر یکی از کامپیوترهایی که وظیفه اصلی برنامه جاری را برعهده دارد خراب شود کل عمل سیستم مختل خواهد شد . از طرف دیگر اگر اطلاعاتی همزمان در چند کامپیوتر به صورت یکسان ذخیره گردد ویکی از کامپیوترها خراب شود ، داده‌ها را می‌توان از کامپیوترهای دیگر بازیابی کرد از این نظر امنیت افزایش می‌یابد.

به سیستم های توزیع شده گاهی اوقات سیستمهای Loosely Coupled یا ارتباط ضعیف نیز می‌گویند,چرا که هر پردازنده کلاک و حافظه مستقلی دارد . پردازنده‌ها از طریق خطوط مخابراتی مختلفی مثل گذرگاه‌های سریع یا خطوط تلفن ارتباط دارند.

سیستم عامل توزیع شده خدمات اساسی و قابلیت های مورد نیاز یک سیستم عامل را فراهم می کند . همچنین با اضافه کردن ویژگی ها و تنظیمات خاص اجازه می دهد تا از نیازهای اضافی از قبیل افزایش مقیاس و ... حمایت کند.

 

 

 

 

 

 

شروع تحقیقات:

تلاش های تحقیق و آزمایش به صورت جدی در سال 1970 آغاز شد و تا سال 1990 ادامه داشت. تعدادی از سیستم های عامل توزیع شده در این دوره معرفی شدند. با این حال، تعداد بسیار کمی از این پیاده سازی حتی موفقیت تجاری متوسط ​​به دست آورد.

در برخی از این مراحل افراد حاضر بودند به طور مستقیم  در محاسبات توزیع شده تمرکز داشته باشند و در آن زمان ، بسیاری اهمیت کار با این سیستم را درک کرده بودند. این تلاش پیشگام گذاشته زمینه مهمی بود ، و ادامه تحقیقات در حوزه های مربوط به محاسبات توزیع شده الهام گرفت.

پژوهش ، تولید و پیشرفتی که در این دو دهه انجام شد ، باعث گسترش افزایش سرعت از چند پردازنده و چند هسته ای سیستم های پردازنده پژوهش به تجدید حیات مفهوم OS  توزیع شده است.

 

کاربرد سیستم های توزیع شده:

در این بخش به بررسی کابرد و تفاوت نیازهای انواع سیستم های توزیع شده می پردازیم.

طبیعت توزیع:

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

سه توزیع عمومی:

برای سیستم های توزیع شده ، سه نوع معماری مورد نیاز است:

متمرکز، غیر متمرکز و توزیع شده که در این بررسی، در نظر گرفتن سه جنبه ساختاری مهم است که شامل موارد زیر می باشد.

·         سازمان دهی توصیف ویژگی های آرایش فیزیکی یک سیستم

·         اتصال و پوشش راههای ارتباطی در میان گره ها

·         و کنترل مدیریت بهره برداری از قبل از آن دو ملاحظات

 

سازمان دهی:

سیستم متمرکز یک مرحله از ساختار است ، که در آن تمام عناصر تشکیل دهنده به طور مستقیم به یک عنصر واحد کنترل بستگی دارد.  یک سیستم غیر متمرکز سلسله مراتبی می باشد که سطح پایین را برای زیر مجموعه ای از نهادهای سیستم متحد کند . این زیر مجموعه ها به نوبه خود در سطوح بالاتر ترکیب و در نهایت به اوج خود می رسد که در یک عنصر اصلی مرکزی قرار بگیرد.

 

ارتباط:

سیستم های متمرکز اتصال اجزاء به طور مستقیم با یک نهاد کارشناسی ارشد مرکز در ارتباط است.  

یک سیستم غیر متمرکز با نام مستعار سیستم شبکه دارای مسیر مستقیم و غیر مستقیم بین عناصر تشکیل دهنده و نهاد مرکزی می باشد.به طور معمول این یک سلسله مراتب است که تنها با یکی از کوتاه ترین مسیرها بین دو عناصر پیکربندی شده است. در نهایت، سیستم عامل توزیع شده به هیچ الگویی نیاز ندارد و ارتباطات مستقیم و غیر مستقیم بین هر دو عناصر امکان پذیر می باشد.

 

کنترل:

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

سیستم های متمرکز و غیر متمرکز اغلب برای کنترل بیشتر، به طور بالقوه از طرف دولت با محدودیت هایی مواجه می شوند . بنابر این کنترل سیستم های توزیع شده آن ها به صراحت مشکل تر می باشد، اما در مقیاس بسیار بهتر و قوی تر میباشند. انجمن های مطابق با نیازهای تحمیل شده توسط طراحی آن است اما نه با محدودیت های سازمانی. انجمن هایی که نیاز این چنینی دارند ، صورت طراحی آن ها همین گونه پیش می رود اما در طراحی آن ها ، محدودیت های سازمانی وجود ندارد.

 

 

سیستم عامل ویندوز Azure :

تا به حال درباره ی نکات کلیدی سیستم عامل های توزیع شده مطالبی عنوان شد. حال با عنوان یک نمونه سیستم عامل توزیع شده که با نام ویندوز آژور شناخته می شود ، از کارایی این نوع سیستم عامل ها شناخت پیدا می کنیم.

ویندوز آژور که به معنای لاجوردی می باشد در سال 2008 اولین نسخه اصلی آن منتشر می شود. این سیستم گزینه های پشتیبانی انعطاف پذیر برای مشتریان از تمام اندازه ها ارائه می دهد.

توسعه دهندگان این سیستم سفر خود را در گسترش برنامه های کاربردی حیاتی جهت کسب و کار شرکت شروع می کنند. این سیستم جهت ارائه بهترین ابزار تخصصی موجود برای افزایش بهره ، کاهش هزینه و سرعت بخشیدن به توسعه پردازش و انجام امور ، ساخته شده است.

 

معماری Azure :

برای پیاده سازی الگوی طراحی در آژور نکاتی را عنوان می کنیم:

این مجموعه برای ایجاد مواد فنی است که استفاده از آن، مواردی مانند نمودارهای معماری، مواد آموزشی، سخنرانیها، کاتالوگ، infographics، و whitepapers. را نیز ارائه می دهد.

 

 

 

 

 

 

 

 

 

رقابت مصرف کنندگان:

فعال کردن چند مصرف کننده همزمان برای پردازش پیام های دریافتی بر روی کانال ارسال پیام  این الگو را قادر می سازد یک سیستم برای پردازش چندین پیام به صورت همزمان به منظور بهینه سازی توان عملیاتی و بهبود مقیاس پذیری و کنترل حجم کار داشته باشیم .

 

Description: C:\Users\avid\Desktop\Competing Consumers.png

 

فرمان  و پرس و جو تفکیک مسئولیت:

این عمل ، جدا سازی عملیات است که داده ها را با استفاده از رابط های جداگانه به روز رسانی می کند . این الگو می تواند کارایی، مقیاس پذیری و امنیت را ایجاد کند. همچنین می تواند از تکامل سیستم در طول زمان با بالاترین انعطاف پذیری حمایت کند .  و از دستوراتی که باعث ادغام درگیری در سطح دامنه می شود جلوگیری کند.

 

Description: C:\Users\avid\Desktop\Command and Query.png

 

انتخاب رهبر:

در این بخش هماهنگ کردن اقدامات انجام شده توسط مجموعه ای از همکاران نمونه در یک برنامه توزیع شده با انتخاب یک نمونه  به عنوان رهبر انجام می شود که به جز مدیریت مسئولیت دیگری ندارد . این الگو می تواند به اطمینان حاصل کار کمک کند که نمونه چند کار با یکدیگر در تضاد نباشد و همچنین باعث مشاجره برای منابع به اشتراک گذاشته می شود که دیگر نمونه کارهای در حال انجام با یکدیگر مداخله نداشته باشند.

 

Description: C:\Users\avid\Desktop\Leader Election.png

 

 

 

 

 

 

لوله و فیلتر:

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

 

Description: C:\Users\avid\Desktop\Pipes and Filters.png

 

 

 

 

 

 

 

 

 

 

 

کلید وَلت:  ((Valet Key

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

 

Description: C:\Users\avid\Desktop\Valet Key.png

 

خلاصه :

این را می توان استدلال کرد که سیستم های توزیع شده مبتنی بر وب برای برنامه های کاربردی تحت شبکه ساخته شده اند و با استفاده از مفهوم یک سند وب برای تبادل اطلاعات و اغلب ، ارتباط در محیط های اداری و سایر تنظیمات در اختیار عموم قرار داده می شوند. بنابراین گسترش این مفهوم به اسناد الکترونیکی برای اکثر مردم کاملا منطقی است.