مزرعه چاپارل

همه چیز و هیچ چیز

مزرعه چاپارل

همه چیز و هیچ چیز

سیستم عامل چیست ؟

سیستم عامل چیست ؟


در فرهنگ رایانه سیستم عامل (به انگلیسی: Operating System) اساسی‌ترین برنامه سیستمی است که مدیریت کلیه منابع سیستم را به عهده گرفته و بستری را فراهم می سازد که برنامه‌های کاربردی می‌توانند بر روی آن اجرا شوند.

 

دلایل ایجاد سیستم عامل

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

وظایف سیستم عامل

سیستم عامل دو کار عمده انجام می‌دهد :

در نگرش پایین به بالا ، منابع منطقی ( مانند فایل ها ) و منابع فیزیکی ( مانند دستگاه های سخت افزاری ) رایانه را مدیریت و کنترل می‌کند .

در نگرش بالا به پایین ، وظیفه سیستم عامل این است که یک ماشین توسعه یافته ( Extended Machine ) یا ماشین مجازی ( Virtual Machine ) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگی های سخت افزاری رایانه نشوند .

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

 

    * استفاده بهینه از منابع و جلوگیری از به هدر رفتن آنها

    * تخصیص و آزاد سازی منابع

    * اداره صف ها و زمان بندی استفاده از منابع

    * حساب داری ( Accounting ) میزان استفاده از منابع

    * ایجاد امنیت ( security )

    * ایجاد ، حذف و اداره فرایند ها

    * ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آنها

    * مدیریت فایل ها و پوشه ها

    * مدیریت حافظه های اصلی و جانبی

    * برقراری امکان دسترسی چندتایی ( Multiaccess ) و اجرای هم روند ( Concurrent ) فرایند ها

    * به اشتراک گذاری منابع ( Resource Sharing )

    * تعیین راهکار هایی برای اداره بن بست ( deadlock ) ها

    * جلوگیری از شرایط رقابتی ( Race Condition ) و تداخل یا در هم قفل شدن ( Interlock ) فرایند ها

    * جلوگیری از گرسنگی ( Starvation )

 

سیستم عامل های فعلی

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

نام چند ‌سیستم عامل معروف جهان در زیر آمده است :

 

    * یونیکس

    * لینوکس

    * سولاریس (سیستم عامل)

    * بی اس دی

    * مک او اس

    * ام وی اس.

    * ویلز (سیستم عامل)

    * ویندوز اکس‌پی

    * ویندوز ویستا

    * ویندوز ان‌تی

    * ویندوز سی‌ئی

    * پالم (سیستم عامل)

    * سیمبیان (سیستم عامل)

 

انواع سیستم عامل

 

سیستم عامل تک پردازنده

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

 

سیستم عامل شبکه ای

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

 

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

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

 

سیستم عامل بی درنگ

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

 

سیستم عامل,بی اس دی,زبان انگلیسی,سولاریس ,سیمبیان,علوم رایانه,فایل,فرایند,لینوکس,مدیریت حافظه,ویلز

 

علوم رایانه چیست ؟

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

 

تاریخ و پیشینه

اگرچه آغاز ساخت رایانه‌های رقمی الکترونیک را می‌شود از اواخر دهه ۱۹۳۰ میلادی دانست، ریشه‌ها، مبادی، و سر‌چشمه‌های دانش رایانه را باید در روشهای محاسباتی کهن با تاریخ و سوابق هزاران ساله نشان گرفت. در بسیاری از روش‌های محاسباتی بابلیان الگوریتم‌هائی به‌کار می‌رفته هم‌اکنون نیز رایج است. کتاب الجبر و مقابله خوارزمی پر از روش‌های محاسباتی الگوریتمی است و بی‌دلیل نیست که نام الگوریتم از نام خوارزمی گرفته شده است.

دانش رایانه به معنی امروزین آن احتمالاً از مطالعات چارلز بابیج و آیدا آگوستا، کنتس لاولیس شروع می‌شود. در سال 1900 IBM ماشین هایی دارای پانچ کارد به فروش می رساند. به هر حال این ماشین ها برای انجام یک کار یا زیرمجوعه ای از کارهای معین ساخته شده بودند.در طول دهه 1940 ماشین های محاسب بسیار قدرتمندی ساخته شدند و عبارت رایانه(کامپیوتر) به آنها اطلاق شد که جایگزین نمونه های انسانی خود شده بودند زمانی که مشخص شد می توان از رایانه ها برای کارهایی غیر از محاسبات ریاضی استفاده کرد علم رایانه به تمام کارهایی محاسباتی گسترش یافت. برای اولین بار در سال 1960 علوم رایانه بصورت یک رشته مستقل بوجود آمد و آن را با مدارک معتبر در دانشگاه ها ارائه نمودند. از زمانی که رایانه ها در دسترس عموم قرار گرفتند برنامه های مختلف ارائه شده برای آنها زمینه های جداگانه برای مطالعه گشته اند.

 

