سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

جزوه آزمایشگاه سیستم عامل

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

جزوه آزمایشگاه سیستم عامل


جزوه آزمایشگاه سیستم عامل

این فایل حاوی جزوه آزمایشگاه سیستم عامل می باشد که به صورت فرمت PDF در 54 صفحه در اختیار شما عزیزان قرار گرفته است، در صورت تمایل می توانید این محصول را از فروشگاه خریداری و دانلود نمایید.

 

 

 

 

 

فهرست
تاریخچه و معرفی لینوکس
مزایای لینوکس
معایب لینوکس
بررسی فایل سیستمهای موجود در لینوکس
Linux Fedora نصب سیستم عامل 8
ساختار فایل سیستم در لینوکس
راهنمای خط فرمان لینوکس
ویرایشگر متن
نصب برنامه های کاربردی
Network Configuration ابزار تنظیمات شبکه به نام
اتصال به اینترنت

 

تصویر محیط برنامه


دانلود با لینک مستقیم


جزوه آزمایشگاه سیستم عامل

ویندوز اکس پی لپتاب DELL- اورجینال

اختصاصی از سورنا فایل ویندوز اکس پی لپتاب DELL- اورجینال دانلود با لینک مستقیم و پر سرعت .

ویندوز اکس پی لپتاب DELL- اورجینال


ویندوز اکس پی لپتاب DELL- اورجینال

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

.............

شما در حال مشاهده بخش فروشگاه اینترنتی سایت هستید ما در این سایت محصولات مفید آموزشی و کاربردی را هم به شما ارائه می کنیم . ما بهترین محصولات را برای رضایت شما گرد آورده ایم

در این بخش محصول ویندوز اکس پی لپتاب DELL ارائه شده است

جهت سفارش ویندوز اکس پی لپتاب DELLبعد از مطالعه کامل توضیحات این کالا ، لطفا فرم سفارش کالا را که در انتهای توضیحات درج شده پر کنید. ارسال به صورت پستی خواهد بود و با پست سفارشی ارسال می شود و حدود 2 الی 4 طول می کشد تا کالا را دریافت کنید. هزینه کالا را موقع تحویل به مامور پست پرداخت کنید. لذا موقع سفارش نیاز به پرداخت هیچ مبلغی نیست .

اگر هم سوالی یا نظری در مورد ویندوز اکس پی لپتاب DELLدارید می توانید در انتهای فرم سفارش و در قسمت پیغام درج کنید

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

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

توضیحات ویندوز اکس پی لپتاب DELLبه شرح زیر است:
آخرین و کاملترین نسخه ویندوز Xp اورجینال لپتاب های Dell آپدیت شده و بدون ایجاد اختلال برای کامپیوتر همراه شما- بدون نیاز به وارد کردن شماره سریال

این ویندوز Bootableمی باشد و در هنگام نصب مشکلی با هارد دیسک لپتاپ Dell شما ندارد.
با نصب این ویندوز برای همیشه یک ویندوز سبک و پرسرعت را برای لپتاپ خود تجربه کنید..

ش.م:741/6121

فروشنده: نوین تحصیل


دانلود با لینک مستقیم


ویندوز اکس پی لپتاب DELL- اورجینال

دانلود مقاله کامل درباره سیستم عامل

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

دانلود مقاله کامل درباره سیستم عامل


دانلود مقاله کامل درباره سیستم عامل

لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 55

 

مقدمه :

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

سطوح زمانبندی

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

 

شکل 10-1 ) سطوح زمانبندی

  • زمانبندی سطح بالا - این زمانبندی گاهی به عنوان زمانبندی کار نامیده می شود و تعیین می کند که کدام کارها بطور فعال منابع سیستم را در اختیار می گیرد و تکمیل می شود. همچنین بعضی اوقات زمانبندی ورود نامیده می شود، زیرا تعیین می کند که کدام کارها اجازه ورود به سیستم را می یابد. وقتی کاری اجازه ورود پیدا کرد، یکی از فرایندهای شناخته شده سیستم خواهد شد.
  • زمانبندی سطح میانی – این زمانبندی تعیین می کند که کدام فرایندها اجازه خواهد یافت در اختیار cpu قرار بگیرد. زمانبندی سطح میانی با روش تعلیق و فعال کردن فرایندها به نوسانات بار سیستم پاسخ می دهد تا بتواند به عملکرد متعادل و کارآیی کلی سیستم کمک کند. بنابراین زمانبندی میانی در واقع به عنوان بافر بین ورود کارها به سیستم و تخصیص cpu به این کارها عمل می کند.
  • زمانبندی سطح پائین – این زمانبندی تعیین می کند که کدامیک از فرایندهای آماده در اختیار cpu قرار خواهد گرفت (اگر cpu قابل دسترس باشد) و بطور واقعی cpu را در اختیار این فرایند قرار می دهد (فرایند را به cpu می فرستد). زمانبندی سطح پایین به وسیله ارسال کننده انجام می شود که در هر ثانیه چندین بار عمل می کند. بنابراین ارسال کننده می باید در تمامی اوقات در حافظه اصلی مقیم باشد.

در این فصل ما دربارة سیاستهای مختلف زمانبندی که در سیستمهای عامل به کارگیری می شود و نیز روشهای پیاده سازی این سیاستها بحث می کنیم. بسیاری از سیاستها هم برای زمانبندی کار و هم برای زمانبندی فرایند مفید است.

اهداف زمانبندی

هر زمانبندی می باید دارای شرایط زیر باشد:

  • عادل باشد. زمانبندی عادل است اگر با تمامی فرایندها بطور یکسان برخورد کند و هیچ فرایندی به مدت نامعین به تأخیر نیفتد.
  • حداکثر توان عملیاتی را داشته باشد. زمانبند باید سعی کند در واحد زمان بیشترین تعداد ممکن از فرایندها را سرویس دهد.
  • تعداد کاربران محاوره ای را با زمان پاسخ قابل قبول افزایش دهد.
  • قابل پیش بینی باشد. هر کار بدون در نظر گرفتن بار سیستم با زمان و هزینة یکسان (قابل پیش بینی) اجرا شود. در واقع چه بار پردازشی سیستم سنگین باشد چه سبک، زمان و هزینه اجرای هر برنامه قابل تخمین باشد.
  • کمترین سرباری را داشته باشد. جالب است که این شرط بطور کلی جزء اهداف مهم زمانبندی نیست. سرباری عموماً منابعی تلف شده تلقی می شود؛ اما بخشی از منابع واقعی سیستم که سرباری را به دنبال دارد، باعث بهبود کارآیی کلی سیستم می شود.
  • استفاده از منابع سیستم را متعادل سازد. روشهای زمانبندی باید بتواند منابع سیستم را مشغول نگه دارد.
  • بین زمان پاسخ و به کارگیری منابع، تعادل ایجاد کند. بهترین راه تضمین زمان پاسخ خوب، داشتن منابع کافی است که در صورت نیاز قابل دسترسی باشد. در سیستمهای بلادرنگ، زمان پاسخ سریع بسیار اساسی و استفاده از منابع از اهمیت کمتری برخوردار است. در انواع دیگری از سیستمها، اغلب، مسائل اقتصادی استفادة مؤثر از منابع را ضروری می سازد.
  • از تأخیر به مدت نامعین بپرهیزد. در بسیاری از موارد، تأخیر به مدت نامعین به اندازة بن بست مشکل ساز است. خودداری از تأخیر به مدت نامعین با افزایش اولویت فرایندهای منتظر (فرایندهایی که منتظر در اختیار گرفتن منابع هستند) امکانپذیر است. سرانجام، اولویت فرایند منتظر آنقدر افزایش می یابد تا موفق به در اختیار گرفتن منبع می شود.
  • اولویتها را اعمال کند. در محیطهایی که فرایندها بر مبنای اولویت مدیریت می شود، زمانبندی می باید به فرایندهای با اولویت بالا مساعدت بیشتری کند.
  • به فرآیندهایی که منابع کلیدی در اختیار دارد، ارجحیت دهد. اگر فرایندی با اولویت پایین منبع کلیدی را در اختیار داشته باشد، ممکن است این منبع توسط فرایندی با اولویت بالا درخواست شود. اگر منبع انحصاری باشد، آنگاه زمانبندی باید رفتار بهتری (سرویس بهتری) با فرایند انجام دهد تا سریعاً منبع کلیدی را آزاد کند (این سرویس بهتر از حالتی است که فرایند مورد نظر، منبع کلیدی را در اختیار داشته باشد).
  • سرویس بهتری به فرایندهایی ارائه کند که رفتار بهتری از خود نشان می دهد. برای مثال آن دسته از فرایندهایی که میزان فراخوانی و جایگزینی صفحة کمتری دارد، سرویس بهتری دریافت کند.
  • وقتی بار سیستم سنگین است، سطح سرویس دهی را برای همه برنامه ها بطور مناسب کاهش دهد. برای مثال در حالتی که بار پردازشی سیستم زیاد است از پذیرش کار جدید خودداری کند.

بسیاری از این اهداف با یکدیگر در تضاد هستند و به همین دلیل طراحی زمانبندی عملی مسأله پیچیده ای است.

معیارهای زمانبندی

برای تحقق اهداف زمانبندی می باید معیارهای زیر را در نظر گرفت:

  • ورودی / خروجی گرا بودن فرایند – وقتی فرایندی cpu را در اختیار می گیرد، آیا قبل از اعلام درخواست برای هر عمل cpu , I/O را به مدت محدود استفاده می کند؟
  • cpu گرا بودن فرایند – وقتی فرایندی cpu را در اختیار می گیرد، آیا تمایل دارد قبل از پایان زمان کوانتوم (برهه زمانی مشخص برای اجرای فرایند) آن را در اختیار داشته باشد؟
  • دسته ای یا محاوره ای بودن فرایند – کاربران محاوره ای عموماً سؤالات کوچک به سیستم می فرستند و انتظار دارند سرویس فوری از سیستم دریافت کنند. تضمین زمان پاسخ خوب توسط سیستم از اهمیت بسیاری برخوردار است. کاربران دسته ای معمولاً هنگام پردازش حضور ندارند و پاسخ را می توانند با تأخیر قابل قبول از سیستم دریافت کنند.
  • اضطراری بودن زمان پاسخ – فرایندهایی که به صورت دسته ای اجرا می شود به زمان پاسخ سریع نیازی ندارد. یک فرایند بلادرنگ که کنترل پالایشگاه را به عهده دارد برای جلوگیری از انفجار به زمان پاسخ سریع (فوری) احتیاج دارد.
  • اولویت فرایندها – فرایندهایی که اولویت بسیار دارد نسبت به فرایندهای با اولویت کم باید از سرویس بهتری برخوردار باشد.
  • میزان تولید خطای صفحه (page fault) توسط فرایند – عموماً ، فرایندهایی که خطای صفحه کمتری تولید می کند مجموعه کاری (working set) خود را در حافظه اصلی زودتر تشکیل می دهد. روش متعارف این است که چنین فرایندهایی از سرویس بهتر برخوردار باشد. دیدگاه دیگر می گوید به فرایندهایی که خطای صفحه بیشتری تولید می کند باید اولویت داده شود تا از زمان cpu بیشتری برای تشکیل مجموعه کاری خود بهره مند شود.
  • پردازندة هر فرایند چند بار توسط فرایند با اولویت بالا گرفته شده است – اینگونه فرایندها می باید از مساعدت کمتری برخوردار باشد.
  • هر فرایند تاکنون چقدر زمان واقعی اجرا دریافت کرده است. برخی از طراحان معتقدند فرایندی که از زمان اجرای کمتری برخوردار بوده است می باید بیشتر مساعدت شود. برخی دیگر اعتقاد دارند فرایندی که زمان اجرای بیشتری دریافت کرده، احتمالاً به زمان تکمیل خود نزدیک شده و لذا بهتر است از مساعدت بیشتری برخوردار شود تا بطور کامل تکمیل گردد و هر چه زودتر سیستم را ترک کند.
  • چقدر زمان برای تکمیل فرایند لازم است – زمان متوسط انتظار را می توان با اجرای فرایندهایی که برای تکمیل آنها زمان کمتری لازم است، کاهش داد. متأسفانه کمتر می توان تشخیص داد که زمان باقیمانده برای تکمیل هر یک از فرایندها چقدر است.

زمانبندی انحصاری در مقابل غیرانحصاری

زمانبندی را انحصاری گویند اگر نتوان cpu را از دست فرایند پس گرفت. زمانبندی را غیر انحصاری گویند اگر بتوان cpu را از دست فرایند آزاد کرد.

زمانبندی غیرانحصاری در سیستمهایی که بر مبنای اولویت (priority) عمل می کند، بسیار مفید است. برای مثال در سیستمهای بلادرنگ نتیجة از دست دادن یک وقفه می تواند ویرانگر باشد. در سیستمهای محاوره ای و اشتراک زمانی، زمانبندی غیرانحصاری برای تضمین زمان پاسخ قابل قبول از اهمیت بسیاری برخوردار است.

انتخاب زمانبندی غیرانحصاری بدون هزینه نیست و بدیهی است که تعویض متن سرباری دارد. برای اینکه زمانبندی غیرانحصاری بطور مؤثر اجرا شود فرایندهای بیشتری می باید در حافظه اصلی نگهداری شود تا عملیات تعویض متن با سرعت بیشتری انجام شود.

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

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

زمانسنج میانی یا ساعت وقفه

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

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

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

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

اولویتها

اولویتها ممکن است بطور خودکار توسط سیستم و یا توسط عوامل خارجی اعمال شود. آنها ممکن است کسب و یا خریداری شود؛ کاملاً ایستا و یا پویا باشد؛ بطور معقول (عقلانی) اختصاص یابد و یا تحت شرایطی که سیستم به تمایز بین فرایندها نیاز دارد بطور غیر معقول اختصاص یابد، لکن دقیقاً مشخص نیست که کدامیک از روشها از اهمیت بیشتری برخوردار است.

اولویتهای ایستا در مقابل پویا

اولویتهای ایستا معمولاً عوض نمی شود. پیاده سازی آنها راحت است و نسبتاً سرباری کمتری دارد.

روشهای اولویت پویا معمولاً تغییرپذیر است. اولویت اولیه به هر فرایند اختصاص می یابد و پس از مدت کوتاهی ممکن است به مقدار بهتر تغییر کند. پیاده سازی الگوهای اولویت پویا پیچیده تر و سرباری آنها بیشتر است. البته سرباری به وجود آمده در این روش با افزایش قابلیت پاسخگویی سیستم قابل توجیه می شود.

اولویتهای قابل خریداری

سیستم عامل باید بتواند سرویس معقولی را برای گروه وسیعی از کاربران فراهم کند و همچنین بتواند انتظارات کاربران محیطهای خاص را تأمین نماید.

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

زمانبندی ضرب الاجل

در زمانبندی ضرب الاجل، برنامه های زمانبندی شده باید در زمان مشخص به پایان برسد. اینگونه برنامه ها اگر بموقع تکمیل شود ارزش بسیاری دارد و اگر با تأخیر تکمیل شود بدون ارزش خواهد بود. کاربر معمولاً تمایل دارد مبلغی را پرداخت کند تا مطمئن شود که سیستم، کارش را بموقع تکمیل می کند. زمانبندی ضرب الاجل بنا به دلایل زیر پیچیده است:

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

زمانبندی FIFO

این زمانبندی شاید یکی از ساده ترین روشهای زمانبندی باشد (شکل 10-2). فرایندها براساس زمان ورودشان به سیستم در صف آماده (ready list) قرار می گیرد. وقتی هر فرایند پردازنده را در اختیار می گیرد، اجرا می شود تا به پایان برسد. بنابراین روشی انحصاری برای زمانبندی است. این روش در حالت عادی به عدالت عمل می کند، لکن در برخی موارد که برنامه های بزرگ معمولاً باعث انتظار برنامه های کوچک می شود غیرعادلانه عمل می کند. زمانبندی FIFO برای سیستمهای محاوره ای مناسب نیست زیرا نمی تواند زمان پاسخ خوبی را تضمین کند.

شکل 10-2) زمانبندی FIFO

روش FIFO در سیستمهای امروزی کمتر به عنوان الگوی اصلی برای زمانبندی به کار گرفته می شود، بلکه این روش معمولاً با الگوهای دیگر ادغام می شود؛ برای مثال، بسیاری از الگوهای زمانبندی فرایندها را بر مبنای اولویت برای پردازنده می فرستند، اما فرایندهای با اولویت یکسان براساس FIFO در اختیار پردازنده قرار می گیرد.

زمانبندی نوبت دوره ای

در روش زمانبندی نوبت دوره ای (شکل 10-3) ، فرایندها به صورت FIFO برای پردازنده فرستاده می شود لکن برای هر فرایند مقدار محدودی از زمان پردازنده به نام برش زمانی اختصاص می یابد. اگر فرایندی قبل از انقضای برش زمانی خودش تکمیل نشود، پردازنده از دست آن فرایند پس گرفته شده و به فرایند منتظر بعدی داده می شود. در این حالت فرایند آزاد شده مجدداً به انتهای صف برگردانده می شود.

شکل 10-3) زمانبندی نوبت دوره ای

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

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید


دانلود با لینک مستقیم


دانلود مقاله کامل درباره سیستم عامل

پاورپوینت-نگاهی کلی به سیستم عامل - در 56 اسلاید-powerpoin-ppt

اختصاصی از سورنا فایل پاورپوینت-نگاهی کلی به سیستم عامل - در 56 اسلاید-powerpoin-ppt دانلود با لینک مستقیم و پر سرعت .

پاورپوینت-نگاهی کلی به سیستم عامل - در 56 اسلاید-powerpoin-ppt


پاورپوینت-نگاهی کلی به سیستم عامل - در 56 اسلاید-powerpoin-ppt

سیستم‌عامل یا سامانهٔ عامل نرم‌افزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل جزء ضروری‌ترین نرم‌افزارهای یک سیستم کامپیوتری است. سیستم‌عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه‌نویسی کاربردی[یادداشت ۱] و یا از طرق فراخوانی‌های سیستم به این خدمات دسترسی دارند. با فراخوانی این واسط‌ها، برنامه‌های کاربردی می‌توانند سرویسی را از سیستم‌عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرم‌افزار مثل واسط خط فرمان یا یک واسط گرافیکی کاربر با سیستم‌عامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموماً واسط کاربری به عنوان بخشی از سیستم‌عامل در نظر گرفته می‌شود. در سیستم‌های بزرگ و چند کاربره مثل یونیکس و سیستم‌های شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستم‌عامل اجرا می‌شود پیاده‌سازی می‌شود. نمونه‌هایی از محبوب‌ترین سیستم‌عامل‌های نوین شامل: اندروید، بی‌اس‌دی، آی‌اواس، لینوکس، اواس ده، کیوان‌اکس، مایکروسافت ویندوز، ویندوز فون و زد/اواس می‌باشند.

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

سیستم‌های بی‌درنگ

سیستم‌های بی‌درنگ یا زمان واقعی یک سیستم عامل چند وظیفه‌ای است که معمولاً بعنوان یک کنترل کننده در یک کاربرد خاص استفاده می‌شوند. سیستم در این حالت می‌بایست در زمانی مشخص و معین حتماً جواب مورد نظر را بدهد. سیستم‌های کنترل آزمایش‌های علمی، تصویربرداری پزشکی، کنترل صنعتی و برخی از سیستم‌های نمایش از این دسته‌اند. هدف اصلی استفاده از سیستم‌های بی‌درنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی می‌باشد. در سیستم‌های بی‌درنگ معمولاً وسایل ذخیره‌سازی ثانویه وجود ندارد و به جای آن از حافظه‌های ROM استفاده می‌شود. سیستم‌عامل‌های پیشرفته نیز در این سیستم‌ها وجود ندارند چرا که سیستم‌عامل کاربر را از سخت‌افزار جدا می‌کند و این جداسازی باعث عدم قطعیت در زمان پاسخ‌گویی می‌شود. سیستم‌هایی که در آن مهلت زمانی[یادداشت ۲] باید پاسخ داده شود را بی‌درنگ سخت و سیستم‌هایی که مهلت زمانی را پشتیبانی نمی‌کنند بی‌درنگ نرم می‌نامند. از کاربرد سیستم‌های بی‌درنگ سخت می‌توان به کنترل موتور یک خودرو (پاسخ با تأخیر می‌تواند نتایج فاجعه‌باری را به همراه داشته باشد) و در سیستم‌های بی‌درنگ نرم می‌توان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخ‌دهی باید سریع باشد اما به حادّی سیستم‌های سخت نمی‌باشد) اشاره کرد

سیستم‌های چند کاربره

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

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

این نوع سیستم‌عامل‌ها، سیستم‌عامل‌های نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا می‌شوند. از قبیل XP,Vista,98,Me که بیشتر محصول شرکت مایکرو سافت می‌باشند.

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

سیستم عاملهایی مثل ناول نت که بیشترین استفاده و امکانات این سیستم عامل برای شبکه می‌باشد.

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

          

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

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

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

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

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

  1. در نگرش پایین به بالا، منابع منطقی (مانند فایل‌ها) و منابع فیزیکی (مانند دستگاه‌های سخت‌افزاری) رایانه را مدیریت و کنترل می‌کند.
  2. در نگرش بالا به پایین، وظیفه سیستم‌عامل این است که یک ماشین توسعه یافته[یادداشت ۳]یا ماشین مجازی را به کاربران ارائه کند تا آنها بتوانند آسان‌تر برنامه‌نویسی نمایند و درگیر پیچیدگی‌های سخت‌افزاری رایانه نشوند.[نیازمند منبع]

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

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

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

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

آمار موجود که مربوط به اوت ۲۰۱۰ می‌باشد به شرح زیر است:

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

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

تاریخچه سیستم عامل

در آغاز

اولین کامپیوترها فاقد سیستم‌عامل بودند. در اوایل سال ۱۹۶۴ فروشندگان کامپیوترهای تجاری ابزار کاملاً گسترده‌ای را برای تسهیل توسعه، زمانبندی، و اجرای کارها روی یک سیستم پردازش دسته‌ای فراهم می‌کردند. برای مثال رایانه تولید شده توسط UNI VAC.

در ابتدا سیستم‌عامل روی مین فریم‌ها مستقر می‌شد و کمی بعد سیستم‌عامل میکروکامپیوترهای ابتدایی که فقط از یک برنامه در هر زمان پشتیبانی می‌کردند و به یک زمانبند بسیار ابتدایی نیاز داشتند. هر برنامه زمانی که در حال اجرا بود تحت کنترل کامل ماشین قرار داشت. چند وظیفه‌ای (اشتراک زمانی) اولین بار در مین فریم‌ها و در ۱۹۶۰ عرضه شد. ابتدا کامپیوترها بسیار بزرگ و جاگیر بودند اما امروزه در کف یک دست جا می‌گیرند.

مین فریم‌ها

میکرو کامپیوترها 

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

سیستم عامل

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

سیستم عامل با ساده ترین تحلیل و بررسی دو عملیات اساسی را در کامپیوتر انجام می دهد :

  • مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را برعهده دارد.پردازنده ، حافظه، فضای ذخیره سازی  نمونه هائی از منابع اشاره شده می باشند .
  • روشی پایدار و یکسان برای دستیابی و استفاده  از سخت افزار را بدو ن نیاز از جزئیات عملکرد هر یک از سخت افزارهای موجود را برای برنامه های کامپیوتری فراهم می نماید 

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

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

سیستم های عامل را از بعد نوع کامپیوترهائی که قادر به کنترل آنها بوده و نوع برنامه های کاربردی که قادر به حمایت از آنها می باشند به چهار گروه عمده تقسیم می نمایند.

  • سیستم عامل بلادرنگ(RTOS). از این نوع سیستم های عامل برای کنترل  ماشین آلات صنعتی ، تجهیزات علمی و سیستم های صنعتی استفاده می گردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه های کاربردی مختص کاربران می باشند.  یکی از بخش های مهم این نوع سیستم های عامل ، مدیریت منابع موجود کامپیوتری بگونه ای است که یک عملیات خاص در زمانی که می بایست ، اجراء خواهند شد. 
  • تک کاربره - تک کاره. همانگونه که از عنوان این نوع سیستم های عامل مشخص است، آنها بگونه ای طراحی شده اند که قادر به مدیریت کامپیوتر بصورتی باشند که یک کاربر در هر لحظه قادر به انجام یک کار باشد. سیستم عامل Palm OSبرای کامپیوترهای PDA نمونه ای مناسب از یک سیستم عامل مدرن تک کاربره و تک کاره است . 

تک کا


دانلود با لینک مستقیم


پاورپوینت-نگاهی کلی به سیستم عامل - در 56 اسلاید-powerpoin-ppt

پاورپوینت-شرح و کنترل فرایند در سیستم عامل- در 50 اسلاید-powerpoin-ppt

اختصاصی از سورنا فایل پاورپوینت-شرح و کنترل فرایند در سیستم عامل- در 50 اسلاید-powerpoin-ppt دانلود با لینک مستقیم و پر سرعت .

پاورپوینت-شرح و کنترل فرایند در سیستم عامل- در 50 اسلاید-powerpoin-ppt


پاورپوینت-شرح و کنترل فراینددر سیستم عامل- در 50 اسلاید-powerpoin-ppt

سیسم های عامل در ابتدا می بایست محدوده های حافظه مورد نیاز هر نوع نرم افزار و برنامه های خاص را فراهم نمایند. مثلا" فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد . سیستم عامل کامپیوتر فرضی ، نیازمند 300 کیلو بایت حافظه است . سیستم عامل در بخش انتهائی حافظه مستقر و بهمراه خود درایورهای مورد نیاز یه منظور کنترل سخت افزار را نیز مستقر خواهد کرد. درایورهای مورد نظر به 200 کیلو بایت حافظه نیاز خواهند داشت . بنابراین پس از استقرار سیستم عامل بطور کامل در حافظه ، 500 کیلو بایت حافظه باقیمانده و از آن برای پردازش برنامه های کاربردی استفاده خواهد شد. زمانیکه برنامه های کاربردی در حافظه مستقر می گردند ، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سیستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک 2 کیلوبایت باشد ، هر یک از برنامه های کاربردی که در حافظه مستقر می گردنند ، تعداد زیادی  از بلاک های فوق را (مضربی از دو خواهد بود) ، بخود اختصاص خواهند داد. برنامه ها در بلاک هائی با طول ثابت مستقر می گردند. هر بلاک دارای محدوده های خاص خود بوده که  توسط کلمات چهار و یا هشت بایت ایجاد خواهند شد. بلاک ها و محدو ده های فوق این اطمینان را بوجود خواهند آورد که برنامه ها در محدوده های متداخل مستقر نخواهند شد.  پس از پر شدن فضای 500 کیلوبایت اختصاصی برای برنامه های کاربردی ، وضعیت سیستم به چه صورت تبدیل خواهد گردید؟

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

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

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

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

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

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

مدیریت تمام منابع موجود در یک سیستم کامپیوتری ، یکی از مهمترین و گسترده ترین وظایف یک سیستم عامل است .

ارتباط سیستم با دنیای خارج

اینترفیس برنامه ها 
سیستم عامل در رابطه با اجرای برنامه های کامپیوتری خدمات فراوانی را ارائه می نماید. برنامه نویسان و پیاده کنندگان نرم افزار می توانند از امکانات فراهم شده توسط سیستم های عامل استفاده و بدون اینکه نگران و یا درگیر جزئیات عملیات در سیستم باشند ، از خدمات مربوطه استفاده نمایند. برنامه نویسان با استفاده از  
API)Application program interface) ، قادر به استفاده از خدمات ارائه شده توسط سیستم های عامل در رابطه با طراحی و پیاده سازی نرم افزار می باشند. در ادامه یه منظور بررسی جایگاه API به بررسی مثالی پرداخته خواهد شد که هدف ایجاد یک فایل بر روی هارد دیسک برای ذخیره سازی اطلاعات است .

برنامه نویسی ، برنامه ای را نوشته که بکمک آن قادر به ذخیره سازی داده های ارسالی توسط یک دستگاه کنترل علمی است . سیستم عامل یک تابع  API با نام MakeFile را یه منظور ایجاد فایل در اختیار برنامه نویس قرار می دهد.  برنامه نویس در زمان نوشتن برنامه از دستوری مشابه زیر استفاده می نماید :

 MakeFile [1,%Name,2]

 دستورالعمل فوق به سیستم عامل خواهد گفت که فایلی را ایجاد که شیوه دستیابی به داده های آن بصورت تصادفی ( عدد یک بعنوان اولین پارامتر ) ، دارای نام مشخص شده توسط کاربر (Name%) و دارای طولی متغیر است . ( عدد 2 ، بعنوان سومین پارامتر) سیستم عامل دستور فوق را بصورت زیر انجام خواهد داد :

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

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

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

 

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

 


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

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

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

به طور کلی ، وظایف سیستم عامل شامل موارد زیر است :
*
استفاده بهینه از منابع و جلوگیری از به هدر رفتن آنها
*
تخصیص و آزاد سازی منابع
*
اداره صف ها و زمان بندی استفاده از منابع
*
حساب داری ( Accounting ) میزان استفاده از منابع
*
ایجاد امنیت ( security )
*
ایجاد ، حذف و اداره فرایند ها
*
ایجاد مکانیسم های ارتباط بین فرایند ها و همگام سازی آنها
*
مدیریت فایل ها و پوشه ها
*
مدیریت حافظه های اصلی و جانبی
*
برقراری امکان دسترسی چندتایی ( Multiaccess ) و اجرای هم روند ( Concurrent ) فرایند ها
*
به اشتراک گذاری منابع ( Resource Sharing )
*
تعیین راهکار هایی برای اداره بن بست ( deadlock ) ها
*
جلوگیری از شرایط رقابتی ( Race Condition ) و تداخل یا در هم قفل شدن ( Interlock ) فرایند ها
*
جلوگیری از گرسنگی ( Starvation )

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

*
یونیکس
*
لینوکس
*
سولاریس (سیستم عامل)
*
بی اس دی
*
مک او اس
*
ام وی اس.
*
ویلز (سیستم عامل)
*
ویندوز اکس‌پی
*
ویندوز 7
*
ویندوز ان‌تی
*
ویندوز سی‌ئی
*
پالم (سیستم عامل)
*
سیمبیان (سیستم عامل)

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

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

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

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

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



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

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

تمام کامپیوترها از سیستم عامل استفاده نمی کنند. مثلا"  اجاق های مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمیکنند. در این نوع سیستم ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه کلید و نمایشگرهایLCD ، در اختیار سیستم گذاشته می گردند. ماهیت عملیات انجام شده در یک اجاق گاز مایکروویو بسیار محدود  و مختصر است، بنابراین همواره یک برنامه در تمام حالات و اوقات اجراء خواهد شد.

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

سیستم عامل با ساده ترین تحلیل و بررسی دو عملیات اساسی را در کامپیوتر انجام می دهد :

مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخیره سازی  نمونه هائی از منابع اشاره شده می باشند .

- روشی پایدار و یکسان برای دستیابی و استفاده  از سخت افزار را بدو ن نیاز از جزئیات عملکرد هر یک از سخت افزارهای موجود را برای برنامه های کامپیوتری فراهم می نماید

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

وظیفه دوم یک سیستم عامل ارائه یک رابط ( اینترفیس ) یکسان برای سایر برنامه های کامپیوتری است . در این حالت زمینه استفاده بیش از یک نوع کامپیوتر از سیستم عامل فراهم شده و در صورت بروز تغییرات در سخت افزار سیستم های کامپیوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چراکه سیستم عامل بعنوان میانجی بین برنامه های کامپیوتری و سخت افزار ایفای وظیفه کرده و مسئولیت مدیریت منابع سخت افزاری به وی سپرده شده است .برنامه نویسان کامپیوتر نیز با استفاده از نقش سیستم عامل بهعنوان یک میانجی بهراحتی برنامه های خود را طراحی و پیاده سازی کرده و در رابطه با اجرای برنامه های نوشته شده بر روی سایر کامپیوترهای مشابه  نگرانی نخواهند داشت . ( حتی اگر میزان حافظه موجود در دو کامپیوتر مشابه نباشد ) . در صورتیکه سخت افزار یک کامپیوتر بهبود و ارتقاء یابد، سیستم عامل این تضمین را ایجاد خواهد کرد که برنامه ها، در ادامه بدون بروز اشکال قادر به ادامه حیات وسرویس دهی خود باشند. مسئولیت مدیریت منابع سخت افزاری برعهده سیتم عامل خواهد بود نه برنامه های کامپیوتری، بنابراین در زمان ارتقای سخت افزار یک کامپیوتر مسئولیت سیستم عامل در این راستا اولویت خواهد داشت . ویندوز 98یاXP یکی از بهترین نمونه ها در این زمینههستند . سیستم عامل های فوق بر روی سخت افزارهای متعدد تولید شده توسط تولیدکنندگان متفاوت اجراء می گردد.  ویندوز 98 قادر به مدیریت و استفاده از هزاران نوع چاپگر دیسک و سایر تجهیزات جانبی است .

سیستم های عامل را از بعد نوع کامپیوترهائی که قادر به کنترل آنها بوده و نوع برنامه های کاربردی که قادر به حمایت از آنها می باشند به چهار گروه عمده تقسیم می نمایند:

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

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

-تک کاربره - چندکاره. اکثر سیستم های عامل استفاده شده در کامپیوترهای شخصی از این نوع می باشند. ویندوز 98 وMacOS  نمونه هائی در این زمینه بوده که امکان اجرای چندین برنامه بطور همزمان را برای یک کاربر فراهم می نمایند. مثلا" یک کاربر ویندوز 98 قادر به تایپ یک نامه با استفاده از یک واژه پرداز بوده و در همان زمان اقدام به دریافت یک فایل از اینترنت نموده و در همان وضعیت محتویات نامه الکترونیکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد.

-


دانلود با لینک مستقیم


پاورپوینت-شرح و کنترل فرایند در سیستم عامل- در 50 اسلاید-powerpoin-ppt