1-1- مقدمه ای بر سیستم های توزیع شده:عمومی ترین دسته بندی که معمولا کاربران عادی از شبکه های کامپیوتری می دانند عبارت است از LAN , WAN , MAN و اینترنت را هم جزء شبکه های کامپیوتری در نظر میگیرند. به ظاهر اینترنت هم نوعی شبکه کامپیوتری است ولی در باطن در دسته بندی دیگری قرار می گیرد که با عنوان سیستم های توزیع شده یا Distributed Systems معرفی می شود.1-2- سیستم توزیع شده چیست ؟در ساده ترین تعریف، سیستم توزیع شده کلکسیونی از کامپیوترهای مستقل است که از دیدگاه کاربران مثل یک سیستم منسجم عمل می کند .1-3- تفاوت سیستم های توزیع شده و شبکه های کامپیوتری در چیست ؟یک سیستم توزیع شده مجموع ای است از چندین کامپیوتر مستقل که کاربر آن را به شکل یک سیستم واحد و متجانس می بیند. در این سیستمها معمولا یک لایه نرم افزاری {روی سیستم عامل} به نام میان افزار middleware است که مدل مورد نظر را پیاده سازی می کند. وب نمونه ای از یک سیستم توزیع شده است، که در آن همه چیز از دیدگاه کاربر یک سند {صفحه وب} به نظر می رسد.در شبکه های کامپیوتری این تجانس، مدل و نرم افزار وجود ندارد.کاربران به طور مستقیم با کامیپوترها در تماسند و هیچ کوششی برای ایجاد تجانس بین آنها صورت نمی گیرد. کاربر به روشنی تفاوت های نرم افزاری و سخت افزاری کامپیوترها را می بینند.در حقیقت، یک سیستم توزیع شده نرم افزاریست که روی شبکه کار می کند و تجانس و شفافیت آن توسط این نرم افزار تعیین می شود. به همین دلیل تفاوت سیستم توزیع شده با یک شبکه کامپیوتری، بیشتر در نرم افزار به ویژه سیستم عامل نهفته است تا سخت افزار.با این همه، شباهت های زیادی بین این دو وجود دارد. مثلا سیستم های توزیع شده و شبکهها هردو به انتقال فایل نیاز دارند. تفاوت در این است که این کار را چه کسی انجام می دهد، سیستم یا کاربر!انواع سیستم های توزیع شده- سیستمهای محاسباتی توزیع شده .- سیستمهای اطلاعاتی توزیع شده .- سیستمهای متفرق توزیع شده .سیستم های محاسباتی توزیع شدهسیستم های محاسباتی توزیع شده دسته مهمی از سیستم های توزیع شده هستند برای کارهای محاسباتی با کارایی بالا به کار می روند .این سیستمها به دو گروه تقسیم می شوند- محاسبات خوشه ای {Cluster Computing}- محاسبات شبکه ای {Grid Computing}1-4- سیستم های محاسبات خوشه ایدر محاسبات خوشه ای سخت افزار شامل مجموعه ای از Pcها یا ایستگاه های کاری مشابه است که از طریق شبکه محلی پرسرعت به هم متصل می شوند، علاوه بر این هر گره سیستم عامل یکسانی را اجرا می کنند.1-5- سیستم های محاسبات شبکه ایاین گروه شامل سیستم های توزیع شده ای هستند که اغلب به صورت فدراسیونی از سیستم های کامپیوتری ساخته می شوند که هر سیستم ممکن است در دامنه مدیریتی مختلفی واقع شود، بر حسب نوع سخت افزار، نرم افزار و فن آوری شبکه فرق کند.1-6- زیر شاخه ها:باید بگم که یکی از وسیع ترین زمینهها در علم کامپیوتر سیستم های توزیع شده هست اما مهمترین زیر شاخه هارو عنوان میکنم:عنوان صفحهفهرست جدولها جفهرست شكلها دفصل 1- سیستم های توزیع شده. 51-1- مقدمه ای بر سیستم های توزیع شده: 51-2- سیستم توزیع شده چیست ؟. 51-3- تفاوت سیستم های توزیع شده و شبکه های کامپیوتری در چیست ؟. 51-4- سیستم های محاسبات خوشه ای.. 71-5- سیستم های محاسبات شبکه ای.. 71-6- زیر شاخه ها: 71-7- Cloud computing and virtualization: 71-8- Parallel and distributed operating systems : 81-9- Grid Computing : 81-10- Wireless and ad-hoc networks: 81-11- Distributed Algorithms : 9فصل 2- الگوریتمهای تشخیص بنبست... 102-1- مقدمه 102-1- 102-1-1- الگوریتم هو- رامامورتی.. 112-2- نمونه هایی از الگوریتم های تشخیص بن بست سلسله مراتبی.. 122-2-1- الگوریتم منساس- مانتز. 122-2-2- الگوریتم هو-رامامورتی.. 132-3- نمونه هایی از الگوریتم های توزیع شده 142-3-1- الگوریتم تشخیص بن بست چندی – مسیرا– هاس.... 142-3-2- الگوریتم محاسبه پخش کردن چندی- مسیرا-هاس.... 152-3-3- الگوریتم براچا- توگ... 172-4- الگوریتم بدال.. 21فصل 3- تشخيص و رفع بن بست در پایگاه داده (سیستم) توزیع شده. 293-1- مقدمه 293-2- روشهای صوری در تشخيص بنبست... 303-3- بنبست از نقطهنظر گراف... 323-4- مدلهای بنبست... 343-4-1- 4.1 مدل تک منبع (one-resource) 343-4-2- 4.2 مدل عطفی (AND model) 363-4-3- مدل عمومی (Genral model) 373-5- مدير داده آغازگر کاوشگر. 413-6- تراکنش کاوشگرها را دريافت نموده میفرستد. 423-7- دريافت کردن کاوشگر توسط مدير داده 433-8- الگوريتم چندی.. 433-9- اثبات درستي.. 44فصل 4- تشخیص و حل بن بست در سیستم های نماینده موبایل (نسل آینده سیستم های توزیع شده) 494-1- مقدمه [ ، ، ، ، و ] 494-2- معرفی سیستم های نماینده موبایل (نسل آینده سیستم های توزیع شده) 504-3- تشخیص بن بست توزیع شده در سیستم های نماینده موبایل.. 524-4- معایب الگوریتم اصلی و مشکلات کارایی الگوریتم.. 574-5- الگوریتم تشخیص بن بست توزیع شده مبتنی بر اولویت بهبود یافته. 644-6- آنالیز کارایی الگوریتم بهبود یافته. 664-7- اثبات درستی الگوریتم.. 67فصل 5- آشكار سازي بن بست در سيستم عامل توزيع شده. 705-1- - مقدمه 705-2- 2- پيش زمينه. 715-3- مشكل بن بست عمومي.. 745-3-1- انتظار براي نمودار 765-3-2- نمونههاي بن بست متفاوت... 765-4- الگوريتمهاي آشكار سازي بن بست توزيع شده 775-5- 1-راه حل بن بست... 785-6- روش تايم اوت (زمان سپري شده) 785-7- گروه بندي الگوريتمهاي توزيع شده 795-8- الگوريتم هاي هل دادن (فشار) مسير (جريان كار) 805-9- الگوريتم هايي بر پايه تحقيق.. 825-10- الگوريتمهاي جستجوي لبه. 825-11- منتشر كردن محاسبه. 855-12- خلاصه اي از الگوريتمهاي آشكار سازي بن بست توزيع شده 85فهرست مراجع.. 89 فهرست شكلهاعنوان صفحهNo table of figures entries found.شکل 3‑1: يک گراف تخصيص منبع.. 33شکل 3‑2: مثالي برای گراف در حالت تک منبع.. 36شکل 3‑3: يک سيستم توزيع شده. 38شکل 3‑4: مثال برای الگوريتم چادهری... 45شکل 4‑1- شمای کلی یک محیط میزبان در سیستم نماینده موبایل.. 54شکل 4‑2- یک چرخه بن بست با درخواست قفل محلی، مربعها نشان دهنده نماینده های مصرف کننده و دایره ها نشان دهنده منابع بوده و فلشهای جهت دار نشان دهنده درخواست قفل محلی است. 59شکل 4‑3- مثالی از یک سیستم نماینده موبایل با دوچرخه بن بست: چرخه 1 شامل منابع 1، 2، 4 و چرخه دو شامل منابع 2، 4، 5، 3. 63
پروژه آماده: تشخیص بن بست در سیستم های توزیع شده (94 صفحه فایل ورد - word)
1-1- مقدمه ای بر سیستم های توزیع شده:عمومی ترین دسته بندی که معمولا کاربران عادی از شبکه های کامپیوتری می دانند عبارت است از LAN , WAN , MAN و اینترنت را هم جزء شبکه های کامپیوتری در نظر میگیرند. به ظاهر اینترنت هم نوعی شبکه کامپیوتری است ولی در باطن در دسته بندی دیگری قرار می گیرد که با عنوان سیستم های توزیع شده یا Distributed Systems معرفی می شود.1-2- سیستم توزیع شده چیست ؟در ساده ترین تعریف، سیستم توزیع شده کلکسیونی از کامپیوترهای مستقل است که از دیدگاه کاربران مثل یک سیستم منسجم عمل می کند .1-3- تفاوت سیستم های توزیع شده و شبکه های کامپیوتری در چیست ؟یک سیستم توزیع شده مجموع ای است از چندین کامپیوتر مستقل که کاربر آن را به شکل یک سیستم واحد و متجانس می بیند. در این سیستمها معمولا یک لایه نرم افزاری {روی سیستم عامل} به نام میان افزار middleware است که مدل مورد نظر را پیاده سازی می کند. وب نمونه ای از یک سیستم توزیع شده است، که در آن همه چیز از دیدگاه کاربر یک سند {صفحه وب} به نظر می رسد.در شبکه های کامپیوتری این تجانس، مدل و نرم افزار وجود ندارد.کاربران به طور مستقیم با کامیپوترها در تماسند و هیچ کوششی برای ایجاد تجانس بین آنها صورت نمی گیرد. کاربر به روشنی تفاوت های نرم افزاری و سخت افزاری کامپیوترها را می بینند.در حقیقت، یک سیستم توزیع شده نرم افزاریست که روی شبکه کار می کند و تجانس و شفافیت آن توسط این نرم افزار تعیین می شود. به همین دلیل تفاوت سیستم توزیع شده با یک شبکه کامپیوتری، بیشتر در نرم افزار به ویژه سیستم عامل نهفته است تا سخت افزار.با این همه، شباهت های زیادی بین این دو وجود دارد. مثلا سیستم های توزیع شده و شبکهها هردو به انتقال فایل نیاز دارند. تفاوت در این است که این کار را چه کسی انجام می دهد، سیستم یا کاربر!انواع سیستم های توزیع شده- سیستمهای محاسباتی توزیع شده .- سیستمهای اطلاعاتی توزیع شده .- سیستمهای متفرق توزیع شده .سیستم های محاسباتی توزیع شدهسیستم های محاسباتی توزیع شده دسته مهمی از سیستم های توزیع شده هستند برای کارهای محاسباتی با کارایی بالا به کار می روند .این سیستمها به دو گروه تقسیم می شوند- محاسبات خوشه ای {Cluster Computing}- محاسبات شبکه ای {Grid Computing}1-4- سیستم های محاسبات خوشه ایدر محاسبات خوشه ای سخت افزار شامل مجموعه ای از Pcها یا ایستگاه های کاری مشابه است که از طریق شبکه محلی پرسرعت به هم متصل می شوند، علاوه بر این هر گره سیستم عامل یکسانی را اجرا می کنند.1-5- سیستم های محاسبات شبکه ایاین گروه شامل سیستم های توزیع شده ای هستند که اغلب به صورت فدراسیونی از سیستم های کامپیوتری ساخته می شوند که هر سیستم ممکن است در دامنه مدیریتی مختلفی واقع شود، بر حسب نوع سخت افزار، نرم افزار و فن آوری شبکه فرق کند.1-6- زیر شاخه ها:باید بگم که یکی از وسیع ترین زمینهها در علم کامپیوتر سیستم های توزیع شده هست اما مهمترین زیر شاخه هارو عنوان میکنم:عنوان صفحهفهرست جدولها جفهرست شكلها دفصل 1- سیستم های توزیع شده. 51-1- مقدمه ای بر سیستم های توزیع شده: 51-2- سیستم توزیع شده چیست ؟. 51-3- تفاوت سیستم های توزیع شده و شبکه های کامپیوتری در چیست ؟. 51-4- سیستم های محاسبات خوشه ای.. 71-5- سیستم های محاسبات شبکه ای.. 71-6- زیر شاخه ها: 71-7- Cloud computing and virtualization: 71-8- Parallel and distributed operating systems : 81-9- Grid Computing : 81-10- Wireless and ad-hoc networks: 81-11- Distributed Algorithms : 9فصل 2- الگوریتمهای تشخیص بنبست... 102-1- مقدمه 102-1- 102-1-1- الگوریتم هو- رامامورتی.. 112-2- نمونه هایی از الگوریتم های تشخیص بن بست سلسله مراتبی.. 122-2-1- الگوریتم منساس- مانتز. 122-2-2- الگوریتم هو-رامامورتی.. 132-3- نمونه هایی از الگوریتم های توزیع شده 142-3-1- الگوریتم تشخیص بن بست چندی – مسیرا– هاس.... 142-3-2- الگوریتم محاسبه پخش کردن چندی- مسیرا-هاس.... 152-3-3- الگوریتم براچا- توگ... 172-4- الگوریتم بدال.. 21فصل 3- تشخيص و رفع بن بست در پایگاه داده (سیستم) توزیع شده. 293-1- مقدمه 293-2- روشهای صوری در تشخيص بنبست... 303-3- بنبست از نقطهنظر گراف... 323-4- مدلهای بنبست... 343-4-1- 4.1 مدل تک منبع (one-resource) 343-4-2- 4.2 مدل عطفی (AND model) 363-4-3- مدل عمومی (Genral model) 373-5- مدير داده آغازگر کاوشگر. 413-6- تراکنش کاوشگرها را دريافت نموده میفرستد. 423-7- دريافت کردن کاوشگر توسط مدير داده 433-8- الگوريتم چندی.. 433-9- اثبات درستي.. 44فصل 4- تشخیص و حل بن بست در سیستم های نماینده موبایل (نسل آینده سیستم های توزیع شده) 494-1- مقدمه [ ، ، ، ، و ] 494-2- معرفی سیستم های نماینده موبایل (نسل آینده سیستم های توزیع شده) 504-3- تشخیص بن بست توزیع شده در سیستم های نماینده موبایل.. 524-4- معایب الگوریتم اصلی و مشکلات کارایی الگوریتم.. 574-5- الگوریتم تشخیص بن بست توزیع شده مبتنی بر اولویت بهبود یافته. 644-6- آنالیز کارایی الگوریتم بهبود یافته. 664-7- اثبات درستی الگوریتم.. 67فصل 5- آشكار سازي بن بست در سيستم عامل توزيع شده. 705-1- - مقدمه 705-2- 2- پيش زمينه. 715-3- مشكل بن بست عمومي.. 745-3-1- انتظار براي نمودار 765-3-2- نمونههاي بن بست متفاوت... 765-4- الگوريتمهاي آشكار سازي بن بست توزيع شده 775-5- 1-راه حل بن بست... 785-6- روش تايم اوت (زمان سپري شده) 785-7- گروه بندي الگوريتمهاي توزيع شده 795-8- الگوريتم هاي هل دادن (فشار) مسير (جريان كار) 805-9- الگوريتم هايي بر پايه تحقيق.. 825-10- الگوريتمهاي جستجوي لبه. 825-11- منتشر كردن محاسبه. 855-12- خلاصه اي از الگوريتمهاي آشكار سازي بن بست توزيع شده 85فهرست مراجع.. 89 فهرست شكلهاعنوان صفحهNo table of figures entries found.شکل 3‑1: يک گراف تخصيص منبع.. 33شکل 3‑2: مثالي برای گراف در حالت تک منبع.. 36شکل 3‑3: يک سيستم توزيع شده. 38شکل 3‑4: مثال برای الگوريتم چادهری... 45شکل 4‑1- شمای کلی یک محیط میزبان در سیستم نماینده موبایل.. 54شکل 4‑2- یک چرخه بن بست با درخواست قفل محلی، مربعها نشان دهنده نماینده های مصرف کننده و دایره ها نشان دهنده منابع بوده و فلشهای جهت دار نشان دهنده درخواست قفل محلی است. 59شکل 4‑3- مثالی از یک سیستم نماینده موبایل با دوچرخه بن بست: چرخه 1 شامل منابع 1، 2، 4 و چرخه دو شامل منابع 2، 4، 5، 3. 63