پیشرفت های بزرگ

با وجود عمر کم آن به عنوان یکی رشته دانشگاهی علم رایانه کمک های اساسی به دانش و اجتماع نموده است. که شامل موارد زیر است:

 

کاربردها در علم رایانه

    * یک تعریف رسمی برای محاسبات و محاسبه پذیری و اثبات مسائلی که غیرقابل حل و سخت است.

    * مفهوم زبان برنامه نویسی ابزاری برای بیان دقیق اطلاعات تحلیل پذیر در سطوح مختلف انتزاع است.

 

کاربردها خارج از علم رایانه

 

    * موجب بوجود آمدن انقلاب دیجیتال شد که یه عصر اطلاعات فعلی منجر شد.

    * در رمزنگاری شکسته شدن کد انیگما کمکی اساسی برای پیروزی متفقین در جنگ جهانی دوم شده است.

    * محاسبات علمی مطالعه پیشرفت ذهن و بررسی ژنوم انسانی در پروژه ژنوم انسانی را ممکن ساخت. پروژه های محاسبات توزیعی Folding@home امکان بررسی پروتئین ها را فراهم ساخت.

 

ارتباط با سایر رشته ها

علی رغم نام آن علم رایانه بیشتر در زمینه هایی غیر از علم رایانه به بررسی می پردازد. بدین دلیل نام های جایگزین دیگری برای آن پیشنهاد شده است. دانشمند دانمارکی پیتر ناور عبارت داده شناسی (datalogy) را پیشنهاد نمود تا این حقیقت را که این رشته علمی بیشتر به داده ها و پردازش آنها توجه دارد نه لزوما رایانه ها. اولین موسسه علمی که عبارت داده شناسی را بکار برد DIKU گروه داده شناسی در دانشگاه کپنهاگ بوده است که توسط پیتر ناور در سال 1969 به عنوان اولین گروه داده شناسی بنا گذاشته شد. این عبارت بیشتر در کشورهای اسکاندیناوی مورد استفاده قرار گرفته است. در اولین روزهای این علم در ارتباطات ACM نام های دیگری نیز برای دانشمندان این زمینه پیشنهاد شده بود مانند turingineer و turologist و flowcharts-man و applied-metamathematition و applied epistomologist. سه ماه بعد در این مجله عبارت comptologist پیشنهاد شد و سال بعد عبارت hypologist . اخیرا عبارت computics نیز پیشنهاد شده است.

 

در حقیقت عبارت زیر از دانشمند معروف علم رایانه ادگار دیجیکیسترا نقل قول شده است:

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

 

حوزه‌های اصلی علم رایانه

 

پایه‌های ریاضی

    * جبر بولی

    * ریاضیات گسسته

    * نظریه گراف

    * نظریه اطلاعات

    * منطق ریاضی

    * آمار و احتمالات

 

علم نظری رایانه

    * نظریه محاسبه‌پذیری

    * طراحی و تحلیل الگوریتم‌ها

          o هندسهٔ محاسباتی

          o الگوریتم‌های تصادفی

          o نظریهٔ الگوریتمی بازی

          o بیوانفورماتیک

    * پیچیدگی محاسباتی

    * رمزنگاری

    * محاسبه‌ٔ کوانتومی

 

نرم‌افزار

·         سیستم

 

        * سیستم عامل

        * شبکه‌های رایانه‌ای

        * مهندسی نرم‌افزار

        * زبان‌های برنامه‌سازی

        * همگردان (کامپایلر)

 

·         کاربرد

 

        * پایگاه داده

        * گرافیک رایانه‌ای

        * هوش مصنوعی

 

سخت‌افزار

    * علوم پایه ای و پیشرفته سخت افزار

    * ریز‌برنامه‌سازی و کنترل

    * ‌طراحی مدارهای منطقی

    * طراحی مدارهای VLSI

    * کارآئی و اطمینان‌پذیری
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد