فی لوو

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

فی لوو

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

دانلود تحقیق سیستم عامل

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

دانلود تحقیق سیستم عامل


دانلود تحقیق سیستم عامل

دسته بندی : فنی و مهندسی _ کامپیوتر و آی تی

فرمت فایل:  Image result for word ( قابلیت ویرایش و آماده چاپ

حجم فایل:  (در قسمت پایین صفحه درج شده )

فروشگاه کتاب : مرجع فایل 

 


 قسمتی از محتوای متن ...

مقدمه: سیستم عامل یکی از نرم‌افزارهای سیستم است که به عنوان واسطی بین سخت‌افزار و برنامه‌های کاربردی و کاربران عمل می‌نماید. ویژگی‌ها و وظایف سیستم عامل عبارتند از: الف. کنترل و ایجاد هماهنگی بین برنامه‌های کاربردی مختلف در استفاده از سخت‌افزار. ب. کنترل عملکرد دستگاه‌های مختلف ورودی و خروجی. ج. تخصیص منابع به برنامه‌های مختلف. سیستم عامل برنامه‌ای است که هسته‌ی آن همواره بر روی کامپیوتر، در حالت اجرا قرار دارد. دو هدف اصلی سیستم عامل، ایجاد سادگی برای کاربرد و استفاده‌ی کارا و موثر از کامپیوتر است. فصل اول مفاهیم اولیه 1 .1- سیستم عامل چیست؟ 2 .1- ظهور تدریجی و سیر تکاملی سیستم‌های عامل 3 .1- تکامل سیستم‌ عامل‌های جدید 1 .1- سیستم عامل چیست؟ سیستم عامل بخش مهمی از هر سیستم کامپیوتر است. هر سیستم کامپیوتری را می‌توان به چهار قسمت تقسیم کرد: سخت‌افزار، سیستم عامل، برنامه‌های کاربردی و کاربران سخت‌افزار شامل CPU (یا بطور خلاصه پردازنده)، حافظه و دستگاه‌های ورودی و خروجی است و منابع اصلی کامپیوتر را فراهم می‌کند. برنامه‌های کاربردی مثل کامپایلرها، سیستم‌های بانک اطلاعاتی، بازی‌ها و برنامه‌های تجاری، چگونگی بهره‌برداری از این منابع جهت حل مسائل محاسباتی کاربران را مشخص می‌کند. کاربران مختلفی وجود دارند که می‌خواهند مسائل متفاوتی را حل کنند. بنابراین ممکن است برنامه‌های کاربردی گوناگونی وجود داشته باشند. سیستم عامل، بکارگیری سخت‌افزار را بین برنامه‌های مختلف کاربران، کنترل و تنظیم می‌کند. سیستم عامل مانند یک دولت است. اجزای سیستم کامپیوتری عبارتند از: سخت‌افزار، نرم‌افزار و داده‌ها. سیستم عامل ابزارهایی را براستفاده‌ی بهینه از منابع فراهم می‌کند. سیستم عامل مانند دولت، خودش کار خاصی انجام نمی‌دهد، بلکه فقط محیطی را فراهم می‌آورد که برنامه‌های دیگر به خوبی اجرا شوند. 1 .1 .1- دیدگاه برتر دیدگاه برتر نسبت به کامپیوتر، بر حسب واسطی که مورد استفاده قرار می‌گیرد، فرق می‌‌کند، اغلب کاربران کامپیوتر از PC استفاده می‌کنند که شامل مانیتور، صفحه کلید، ماوس و واحد سیستم است. چنین سیستمی برای یک کاربر تهیه شده است تا از منابع آن برای انجام کارهای بیشتر استفاده کند. در این مورد، سیستم عامل برای سهولت استفاده طراحی شد، ولی نگاهی به کارایی داشت، اما به بهره‌وری منابع پرداخته نشد. کارایی برای کاربر مهم است، ولی بخش زیادی از سیستم بیکار می‌ماند و منتظر سرعت I/O کاربر است. بعضی از کاربران از پایانه‌هایی استفاده می‌کنند که به کامپیوتر بزرگ یا مینی کامپیوتر وصل هستند. کاربران دیگر نیز از طریق پایانه‌های دیگر به این کامپیوتر دسترسی دارند. این کاربران از منابع به طور مشترک استفاده می‌کنند و اطلاعات را مبادله می‌نمایند. سیستم عامل طراحی شد تا بهره‌وری منابع را افزایش دهد. بدین ترتیب، کل زمان پردازنده‌، حافظه و I/O به طور کارآمد مورد استفاده قرار می‌گیرند. کاربران دیگر از

تعداد صفحات : 78 صفحه

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

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

 
« پشتیبانی فروشگاه مرجع فایل این امکان را برای شما فراهم میکند تا فایل خود را با خیال راحت و آسوده دانلود نمایید »
/images/spilit.png
 

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


دانلود تحقیق سیستم عامل

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

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

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


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

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

 

 نرم افزار

 سیستم عامل 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

در ادامه با توجه به شناخت مناسب بوجود آمده در دررابطه با انواع سیستم های عامل به عملیات و وظایف سیستم عامل اشاره می گردد.

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

پس از روشن نمودن کامپیوتر، لولین برنامه ای که اجراء می گردد ، مجموعه دستوراتی می باشند که در حافظه ROM ذخیره و مسئول بررسی صحت عملکرد امکانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و سایر عناصر سخت افزاری را بررسی خواهد کرد . پس از بررسی موفقیت آمیز برنامه POST ، در ادامه درایوهای ( هارد ، فلاپی ) سیستم فعال خواهند شد. در اکثر کامپیوترها  ، پس از فعال شدن هارد دیسک ، اولین بخش سیستم عامل با نام Bootstrap Loader فعال خواهد شد. برنامه فوق صرفا" دارای یک وظیفه اساسی است : انتقال ( استقرار ) سیستم عامل در حافظه اصلی و امکان اجرای آن . برنامه فوق عملیات متفاوتی را بمنظور استفرار سیستم عامل در حافظه انجام خواهد داد.

سیستم عامل دارای وظایف زیر است :

  • مدیریت پردازنده
  • مدیریت حافظه
  • مدیریت دستگاهها ( ورودی و خروجی )
  • مدیریت حافظه جانبی
  • اینترفیس برنامه های کاربردی
  • رابط کاربر

وظایف شش گانه فوق ، هسته عملیات در اکثر سیستم های عامل است . در ادامه به تشریح  وظایف فوق اشاره می گردد :

 مدیریت پردازنده

مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :

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

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

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

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

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

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

تمام اطلاعات مورد نیاز بمنظور مدیریت یک پردازه در  ساختمان داده ای خاص با نام PCB)Process Control Block) ، نگهداری می گردد. پردازنده در زمان سوئیچ بین پردازه ها ، از آخرین وضعیت هر پردازه  با استفاده از اطلاعات ذخیره شده در PCB آگاهی پیدا کرده و در ادامه زمینه اجرای پردازه مورد نظر بر اساس تعداد سیکل های در نظر گرفته شده فراهم خواهد شد. برای هر پردازه یک PCB ایجاد و اطلاعات زیر در آن ذخیره خواهد گردید :

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

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

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

یکی از روش هائی که طراحان سیستم عامل از آن استفاده تا امکان ( شانس) تحقق Thrashing را کاهش  دهند ، کاهش نیاز به پردازه های جدید برای انجام فعالیت های متفاوت است . برخی از سیستم های عامل ازیک  " پردازه -lite " با نام Thread استفاده می نمایند.  Thread از لحاظ کارآئی همانند یک پردازه معمولی رفتار نموده ولی نیازمند عملیات متفاوت ورودی و خروجی و یا ایجاد ساختمان داده PCB مشابه یک پردازه عادی نخواهد بود. یک پردازه ممکن است باعث اجرای چندین Threads و یا سایر پردازه های دیگر گردد. یک Thread نمی تواند باعث اجرای یک پردازه گردد.

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

مدیریت حافظه و فضای ذخیره سازی

سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد :

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

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

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

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

مدیریت دستگاهها

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

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

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

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

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

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

اینترفیس برنامه ها

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

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


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


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

دانلود تحقیق درمورد سیستم عامل

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

دانلود تحقیق درمورد سیستم عامل


دانلود تحقیق درمورد سیستم عامل

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

 

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

به طور کلی نرم افزارهای کامپیوتر به دو گروه تقسیم می‌شوند:

یکی برنامه‌های سیستمی که عملیات کامپیوتر را مدیریت می‌کنند و دیگری برنامه‌های کاربردی .سیستم عامل (operating system=os) اصلی ترین برنامه سیستمی است که به عنوان رابط بین کاربر و سخت افزار کامپیوتر عمل می‌کند .


سیستم عامل دو وظیفه (یا هدف) اصلی دارد:

  • سیستم عامل استفاده از کامپیوتر را ساده می‌سازد. این بدان معناست که مثلاًکاربر یا برنامه نویس بدون درگیر شدن با مسائل سخت افزاری دیسکها به راحتی فایلی را بر روی دیسک ذخیره و حذف کند . این کار در واقع با به کاربردن دستورات ساده‌ای که فراخوان های سیستمی (System Calls) را صدا می‌زنند انجام پذیرد .

در صورت عدم وجود سیستم عامل کاربرو یا برنامه نویس می‌بایست آشنایی کاملی با سخت افزارهای مختلف کامپیوتر (مثل مونیتور ,فلاپی , کی بورد و غیره) داشته باشدو روتین‌هایی برای خواندن و یا نوشتن آنها به زبانهای سطح پائین بنویسد. از این جنبه به سیستم عامل با عنوان ماشین توسعه یافته(Extended machine) یا ماشین مجازی (Virtual machine) یاد می‌شود که واقعیت سخت افزار را از دید برنامه نویسان مخفی می‌سازد.

  • وظیفه دوم سیستم عامل مدیریت منابع(Resource Management) می‌باشد, یعنی سیستم عامل باعث استفاده بهینه و سودمند (اقتصادی) از منابع سیستم می‌گردد. منظور از منابع پردازنده‌ها ,حافظه‌ها ,دیسکها,ماوس ها , چاپگرها , فایلها , پورتها و غیره هستند. یک سیستم کامپیوتری منابع نرم افزاری و سخت افزاری بسیار دارد که ممکن است در حین اجراء برنامه لازم باشند , سیستم عامل همانند مدیر منابع عمل کرده و آنها را بر حسب نیاز به برنامه‌های مشخصی تخصیص می‌دهد.

سیستم عامل معمولا اولین برنامه‌های است که پس از بوت شدن در حافظه بار می‌شود. پس از بار شدن قسمتی از سیستم عامل بطور دائم در حافظه باقی (Resident)می‌ماند. قسمتهای دیگر با توجه به کاربرد کامپیوتر توسط کاربر از دیسک به حافظه آورده می‌شود.


به قسمت اصلی سیستم عامل که وظایف مهم آن را انجام می‌دهد هسته یا Kernel گفته می‌شود. هسته سیستم عامل برنامه‌ای است که در تمامی اوقات بر روی کامپیوتر در حال اجراست.

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

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

تطابق تکنیکهای سیستم عامل با نسل های کامپیوتر:

در نسل اول کامپیوترها (55-1945) که از لامپ خلأ برای ساخت آنها استفاده می‌شد,زبانهای برنامه نویسی (حتی اسمبلی)ابداع نشده بودند و سیستم عامل نیز اصلاً وجود نداشت . روند کار به این صورت بود که برنامه نویسان تنها در یک فاصله زمانی مشخص حق استفاده از کامپیوتر بزرگ و گران قیمت را داشتند.

آنها برنامه‌های خود را توسط تخته مدار سوراخدار (و بعدها توسط کارتهای پانچ) و به زبان ماشین به کامپیوتر می‌دادند. اکثر برنامه‌های محاسبات عددی معمولی مانند جداول سینوس و کسینوس بود.

  ساختار سیستم عامل:

پردازش و زمابندی:

 

انواع زمانبندی ها:

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

سیستم اشتراک زمانیTime sharing


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

 .
در سیستم‌های چند برنامگی کاربر ارتباطی با کامپیوتر نداشت و خطایابی برنامه‌ها مشکل بود چرا که زمان برگشت نسبتاً طولانی اجازه آزمایش کردنهای متعدد را نمی‌داد. در سیستم اشتراک زمانی کاربر به کمک دو ترمینال (Terminal) که شامل کی بورد(برای ورودی) و مونیتور (برای خروجی ) است با کامپیوتر به صورت محاوره‌ای (interactive) رابطه بر قرار می‌سازد.

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

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

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


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


دانلود تحقیق درمورد سیستم عامل

تحقیق در مورد سیستم عامل

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

تحقیق در مورد سیستم عامل


تحقیق در مورد سیستم عامل

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

تعداد صفحه253

فهرست مطالب

فصل اول

 

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

 

اجزای مختلف کامپیوتر

 

سیستم های دسته ای Batch Systems

 

سیستم های چند برنامگی Multiprogramming

 

سیستم های Spooling

 

سیستم های اشتراک زمانی Time- Sharing

 

سیستم عاملهای کامپیوترهای شخصی و شبکه

 

سیستم های توزیع شده Distributed Systems

 

نخ(thread) و سیستم های multitasking

 

سیستم های چند پردازنده ای(multiprocessor)

 

ج) تحمل پذیری در برابر خطا(fault- tolerant).

 

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

 

برنامه های کاربردی(حسابداری، مرورگر وب و...)

مفسر فرمان، مترجم ها، ادیتورها

سیستم عامل

زبان ماشین

ریز برنامه نویسی

دستگاه های فیزیکی

 

 

 

در بسیاری از سیستم ها هنگام اجرا دستورات ماشین، ابتدا این دستورات توسط یک ROM به یک سری دستورالعمل های ایتدایی تر به نام ریز دستور یا میکرو کد تبدیل شده و سپس توسط سخت افزار اجرا می گردند که به این ماشین ها CISC(Complex Instruction Set Computer) گفته می شود. در بعشی از کامپیوترها به نام RISC(Reduced Instruction Set Computer) این سطح ریز برنامه نویسی وجود نداشته و دستورات زبان ماشین مستقیما توسط سخت افزار اجرا می گردند. تعداد دستورات ماشین های RISC کمتر از کامپیوترهای CISC می

 


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


تحقیق در مورد سیستم عامل