شرح مختصر : آیا میدانید رابطهی کامپیوتر با سیستمعامل چیست؟ آیا میدانید سیستمعامل چه خدمت بزرگی به شما میکند؟ سیستمعامل نرمافزار یا برنامهای است که شما را از پیچیدگیهای سختافزاری دور کرده و رابطه شما را با کامپیوتر به یک رابطه صمیمیتر تبدیل میکند و این هنر سیستمعامل است. کامپیوتر دستگاهی است سختافزاری که از قطعات مختلفی مانند ریزپردازنده، حافظه، دیسک سخت، کیبرد،… تشکیل شده است ولی هیچیک از این قطعات حس و شعور ندارند تا به خودیخود، برای شما کاری انجام دهند، بلکه این شما هستید که بایستی به این مجموعه قطعات بیروح، فرمان بدهید، خطاهای آنها را در نظر بگیرید و از میان عملکرد آنها جواب خود را بیابید و یا ارتباط این قطعات را با یکدیگر حفظ کنید.
در این مقاله سعی بر آن است تا خلاصه ای هر چند ناقص از کلیات سیستم های بلادرنگ و سیستم عامل های بلادرنگ و توضیحاتی در مورد انواع این سیستمها، معیارهای انتخاب و انواع زمانبندی این نوع سیستم ها در اختیار خوانندگان قرار گیرد..
فهرست :
سیستمهای بلادرنگ
شبکه بلادرنگ
سیستم های بلادرنگ سخت و نرم
مدل های وظیفه در سیستمهای بلادرنگ
وظیفه های بلادرنگ دورهای
وظیفه های بلادرنگ نامنظم
زمانبندی در سیستمهای بلادرنگ
شناسایی نیازها
تعداد صفحات:22
شرح مختصر : در ابتدا کامپیوترها خیلی گران (در حد میلیون دلار) بودند و جای زیادی را اشغال می کردند (در حد یک اتاق بزرگ) تعداد کمی کامپیوتر وجود داشت و آنها در لابراتوارهای تحقیقاتی دانشگاهها و مراکز صنعتی بود. این کامپیوترها از یک کنسول و بوسیله یک اپراتور قابل استفاده بودند وکاربران عادی نمیتوانستند از آن استفاده کنند. برنامه نویسان، برنامههای خود را مینوشتند و آن را روی رسانهی خاصی مثل کارت پانچ شده به مرکز کامپیوتر تحویل میدادند تا مورد پردازش قرار گیرند. قبل از پردازش یک برنامه، اپراتور باید محیط لازم برای پردازش را آماده سازی می کرد. این آماده سازی شامل سوار کردن نوارها و بارگذاری کارتهای پانچ شده در کارت خوان و … بود. برنامه اجرا میشود و نتایج اجرای برنامه به صورت پرینت شده به برنامه نویس برگشت داده میشد.
آماده سازی کار در کامپیوترهای اولیه یک مشکل اساسی بود و بسیاری از وقت CPU را هدر میداد. در سالهای 1950 تا 1960 مفاهیم جدیدی برای بهینه سازی صرف وقت CPU ارائه شده که از میان آنها میتوان به موارد زیر اشاره کرد:
1- دستهبندی کارهایی که نیازهای مشابهی دارند قبل از پردازش.
2- توالی اتوماتیک کارها.
3- پردازش غیر بر خط بر پایه مفاهیم با فرینگ و سرکشی
4- چند برنامگی
دستهبندی کارها اندکی استفاده از CPU را افزایش داد چرا که اپراتور تنها وقتی محیط پردازش را تغییر میداد که دسته جدیدی از کارها برای اجرا واگذار میشد. توالی اتوماتیک کارها توسط کارتهای کنترل برای تعیین اغاز و انتهای هرکار مقدار استفاده از CPU را افزایش داد و این بهینه سازی به خاطر حذف توالی کارها توسط انسان بود.
23صفحه
مشخصات فایل
عنوان: سیستم عامل لینوکس
قالب بندی:word
تعداد صفحات:4
محتویات
دستورات لینوکس
اجرای برنامههای طولانیمدت
کامپیوترهای مشتری لینوکس
درایوهای سیستم عامل لینوکس
ماشین مجازی ویندوز در محیط لینوکس
نرمافزارهای سیستم عامل لینوکس
امکانات ویژة سیستم عامل لینوکس
سیستم عامل لینوکس
دستورات لینوکس
برای بهرهمند شدن از امکانات سیستم عامل لینوکس آشنایی با دستورات زیر ضرورت دارد:
دستور cd : با این دستور میتوان به هر یک از زیرشاخههای شاخهای که در آن هستید بروید. در هنگام ورود به سیستم لینوکس کاربران ابتدا در شاخه home خود قرار میگیرند. به عنوان مثال برای رفتن به شاخه /home/reyahi کافی است دستور زیر را تایپ کنید:
cd /home/reyahi
کاربر همیشه میتواند با دستور cd/ به root سیستم برود.
دستورcd .. : برای بازگشتن به شاخه قبلی، این دستور را بدون نام شاخه تایپ کنید.
دستور ls : این دستور فهرستی از زیرشاخهها و فایلهای یک شاخه را نشان میدهد.
دستور ls -l : این دستور اطلاعات بیشتری در باره فایلها و پوشهها به نمایش میگذارد. این اطلاعات در شکل 9-1 نمایش داده شدهاند. هر خط مربوط به مشخصات یکی از فایلها و زیرشاخههای آن شاخه است.
ستون هفتم: نام زیرشاخه یا فایل است.
ستون اول: نوع اجازه دسترسی به آن زیرشاخه یا فایل توسط کاربر دارنده فایل و دیگران را تعریف میکند.
ستون دوم: تعداد لینکهای سخت آن فایل را نشان میدهد.
ستون سوم: نام کاربر دارنده فایل یا زیرشاخه را مشخص میکند.
مشخصات فایل
عنوان:امنیت در سیستم عامل
قالب بندی:word
تعداد صفحات:30
محتویات
مقدمــه
کامپیوتر خود را بهتر بشناسیم
چگونه یک سیستم عامل را انتخاب نمائیم
فناوریهای امنیت اطلاعات واکنشی
کلمات عبور(passwords)
زیستسنجی(biometrics)
نظامهای آشکارساز نفوذی(intrusion detection systems (IDS))
واقعهنگاری(logging)
دسترسی از راه دور(remote accessing)
مهمترین نقاط آسیب پذیر ویندوز
مهمترین نقاط آسیب پذیر ویندوز
اولین نقطه آسیب پذیر : ( Internet Information Services (IIS
سیستم های عامل در معرض تهدید
نحوه تشخیص آسیب پذیری سیستم
نحوه حفاظت در مقابل نقطه آسیب پذیر
سیستم های عامل در معرض تهدید
نحوه تشخیص آسیب پذیری سیستم
نحوه حفاظت در مقابل نقطه آسیب پذیر
و . . .
- مقدمــه
در هر کامپیوتر، حداقل یک سیستم عامل وجود دارد. سیستم عامل مهمترین برنامه نصبشده در کامپیوتر است که وظایف اصلی ذیل را برعهده دارد :
به یک تعبیر ساده میتوان گفت سیستم عامل نقش "روح" را در پیکر سختافزار و شبکه ایفا میکند. تصمیم درخصوص انتخاب سیستم عامل کلیه ابعاد فنی کامپیوتر و فناوری اطلاعات را تحتالشعاع قرار میدهد و هر سیستم عاملی که انتخاب شود خشت اول و زیربنای توسعهفنی و نرمافزاری فناوری اطلاعات را مشخص میکند.
گسترش شبکههای رایانهای در سطح دنیا و امکان ارتباط همه کامپیوترها به یکدیگر، پتانسیل نفوذ به هر کامپیوتر از هر جای دنیا را فراهم نموده است. وجود نقطه ضعف یا آسیبپذیری در سیستم عامل، راه نفوذ رایجتر و در دسترستری را در اختیار مهاجمین قرار میدهد. بر این اساس، امنیت سیستم عامل به منزله مهمترین مولفه در امنیت اطلاعات و شبکههای رایانهای محسوب میشود. وجود ارتباطات و اتصالهای رایانهای گسترده، مسئله جدی امکان جاسوسی الکترونیکی به نفع سازندگان سیستم عامل و قدرتهای سیاسی حاکم بر آنها را مطرح میسازد. از نظر فنی، فناوری فعلی به شکل سادهای امکان اجرای برنامه در محیط طرف مقابل در یک اتصال الکترونیکی را فراهم آورده است.
درصورت بیتوجهی به این مسئله بخشی از مشکلات امنیتی متصور به شرح ذیل است :
اگر سیستم عامل ویندوز، سیستم عامل اصلی در کشور باشد، مسئله امنیت بسیار جدی است. بنا بر گزارشهای رسیده سیستم عامل ویندوز و سایر نرمافزارهای تولیدی مایکروسافت بیشتر در معرض خطر ویروسها و هکرها قرار دارند و بسیاری از کشورها معتقدند که ایالت متحده با منافذ وکانالهای مخفی طراحی شده در این سیستم عامل، اهداف جاسوسی خود را برآورده میکند. مشکلات امنیتی ویندوز وقتی به نقطه اوج رسید که در سال 1999 یک متخصص رمزنگاری کانادایی در آمریکا ، یک ویژگی NSAkey مرتبط با سازمان امنیت ملی (آمریکا) National Security Agency Key) را در ویندوز پیدا کرد و اعلام کرد که ایالات متحده میتواند با جمعآوری سیگنالهای الکترونیکی از سر تا سر جهان و پردازش دقیق آنها جاسوسی کند. هر چند مایکروسافت این ویژگی را بیضرر اعلام کرد اما تضمینی برای این امر وجود ندارد.
اهمیت مطالب فوق وقتی روشن می شود که توجه کنیم:بدون امنیت اطلاعات، امنیت سیاسی اقتصادی و نظامی نیز میسر نخواهد بود.
تصمیم درباره سیستم عامل پایه، یکی از راهبردیترین تصمیمات در برپایی بنای با شکوه فناوری اطلاعات میباشد. در برابر این تصمیم راهبردی دو گزینه اصلی ذیل وجود دارد :
الف) گزینه "سیستم عامل ویندوز": با توجه به اینکه :
بنابراین سیستم عامل ویندوز علیرغم استفاده فعلی در کشور، گزینه مناسبی نیست و با سیستم عامل ایدهآل تطبیق چندانی ندارد.
ب) گزینه استفاده از سیستم عامل متن باز لینوکس : سیستم عامل لینوکس سه ویژگی اساسی دارد :
اولین ویژگی آن این است که کد برنامه آن در اختیار همه بوده، و از قوانین ذیل (مجوز GPL) تبعیت میکند:
< اجرای برنامه با هر موضوع، تحت این سیستم عامل آزاد است.
< تغییر برنامه برای تطبیق با نیازها به شرط ذکر مأخذ آزاد است.
< توزیع نسخه تغییر یافته آن برای بهرهبرداری دیگران از تغییرات انجامشده آزاد است.
در اختیار بودن، کد لینوکس امکان فارسیسازی و بومیسازی سیستم عامل از سطح هسته اصلی تا لایههای کاربردی را امکانپذیر ساخته و امنیت مورد نیاز سازمانها را با استفاده از نرمافزارهای امنیتی داخلی امکانپذیر میسازد (برای ایجاد امنیت نمیتوان به نرمافزارهای خارجی ـ که امکان تعبیه راههای نفوذ از پیش تعیینشده در آن میباشد ـ اعتماد کرد)
دومین ویژگی آن، رایگان بودن آن است که باعث شده حمایت جهانی برنامهنویسان، دانشگاهها، مراکز علمی و تحقیقاتی و حتی شرکتهای تجاری را در اختیار داشته باشد، کشورهای استفادهکننده نیز از این ویژگی برای توسعه ارزان فناوری اطلاعات در بین آحاد جامعه بهره بردهاند.
سومین ویژگی آن، همراهی با تحولات سختافزاری و نرمافزاری فناوری اطلاعات است، دلیل این امر این است که تاکنون برنامهنویسان و سازمانهای متعدد در بسیاری از کشورها روی این سیستم عامل کار کرده و در توسعه مستمر آن سهیم بوده اند. رویکرد متن باز لینوکس، مدل سازمانی توسعه آن و وجود ابزارهای برنامهنویسی قوی و رایگان، همراهی آن با تحولات بینالمللی را تضمین مینماید.
2- کامپیوتر خود را بهتر بشناسیم
کاربران اینترنت و سایر شبکه های کامپیوتری به منظور استفاده از منابع موجود بر روی شبکه از امکانات سخت افزاری و نرم افزاری متعددی استفاده می نمایند . آشنائی با عناصری که دارای جایگاهی اساسی در ایمن سازی یک شبکه کامپیوتری می باشند از زاویه امنیتی بسیار حائز اهمیت است . اگر قرار است ما چیزی را ایمن نمائیم ، اولا" باید بدانیم چه چیزی مشمول این موضوع می شود و ثانیا" شناخت مناسبی را نسبت به آنان پیدا نمائیم . نمی شود اقدام به ایمن سازی یک شبکه نمود بدون این که نسبت به عناصر درگیر در فرآیند ارتباطی شناخت مناسبی وجود داشته باشد.
اجازه دهید این سوال را مطرح نمائیم که در زمان اتصال به اینترنت ، کدامیک از عناصر سخت افزاری و یا نرم افزاری دارای استعداد لازم به منظور آسیب رساندن به اطلاعات بوده و ممکن است امنیت شبکه و اطلاعات را به مخاطره بیاندازد ؟ در صورت ارائه پاسخ مناسب به سوال فوق ، محدوده و نوع ایمن سازی و ایمن نگه داشتن سیستم های کامپیوتری ، مشخص خواهد شد . ما نمی توانیم قدم در جاده ای بگذاریم که خطرات و یا تهدیدات امنیتـی متعددی در کمین ما می باشد ، بدون این که نسبت به نقاط آسیب پذیر و یا بهتر بگوئیم ضربه پذیر آگاهی مناسبی را داشته باشیم .
تعداد بسیار زیادی از کاربران اینترنت را افرادی تشکیل می دهند که فاقد مهارت های خاصی در زمینه فن آوری اطلاعات بوده و از امکانات حمایتی مناسبی نیز برخوردار نمی باشند . سیستم های اینگونه کاربران دارای استعداد لازم به منظور انواع تهاجمات بوده و بطور غیر مستقیم شرایط مناسبی را برای مهاجمان به منظور نیل به اهداف مخرب ، فراهم می نمایند . به نظر می بایست طرحی نو در اندازیم و یک مرتبه و برای همیشه و بصورت کاملا" اصولی و علمی با عناصر درگیر در ایمن سازی یک شبکه کامپیوتری آشنا شده و به بررسی دقیق نقاط حساس و آسیب پذیر در این رابطه بپردازیم .
به منظور ایمن سازی و ایمن نگه داشتن یک شبکه کامپیوتری می بایست هم در سطح و هم در عمق حرکت کرد .
مشخصات فایل
عنوان:انواع سیستم عامل ها و تفاوت آن
قالب بندی:word
تعداد صفحات:37
محتویات
سیستم عامل یعنی
سیستم عامل چه کاری انجام می دهد ؟
انواع سیستم عامل
وظایف سیستم عامل چیست ؟
یونیکس چیست
تاریخچه یونیکس
سیمبان (سیستم عمال گوشی)
چگونگی پیدایش و حیات سیمبان ؟
فناوری های سیمبیان
سیستم عامل پالم
ویلز (Wheels)
مک اواس ده (مکینتاش)
کمبودها و نقایص مک
مقایسه مک و ویندوز
مایکروسافت ویندوز
مایکروسافت ویندوز ۲۰۰۰
ویندوز اکسپی
ویندوز ویستا
ویندوز موبایل
لینوکس
لینوکس چیست؟
تاریخچه پیشرفت سیستمهای یونیکس
مجوز
گنو/لینوکس
توزیعهای لینوکس
گستره
کاربردهای سیستم عاملهای شکل گرفته بر پایه لینوکس
پیکربندی
سرورهای لینوکس
پشتیبانی
برتری لینوکس به ویندوز
تعامل لینوکس و ویندوز
در پایان
منابع تحقیق
سیستم عامل یعنی :
در فرهنگ رایانه سیستم عامل نرمافزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می سازد که برنامههای کاربردی اجرا شده و از خدمات آن استفاده کنند .
امروزه در دنیا سیستم عامل های مختلفی وجود دارد از جمله :
* یونیکس
* لینوکس
* سولاریس (سیستم عامل)
* بی اس دی
* سیستم عامل داس
* مک اواس ده
* ام وی اس
* ویلز (سیستم عامل)
* ویندوز
* سی ئی
* آی فون اواس
* پالم (سیستم عامل)
* سیمبیان (سیستم عامل)
* گوگل اندروید
در زیر به توضیح برخی از انها می پردازیم
سیستم عامل چه کاری انجام می دهد ؟
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسکها ، چاپگرها ، صفحهکلید، صفحهنمایش، واسطهای شبکهای و دیگر دستگاههای ورودی و خروجی تشکیل شده است. اگر سیستم یکپارچهای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستم عامل یک لایه نرمافزاری فراهم میکند که وظیفه مدیریت منابع سیستم را از دوش برنامههای کاربردی رهانیده و کار برنامهنویسی را سادهتر مینماید.
انواع سیستم عامل :
سیستم عامل تک پردازنده : این نوع سیستم عامل ها ، سیستم عامل های نسل چهارم ( نسل فعلی ) هستند که بر روی یک پردازنده اجرا می شوند .
سیستم عامل شبکه ای : این نوع سیستم عامل ها ، از کنترل کننده های واسط شبکه و نرم افزار های سطح پایین به عنوان گرداننده استفاده می کنند و برنامه هایی برای ورود به سیستم های راه دور و دسترسی به فایل از راه دور در آنها به کار گرفته می شود
سیستم عامل توزیع شده : این سیستم عامل ها خود را مانند سیستم عامل های تک پردازنده به کاربر معرفی می کنند ، اما در عمل از چندین پردازنده استفاده می کنند. این نوع سیستم عامل در یک محیط شبکه ای اجرا می شود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر بر می گردد سرعت پردازش در این نوع سیستم بسیار بالاست.
سیستم عامل بی درنگ : از این نوع سیستمهای عامل برای کنترل ماشین آلات صنعتی، تجهیزات علمی و سیستمهای صنعتی استفاده میگردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامههای کاربردی مختص کاربران هستند. یکی از بخشهای مهم این نوع سیستمهای عامل، مدیریت منابع موجود کامپیوتری بگونهای است که یک عملیات خاص در زمانی که میبایست، اجراء خواهند شد , مهمتر اینکه مدیریت منابع بگونه ایست که این عمل در هر بار وقوع, مقدار زمان یکسانی بگیرد.
وظایف سیستم عامل چیست ؟
سیستم عامل دو کار عمده انجام میدهد :
در نگرش پایین به بالا ، منابع منطقی ( مانند فایل ها ) و منابع فیزیکی ( مانند دستگاه های سخت افزاری ) رایانه را مدیریت و کنترل میکند .
در نگرش بالا به پایین ، وظیفه سیستم عامل این است که یک ماشین توسعه یافته ( Extended Machine ) یا ماشین مجازی ( Virtual Machine ) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگی های سخت افزاری رایانه نشوند .
به طور کلی ، وظایف سیستم عامل شامل موارد زیر است :
* استفاده بهینه از منابع و جلوگیری از به هدر رفتن آنها
* تخصیص و آزاد سازی منابع
* اداره صف ها و زمان بندی استفاده از منابع
* حساب داری ( Accounting ) میزان استفاده از منابع
* ایجاد امنیت ( security )
* ایجاد ، حذف و اداره فرایند ها
* ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آنها
* مدیریت فایل ها و پوشه ها
* مدیریت حافظه های اصلی و جانبی
* برقراری امکان دسترسی چندتایی ( Multiaccess ) و اجرای هم روند ( Concurrent ) فرایند ها
* به اشتراک گذاری منابع ( Resource Sharing )
* تعیین راهکار هایی برای اداره بن بست ( deadlock ) ها
* جلوگیری از شرایط رقابتی ( Race Condition ) و تداخل یا در هم قفل شدن (Interlock ) فرایند ها
* جلوگیری از گرسنگی ( Starvation )
کلمات کلیدی : تحقیق درباره انواع سیستم عامل ها و تفاوت آن,سیستم عامل,سیستم عامل چه کاری انجام می دهد,یونیکس چیست,سیستم عامل پالم,مایکروسافت ویندوز,سرورهای
مشخصات فایل
عنوان: عامل و محیط
قالب بندی: پاورپوینت
تعداد اسلاید: 23
محتویات
رئوس مطالب
مشخصات فایل
عنوان: توسعه بر پایة عامل (Agent)
قالب بندی : پاورپوینت
تعداد اسلاید: 40
محتویات
اهداف
مشخصات فایل
عنوان: پاورپوینت سیستم های عامل توزیع شده
قالب بندی: پاورپوینت
تعداد اسلاید: 25
محتویات
مقدمه
مدل
ازریابی کارایی
دستهبندی مسائل توافقی
راهحل برای مسئله توافق Byzantine
الگوریتم Lamport-Shostak-Pease
الگوریتم Delov
شرح الگوریتم Delov توسط 4 قاعده زیر:
دو ویژگی الگوریتم
کابردهای الگوریتم توافق
الگوریتم Interactive Convergence( برای همگامی ساعت)
مقدمه
قرارداد توافق: پردازه رسیدن به تصمیم در حضور خطا به وسیله رله کردن چندبارهی اطلاعات پردازهها به یکدیگر به منظور محو اثر پردازههای خطادار.
نکته: پردازههای سالم خبری از پردازههای خراب ندارند.
دستهبندی مسائل توافقی
1- توافق Byzantine
مقدار اولیهای که قرار است روی آن توافق شود توسط پردازندهای بیخطا اعلام و همه پردازندههای بیخطا مجبور به توافق روی آن مقدار هستند.
راهحل این مسئله باید:
1- توافق: توافق همه پردازندههای بیخطا روی آن مقدار مشترک.
2- اعتبار: اگر پردازنده مبدأ بیخطاست، مقدار توافق شده همان مقدار اولیه باشد.
نکته: اگر مبدأ خطادار باشد، پردازندههای بیخطا روی هر مقدار مشترکی میتوانند توافق کنند.
مشخصات فایل
عنوان: دانلود پاورپوینت درس سیستم عامل
قالب بندی: پاورپوینت
توجه: هر فصل در پاورپوینت جداگانه تنظیم شده است و در مجموع 8 قطعه پاورپوینت میباشد
محتویات
سیستمعامل دو کار عمده انجام میدهد: در نگرش پایین به بالا، منابع منطقی (مانند فایلها) و منابع فیزیکی (مانند دستگاههای سختافزاری) رایانه را مدیریت و کنترل میکند. در نگرش بالا به پایین، وظیفه سیستمعامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی (Virtual Machine) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگیهای سختافزاری رایانه نشوند.
فصل اول : نگاهی کلی به سخت افزار کامپیوتر
فصل دوم : نگاهی کلی به سیستم عامل
فصل سوم : شرح و کنترل فرایند
فصل چهارم : چند پردازشی متقارن و ریزهسته ها
فصل پنجم : همزمانی انحصار متقابل و همگام سازی
فصل ششم : همزمانی و بن بست و گرسنگی
فصل هفتم : مدیریت حافظه
فصل هشتم : حافظه مجازی
➖➖➖➖
مشخصات فایل
عنوان: دانلود تحقیق و مقاله پیرامون سیستم عامل های توزیع شده
قالب بندی: word
تعداد صفحات: 23
محتویات
قسمتی از متن
((اصول سیستمهای عامل توزیع شده))
در طول دو دهه اخیر، حصول پیشرفت در تکنولوژی میکروالکترونیک باعث در دسترس قرار گرفتن پردازندههای ارزان و سریع شده است. از سوی دیگر پیشرفتهای موجود در تکنولوژی ارتباطات باعث به وجود آمدن شبکههای سریع تر و به صرفهتر شده است. از ترکیب پیشرفتها در این دو میدان از تکنولوژیها تکنولوژی ارزانتر و کاراتری به وجود آمده که در آن به جای این که از یک پردازنده خیلی سریع استفاده شود، از چند پردازنده معمولی که به هم متصل شدهاند استفاده میشود.
از نظر معماری، کامپیوترهایی که از چندپردازنده متصل به هم تشکیل شدهاند اساساً بر دو دسته تقسیم میشوند.
پردازنده
پردازنده
پردازنده
پردازنده
حافظه مشترک عمومی
در این سیستمها یک حافظه اولیه (فضای آدرس) عمومی وجود دارد که میان همه پردازندهها به اشتراک گذاشته شده است. اگر برای مثال، پردازندهای در محل × از حافظه مقدار 100 را بنویسد هر پردازنده دیگری که بلافاصله از همان آدرس × بخواند مقدار 100 را دریافت خواهد کرد. بنابراین در این سیستمها هر نوع تبادل میان پردازندهها از طریق حافظه مشترک صورت میگیرد. [شکل]
2- سیستمهای جفت شده ضعیف:
در این معماری پردازندهها حافظه را به اشتراک نمیگذارند و هر پردازنده فضای آدرسدهی محلی مختص به خود را دارد. برای مثال اگر پردازندههای در محل × از حافظه مقدار 100 را بنویسد این عمل فقط محتویات حافظه محلی را عوض خواهد کرد و تاثیری در محتوای حافظه پردازنده های دیگر نخواهد داشت. بنابراین اگر هر پردازنده دیگری از محل× از حافظه را بخواند هرچیزی که قبلاً در آن محلی از حافظه محلی آن بوده به تحویل داده خواهد شد. در این نوع سیستمها هرگونه تبادل میان پردازندهها از طریق شبکهای که پردازندهها را به هم متصل کرده و توسط انتقال پیغام انجام میگیرد.
معمولاً به سیستمهای جفت شده قوی، سیستمهای پردازش موازی اطلاق می گردد و به سیستمهای جفت شده ضعیف «سیستمهای محاسبات توزیع شده» یا به طور سادهتر «سیستمهای توزیع شده» اطلاق میشود.
در این مقاله منظور از جمله سیستم توزیع شده» همان سیستمهای توزیع شده واقعی یا «سیستمهای محاسبات توزیع شده» است که از سیستم عاملهای توزیع شده استفاده میکنند.
در این مقاله عبارت «سیستمهای محاسبات توزیع شده» برای سیستمهای جفت شده ضعیف به کار برده خواهد شد. در مقایسه با سیستم های جفت شده قوی، پردازندههای سیستمهای محاسبات توزیع شده میتوانند خیلی دور از هم قرار گرفته باشند تاحدی که یک ناحیه جغرافیایی را تحت پوشش قرار دهند. بعلاوه، در سیستمهای جفت شده قوی، تعداد پردازندههایی که به طور موثر میتوانند مورد استفاده قرارگیرند مواجه با محدودیت ناشی از پهنای باند حافظه مشترک است، در حالی که در سیستمهای محاسبات توزیع شده چنین حالتی وجود ندارد و تقریباً به طور کامل آزادی داریم که هر تعداد که دلمان خواست پردازنده داشته باشیم. یعنی محدودیتی در مورد تعداد پردازندهها در «سیستمهای محاسبات توزیع شده» وجود ندارد.
به طور خلاصه یک سیستم محاسبات توزیع شده اساساً مجموعهای است از پردازندههایی که توسط یک شبکه ارتباطی به هم متصل شدهاند که هر پردازنده حافظه محلی و دستگاههای جانبی خود را دارد و ارتباط میان هر دو جفت پردازنده از سیستم از طریق عبور پیغام از شبکه ارتباطی صورت میگیرد. برای هر پردازنده، منابع آن «محلی» هستند و این در حالی است که پردازندههای دیگر و منابع آنها «دور» هستند به پردازنده و منابع آن به طور معمول «گره»، «سایت» یا «ماشین» سیستم عامل توزیع شده اطلاق میشود.
سیر تکامل سیستم های عامل توزیع شده
در ابتدا کامپیوترها خیلی گران (در حد میلیون دلار) بودند و جای زیادی را اشغال می کردند (در حد یک اتاق بزرگ) تعداد کمی کامپیوتر وجود داشت و آنها در لابراتوارهای تحقیقاتی دانشگاهها و مراکز صنعتی بود. این کامپیوترها از یک کنسول و بوسیله یک اپراتور قابل استفاده بودند وکاربران عادی نمیتوانستند از آن استفاده کنند. برنامه نویسان، برنامههای خود را مینوشتند و آن را روی رسانهی خاصی مثل کارت پانچ شده به مرکز کامپیوتر تحویل میدادند تا مورد پردازش قرار گیرند. قبل از پردازش یک برنامه، اپراتور باید محیط لازم برای پردازش را آماده سازی می کرد. این آماده سازی شامل سوار کردن نوارها و بارگذاری کارتهای پانچ شده در کارت خوان و … بود. برنامه اجرا میشود و نتایج اجرای برنامه به صورت پرینت شده به برنامه نویس برگشت داده میشد.
آماده سازی کار در کامپیوترهای اولیه یک مشکل اساسی بود و بسیاری از وقت CPU را هدر میداد. در سالهای 1950 تا 1960 مفاهیم جدیدی برای بهینه سازی صرف وقت CPU ارائه شده که از میان آنها میتوان به موارد زیر اشاره کرد:
دستهبندی کارها اندکی استفاده از CPU را افزایش داد چرا که اپراتور تنها وقتی محیط پردازش را تغییر میداد که دسته جدیدی از کارها برای اجرا واگذار میشد. توالی اتوماتیک کارها توسط کارتهای کنترل برای تعیین اغاز و انتهای هرکار مقدار استفاده از CPU را افزایش داد و این بهینه سازی به خاطر حذف توالی کارها توسط انسان بود.
پردازش غیر برخط هم استفاده از CPU را با اجازه روی هم افتادگی عملیات CPU و دستگاههای ورودی خروجی بهبود بخشید. در این روش این دو عمل روی دو ماشین مجزا از هم اجرا میشدند ( عملیات ورودی خروجی از عملیات CPU کندتر بود) در نهایت «چند برنامگی»به وجود آمد که در این روش همیشه CPU برای اجرا دستورالعملی دارد و بیکار نیست و به این طریق استفاده از CPU حداکثر میشد.
با این حال در هیچ یک از این متدها اجازه استفاده همزمان چند کاربر و تراکنش آنها با یک سیستم کامپیوتری مهیا نبود و کاربران نمیتوانستند منابع خود را به صورت همزمان به اشتراک بگذارند. بنابراین اجرای کارهای تعاملی که متشکل از اعمال کوچکی است و عمل بعدی به اجرای عمل قبلی وابسته است تبدیل به یک عمل ملال آور و زمانبر شده بود. بسط و عیبیابی برنامهها از نمونههای برنامههای تعاملی است. این عمل غیرممکن بود تا وقتی که در اوایل دهه 1970 که در کامپیوترها از مفهوم «اشتراک زمانی» برای قالب آمدن بر این مشکل بهره گرفته شد.
سیستمهای اشتراک زمانی اولیه دارای چند ترمینال بودند که به کامپیوتراصلی متصل بود.
این ترمینالها در اطاقی متفاوت با اطاقی که کامپیوتر اصلی در آن بود قرار داشتند. حالا دیگر با استفاده از این ترمینالها کاربران متعددی می توانستند کارهای خود را به طور همزمان اجرا کنند و منابع کامپیوتر را به اشتراک بگذارند. در یک سیستم اشتراک زمانی هر کاربر این طور تصور می کرد که برای خود یک کامپیوتر مجزا دارد چرا که سیستم با سرعت خیلی زیاد از کاریک کاربر دیگر در فاصلههای زمانی کوتاه سویچ میکرد و در هر برهه زمانی که به یک کاربر اختصاص داده میشد مقداری از کار هر کار بر اجرا میشد. با این که نظریه اشتراک زمانی در اوایل دهه 1960 بیان گردید تا اوایل دهه 1970 سیستمهای اشتراک زمانی زیاد مورد استفاده نبودند و علت هم این بود که پیاده سازی آنها خیلی سخت و هزینهبر بود.
پیشرفتهای موجود در سخت افزارهای پردازش موازی باعث کاهش اندازه و افزیش سرعت پردازش کامپیوترها شد.
در نتیجه این تغییر و تحولات، کامپیوترهای کوچک و ارزان که قابلیت پردازشی زیادتری هم داشتند جایگزین کامپیوترهای بزرگ شدند و این کامپیوترهای کوچک «مینی کامپیوتر» نام گرفتند.
ظهور سیستمهای اشتراک زمانی اولین قدم به سوی سیستمهای محاسبات توزیع شده بود چرا که در این نوع سیستمها مفاهیم زیر تعریف شدند:
در ابتدا ترمینالهای سیستمهای اشترک زمانی «ترمینال گنگ» بودند یعنی همه پردازش توسط سیستم کامپیوتری اصلی انجام میشد. پیشرفتهای تکنولوژی ریزپردازنده در طول دهه 1970 این اجازه را داد تا ترمینالهای گنگ با ترمینالهای هوشمند جایگزین شوند و با این کار مفاهیم پردازش غیر آنلاین و اشتراک زمانی با هم ادغام شدند تا مزایای هر دو تکنولوژی را روی یک سیستم بتوان به وجود آورد.
تکنولوژی میکروپروسسور به سرعت پیشرفت کرد تا جایی که در اوایل دهه 1980 کامپیوترهای تک کاربرده که «ایستگاه کاری» نام گرفته بودند به وجود آمدند و دارای قدرت پردازشی تقریباً برابر با «مینی کامپیوتر» بودند و با هزینه اندکی کاربر می توانست آن را خریداری کند.
این ایستگاههای کاری بعدها به عنوان ترمینالها در سیستمهای اشتراک زمانی مورد استفاده قرار گرفتند. در این نوع از سیستمهای اشتراک زمانی حجم زیادی از عملیات کاربر میتوانست در ترمینال آن کاربر به خصوص اجرا نشود و در نتیجه این امکان به وجود میآمد که کامپیوتر اصلی میان تعداد زیادی کاربر به اشتراک گذاشته شود. در این سیستمها منابع به اشتراک گذاشته شده مثل فایلها، پایگاه دادهای، کتابخانه نرم افزار و … روی کامپیوتر اصلی قرار داشتند. به این سیستمها، «سیستمهای اشتراک زمانی مجتمع» اطلاق میشد.
سیستمهای اشتراک زمانی مجتمع که در بالا به آنها اشاره گردید یک محدودیت داشتند و آن محدودیت این بود که ترمینالها تا وقتی که از کابلهای معمولی برای اتصال به کامپیوتر اصلی استفاده میشد، نمیتوانست در فاصله خیلی زیادی از کامپیوتر اصلی قرار داشتهباشند.
همزمان با این پیشرفتها، در اواخر دهه 1960 در زمینه شبکههای کامپیوتری پیشرفتهایی حاصل شد و تا اوایل دهه 1970 ادامه داشت و دو تکنولوژی کلیدی در ساخت و طراحی شبکههای کامپیوتری معرفی گردید:
با استفاده از تکنولوژی LAN، کامپیوترهای موجود در یک ساختمان و یا دانشکده به هم متصل میشوند و میتوانستند اطلاعات را با سرعت تقریبی 10 Mbps با هم مبادله گنند. و در سوی دیگر تکنولوژی WAN قرار داشت که کامپیوترهای موجود در شهرهای متفاوت و یا کشورها و یا قارههای جدا از هم به هم متصل می شدند و میتوانستند اطلعات را با سرعت 56kbps با هم مبادله کنند.
اولین نوع از شبکههای محلی پرسرعت، اترنت بود که در زیراکس پارک در سال 1973 به وجود آمد و اولین نمونه از شبکههای گسترده، آرپانت بود که توسط دپارتمان گسترش دفاع ایالات متحده در سال 1969 درست شد. سرعت انتقال اطلاعات در شبکه ها رفته رفته زیادتر می شد تا اینکه در سال 1960 برای شبکههای محلی سرعت Mbps100 و برای شبکههای گسترده سرعت kbps 64 فراهم بود.
اخیراً در اوایل دهه 1990 یک پیشرفت عمده دیگر هم در تکنولوژی شبکه پدیدار شد که ATM نام گرفت. با استفاده از این تکنولوژی می توان شبکهای خیلی سریع را بنانهاد به طوری که میتواند در شبکههای محلی و گسترده اطلاعات را با سرعت 1.2 گیگابایت در ثانیه انتقال داد. وجود این گونه شبکههای انتقال دادهای پرسرعت به سیستمهای محاسبات توزیع شده این اجازه را داده که از یک کلاس جدید از برنامههای کاربردی، پشتیبانی کنند. این کلاس جدید که برنامههای
و . . .