691 likes | 2.45k Views
Distributed Systems سیستم های توزیع شده. مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92. معرفی درس. زمان کلاس: دوشنبه 15:30-14، چهارشنبه 17:30-16 مکان: سمعی-بصری گروه کامپیوتر توزیع نمره: امتحان پایان ترم: 8نمره
E N D
Distributed Systemsسیستم های توزیع شده مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92
معرفی درس • زمان کلاس: • دوشنبه 15:30-14، چهارشنبه 17:30-16 • مکان: • سمعی-بصری گروه کامپیوتر • توزیع نمره: • امتحان پایان ترم: 8نمره • امتحان میان ترم: 5 نمره • ارائه (مرتبط با مباحث درس): 5 نمره • تمرینها: 2 نمره • مرجع درس: • Tanenbaum, A. S., Van Steen, M., Distributed Systems, Principles and Paradigms, 2nd edition, Pearson Education, 2007. • مطالب درسی کتاب طبق جدول زمانبندی ارائه میشود. • به هر دانشجو یک مقاله داده میشود که مرتبط با عنوان آن میبایست حداقل 3 مقاله دیگر نیز پیدا کرده و ارائه خود را آماده کند. • زمان ارائهها در جدول زمانبندی مشخص شده است.
معرفی درس (2) • عناوین این درس در گذشته • سیستم عامل پیشرفته • سیستم های عامل توزیع شده (آخرین کتاب در سال 1995) • در گذشته • ایجاد دید یکپارچه برعهده سیستم عامل بود. • اکنون • سیستم عامل وظایف خودش را انجام دهد و دید یکپارچه برعهده لایه دیگری روی لایه سیستم عامل • بیشتر مباحث نرم افزاری می شود چون روی سیستم عامل است.
سرفصل مطالب کتاب • فصلهای 1 و 2: مقدمات، کلیات، اهداف، مدلها • مهم همراه با مثال های کاربردی • فصل 3: فرآیندها، نخها در سیستم های توزیع شده • مقدمات، مجازی سازی، کلاینت ها، سرورها، مهاجرت کد و مهاجرت فرآیندها • فصل 4: ارتباطات و مدلهای ارتباطی • RPC، مبتنی بر پیغام، مبتنی بر استریم، چندپخشی • فصل 5: روشهای نامگذاری • مشخص کردن موجودیت های مجزا توسط یک سیستم نامگذاری
سرفصل مطالب کتاب (2) • فصل 6: سنکرون سازی • استفاده از ساعت منطقی، روشهای همزمانی، انحصارمتقابل • در سیستم های توزیع شده، ماشین ها مجزا هستند، بنابراین ساعتها با یکدیگر فرق می کند. • فصل 7: سازگاری و تکرار • تکرار: بیش از یک نسخه از داده ها داشته باشیم. • چه کنیم که نسخه های مختلف، یکسان به نظر برسند. • فصل 8: تحمل پذیری خطا • فصل 9: امنیت • فصلهای 10-13: انواعی از سیستم های توزیعی
فصل 1: مقدمه مرجان نادران طحان استادیار گروه مهندسی کامپیوتر دانشگاه شهید چمران اهواز m.naderan@scu.ac.ir نیمسال دوم 93-92
سرفصل مطالب • تعریف • اهداف • شفافیت • باز بودن • مقیاس پذیری • انواع سیستم های توزیعی
تعریف • تعریف سیستم توزیع شده: • مجموعه ای از ماشین های مستقل از هم که از دید کاربر یک سیستم یکپارچه دیده می شود. • ویژگی ها: • ”مستقل بودن از هم“ را کاربر نمی بینید. • یکپارچگی مستلزم همکاری و تشریک مساعی سیستم ها با یکدیگر است. • هیچ فرضی راجع به خود سیستم ها یا نحوه ارتباط آنها با یکدیگر نمی شود (هرچند برخی الگوریتم ها و روشها ممکن است محدودیت هایی داشته باشند). • تفاوت سیستم ها با یکدیگر از نظر کاربر پوشیده است. • روش تعامل سیستم ها با یکدیگر باید سازگار و یکسان باشد. • باید براحتی قابلیت توسعه داشته باشند. • باید براحتی در دسترس باشد.
تعریف (2) • تعریف میان افزار M/W: • لایه نرم افزاری که بین برنامه کاربردی (کاربر) و سیستم عامل قرار می گیرد. • ویژگی های سیستم های توزیع شده مثل گره های نامتجانس را پشتیبانی کند و دید یکپارچه را به کاربر ارائه میدهد. • اضافه کردن این لایه باعث می شود که برنامه های کاربردی و سیستم عامل ها کار اضافه ای انجام ندهند.
تعریف (3) • آیا می شود به جای سیستم عامل های مجزا، یک سیستم عامل توزیعی درست کنیم که همان دید یکپارچه را به ما بدهد؟ • Distributed OS • سیستم عامل های معمولی، هیچ کدام توانایی این کار را ندارند. • باید یک سیستم عامل خاص مجزا باشد. • بحث اول جلسه: در قدیم این ایده مطرح بوده است. • تکنیک اصلی این سیستم • Distributed Shared Memory (DSM) • حافظه مشترک توزیعی، یک حافظه مشترک است. عاملی که سبب شد این ایده استفاده نشود: یکسان بودن سخت افزارها البته در جای خودش قابل استفاده است ولی کاربرد آن بسیار محدود است.
اهداف • اهداف سیستم های توزیعی: 1. اتصال راحت کاربران و منابع به یکدیگر • دسترسی به منابع از راه دور و اشتراک منابع • مثال منابع: پرینتر، کامپیوتر، ابزار ذخیره سازی، داده ها، صفحات وب، شبکه ها • دلیل به اشتراک گذاری منابع چیست؟ • اقتصادی، دسترسی راحت و آسان، • مثال: groupware: نرم افزارهایی برای ویرایش، کنفرانس از راه دور و ... مشترک بین اعضای یک سازمان مجازی • تهدید بزرگ اشتراک منابع چیست؟
اهداف (2) 2. پنهان کردن توزیع شدگی منابع در شبکه از دید کاربر • شفافیت (transparency) 3. به راحتی بتوان سرویس ها را به این سیستم اضافه کرد و متقاضیان هم بتوانند به راحتی به سیستم وصل شود. واسط ها استاندارد باشند. • سیستم های باز (open) 4. به راحتی بتوان کاربران جدید به سیستم اضافه کرد و آن را گسترش داد. • مقیاس پذیر بودن سیستم ها (Scalable)