دانلود اصول سیستمهای عامل توزیع شده

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

فروشنده فایل

کد کاربری 1024
کاربر

اصول سیستمهای عامل توزیع شده

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

از نظر معماری، کامپیوترهایی که از چندپردازنده متصل به هم تشکیل شده‌اند اساساً بر دو دسته تقسیم می‌شوند.

1- سیستم‌های جفت شده قوی

2- سیستم‌های جفت شده ضعیف

1- سیستم‌های جفت شده قوی:

در این سیستم‌ها یک حافظه اولیه (فضای آدرس) عمومی وجود دارد که میان همه پردازنده‌ها به اشتراک گذاشته شده است. اگر برای مثال، پردازنده‌ای در محل × از حافظه مقدار 100 را بنویسد هر پردازنده دیگری که بلافاصله از همان آدرس × بخواند مقدار 100 را دریافت خواهد کرد. بنابراین در این سیستم‌ها هر نوع تبادل میان پردازنده‌ها از طریق حافظه مشترک صورت می‌گیرد

سیستم‌های جفت شده ضعیف:

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

معمولاً به سیستم‌های جفت شده قوی، سیستم‌های پردازش موازی اطلاق می گردد و به سیستم‌های جفت شده ضعیف «سیستم‌های محاسبات توزیع شده» یا به طور ساده‌تر «سیستم‌های توزیع شده» اطلاق می‌شود.

در این مقاله منظور از جمله سیستم توزیع شده» همان سیستم‌های توزیع شده واقعی یا «سیستم‌های محاسبات توزیع شده» است که از سیستم عامل‌های توزیع شده استفاده می‌کنند.

در این مقاله عبارت «سیستم‌های محاسبات توزیع شده» برای سیستم‌های جفت شده ضعیف به کار برده خواهد شد. در مقایسه با سیستم های جفت شده قوی، پردازنده‌های سیستم‌های محاسبات توزیع شده می‌توانند خیلی دور از هم قرار گرفته باشند تاحدی که یک ناحیه جغرافیایی را تحت پوشش قرار دهند. بعلاوه، در سیستم‌های جفت شده قوی، تعداد پردازنده‌هایی که به طور موثر می‌توانند مورد استفاده قرارگیرند مواجه با محدودیت ناشی از پهنای باند حافظه مشترک است، در حالی که در سیستم‌های محاسبات توزیع شده چنین حالتی وجود ندارد و تقریباً به طور کامل آزادی داریم که هر تعداد که دلمان خواست پردازنده داشته باشیم. یعنی محدودیتی در مورد تعداد پردازنده‌ها در «سیستم‌های محاسبات توزیع شده» وجود ندارد.

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

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

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

آماده سازی کار در کامپیوترهای اولیه یک مشکل اساسی بود و بسیاری از وقت CPU را هدر می‌داد. در سالهای 1950 تا 1960 مفاهیم جدیدی برای بهینه سازی صرف وقت CPU ارائه شده که از میان آنها می‌توان به موارد زیر اشاره کرد: